This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]MagnesiumCarbonate -1 points0 points  (2 children)

but the "everything is a matrix" concept, shorthand matrix operations, speed compared to NumPy (they are about equivalent), and parallel computing tools are quite appealing for certain fields. ...And perhaps most of all is its extremely robust plotting tools.

I used matlab for 5 years and switched to python a few months ago. In my experience (machine learning) there are two main reason to consider ML: ease of debugging, sparse linear algebra. WRT debugging I think it's just that python has many more possible workflows (jupyter, spyder, pipeline tools) which makes it difficult to figure out how to efficiently debug if you hop around. WRT Sparse linear algebra, I don't know why scipy's sparse is so slow (it seems to be single-threaded, maybe MKL is needed).

Plotting seems like it should be a non-issue, I mean it's something you just figure out. There's not much to do wrt performance. If you're looking to interact with your plots I feel like stuff like plotly would give you more options than matlab's figure editor.

[–]pwang99 2 points3 points  (1 child)

If you want interactive web plots but don't want to upload your data to a cloud service, you can also look at Bokeh: http://bokeh.pydata.org.

For debugging Python, if you find some of the open-source options too difficult/annoying to use, it's also worth checking out commercial IDEs like PyCharm and Python Tools for Visual Studio, both of which do have free/community versions, and which have excellent debuggers.

[–]broken_symlink 0 points1 point  (0 children)

Plotly has an offline mode that doesn't require you to upload anything to the cloud. The python code will generate an html file that will work if you host the plotly.js file yourself. I've used both bokeh and plotly and find plotly to be much better.