![]() |
|
View Poll Results: Which language(s) have you used for homework here? | |||
Matlab or Octave |
![]() ![]() ![]() ![]() |
11 | 37.93% |
S or R |
![]() ![]() ![]() ![]() |
6 | 20.69% |
Python |
![]() ![]() ![]() ![]() |
15 | 51.72% |
Perl |
![]() ![]() ![]() ![]() |
0 | 0% |
C |
![]() ![]() ![]() ![]() |
0 | 0% |
Java |
![]() ![]() ![]() ![]() |
1 | 3.45% |
C++ |
![]() ![]() ![]() ![]() |
2 | 6.90% |
Mathematica |
![]() ![]() ![]() ![]() |
1 | 3.45% |
Fortran |
![]() ![]() ![]() ![]() |
0 | 0% |
Other (awk, PL/I, Pascal, Forth, APL, etc.) |
![]() ![]() ![]() ![]() |
2 | 6.90% |
Multiple Choice Poll. Voters: 29. You may not vote on this poll |
![]() |
|
Thread Tools | Display Modes |
#11
|
|||
|
|||
![]() Quote:
My experience is that Python is a powerfull lang with a large number of libraries for scientific applications that are very fast in handling large amount of data. Examples of some "fast packges for python" are: numpy that supports efficient handling of very large matrix/arrays (including statistics functions) and scikit_learn that supports machine learn. |
#12
|
|||
|
|||
![]()
I have used Haskell for the exercises so far, as it's the main language I've experimented with previously.
I have a little concern that if I end up needing help with something, it may be unfamiliar for others to interpret, and similarly I have no experience with Python (although I do with C++.) |
#13
|
|||
|
|||
![]()
I'm using Python; but also, the Emacs Org Mode -- a system for writing "live" text documents that can include LaTeX as well as executable chunks of code.
More info at http://www.jstatsoft.org/v46/i03 . I'll eventually post a better description, but basically this lets you write up a document that intermingles discussion (including LaTeX) and executable code, and can export the document so that both the code and results of its execution are included in the export. |
#14
|
|||
|
|||
![]()
I am using Clojure. Anybody else? I had however to write a script to use Octave for the quadratic programming package for SVMs. I don't think Incanter has something like that. Lemme know.
|
#15
|
|||
|
|||
![]()
Now that I have completed the course (03/2013) I can say that R can be used quite nicely to solve all the homeworks.
One word of advice I'd like to give future students when using packages to solve homeworks is that if you don't know exactly what the package is doing then you should consider using a lower level function call or package - you'll get more accurate answers and learn more in the practice as well. For example, I generally got fewer errors using the QP function of kernlab to solve my SVMs than if I used the svm function itself; and at one point I got greedy and used a built-in cross-validation mechanism instead of implementing one myself and totally bombed out on several questions in the homework. |
#16
|
|||
|
|||
![]()
I agree with Haowen, both on the suitability of R and the necessity of using lower-level functions rather than builtins. Using R allows you to visualize what you're doing, which for a number of homework problems is invaluable in debugging.
|
#17
|
|||
|
|||
![]()
I strongly considered it, but ended up going with Python. Python + numpy + scikit-learn turned out to be a great platform for this course.
If I had time, I'd go back and do the homeworks again in Clojure. |
#18
|
|||
|
|||
![]()
I used R for programming, it was fun!
|
#19
|
|||
|
|||
![]()
I used Octave for all the exercises except SVM. For SVM I compiled svm.cpp and .h and called it's APIs from C++. I've been working in C++ for many years so it was not too hard but for the RBF problem I had to implement matrix multiplication, inverse and transpose operations. For that I used IPP (Intel Performance Primitives library for matrix operations).
I thought C++ programs were faster. For example, I could run problem 18 from final 1,000,000 times overnight with 1,000 points in the training set and 10,000 points in the test set for each iteration. Again I don't have any other reference to compare with. Also not sure if anybody tried with larger number of iterations. I am curious to look at R as lot of people have suggested it. I learned Octave just few months back when I had taken Prof. Andrew's ML course. I thought it was friendly for doing the matrix operations that we have to do in C/C++ the hard way. |
#20
|
|||
|
|||
![]()
Using C++. It is efficient and allows running extensive tests with relatively low cost (processing time). C++ is also convenient for organization of the code and for debugging.
In rare cases, when I had to use quadporg of MATLAB, I called MATLAB functions from C++ using MATLAB engine. This was not trivial in the first time, but once you have done it, there is not a problem to incorporate MATLAB anywhere you need. |
![]() |
Thread Tools | |
Display Modes | |
|
|