6 ms·
Show HN: Python Machine Learning – A Crash Course
- WilliamEdward 7y agoI swear an AI crash course gets posted to HN every other day..
- girlsrule1234 7y agoIt certainly does seem that way, especially with python. I wouldn’t be opposed to a fun tutorial in a different language. Also not trying to be pedantic (is anyway) but ... should always have three .’s. (I learned that recently)
- kitaiyuki 7y agoAlso not trying to be pedantic, but… it should be just one character (ellipsis).
- MiroF 7y agoNot trying to be pedantic, but the "Also" in your third sentence should be followed by a comma. Wait, that was annoying and didn't contribute to the discussion. Huh, really makes you think.
- girlsrule1234 7y agoHey, well, at least my comment also added input to the conversation. You could have let it be, but instead you derailed things further. All good, I learned something new about ellipsis + periods from someone else’s response.
- deleted 7y ago[deleted]
- rytill 7y agoActually, if it's at the end of a sentence, it should have four '.'s. Three for the ellipsis, and one for the end of the sentence....
- ackbar03 7y agoI have to agree actually. If one is actually serious in wanting to learn this stuff he really should just do a Google search, there doesnt really need to be anymore of these
- faizshah 7y agoReally nice series of tutorials that are code-focused! I think one of the things that surprised me most about ML is how simple a lot of the code is.
- EForEndeavour 7y agoThe code itself is indeed simple, thanks to the combined efforts of very smart and capable researchers and developers across the world. But the time taken to write the actual code to perform ML is negligible compared to: - choosing the right algorithm(s) for the specific task and data at hand - tuning hyperparameters - interpreting preliminary results and/or the output of statistical tests - chasing down and cleaning data(!!) - deploying the resulting ML pipeline into something more maintainable than a GitHub repo of inconsistently named Jupyter Notebooks strewn with hardcoded paths to CSV files and dangerously obsolete documentation written by employees who have since left your company.
- deskamess 7y agoDo you have any references that could help with 'choosing the right algorithm'? That seems to be something that comes with experience, or knowing how a particular algorithm works, or more importantly, does not work.
- faizshah 7y agoThis one has been recommended to me a lot: https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html https://scikit-learn.org/stable/tutorial/machine_learning_ma... But I agree I wish there was more resources on that, it seems to be just a trial and error process.
- gchamonlive 7y agoFor my final project in control engineering I was tasked with writing a couple of ml algorithms and rank them to suggest the best one. The code I was working on was not good at all and all the data was being processed in Matlab, so I spent all the project refactoring and proposing a viable solution to using python as a math backend for the java application. Anyways I had to research a little into the subject and what I found is that there isn't a straightforward approach to choosing algorithms. I could be mistaken, but I believe the best approach for you would be to get intimate knowledge from every ml algorithm and maybe use a cheatsheet to guide you, but ultimately only knowing well your data set (distribution of classes, occurrences, which traits are better for which categorization you want to do etc..) will bring you farther than looking for a recipe for choosing an algorithm.
- dhfromkorea 7y agoReally nice! One suggestion would be to have a list of resources for slightly more theoretical materials, so curious students can be exposed to deeper parts of ML (of course, such materials need links to applied tutorials like this). Perhaps can be done through the pull requests of the community.
- rahimnathwani 7y agoThe tutorials introduce how the different algorithms work, but the code just uses the libraries rather than implementing what's in the library from primitive operations. For me, this type of tutorial doesn't stick. I found the explanations in Joel Grus' book, which were accompanied by succinct, idiomatic Python implementations of the algorithms, much easier to understand.
- Buetol 7y agoSpeaking of Machine learning, I love the docker images of tensorflow. Got Tensorflow running with an IPython UI in less than 2 min with only one command just 5 minutes ago: >> docker run -it --rm -v $(realpath ~/notebooks):/tf/notebooks -p 8888:8888 tensorflow/tensorflow:latest-py3-jupyter
- WrtCdEvrydy 7y agoYou can actually add nightly-gpu-py3-jupyter if you'd like GPU level tensorflow as well :D
- Buetol 7y agoYup but it also needs the nvidia-docker image for the driver, but got it working in less than 10 minutes too !
- krick 7y agoI wonder if there is some course that would cover a bit more advanced topics in a comprehensible manner. There are hundreds of courses/books/tutorials that cover pretty much the same stuff again and again. General ML: supervised vs unsupervised, K-means clustering, linear regression, logistic regression, maybe several enseble learning methods based on trees. NNs: backpropagation, gradient descent, tensorflow, a bit about meta-param selection, CNNs (basically, just ImageNet), sometimes RNNs are mentioned. This is all pretty entry-level and covered many times over, but, surprisingly, that's pretty much it. Discussion of models pretty much stops at ImageNet. I rarely see RBM or autoencoder, and pretty much nothing about how real problems are encoded into inputs and outputs. I am ashamed to admit, but I still don't really understand how AlphaZero, AlphaStar or various language models (GPT, BERT) really work. Is there something good on that, maybe?
- zoomablemind 7y agoNice tutorials and reference resources. One note, which may be confusing for beginning learners: why to choose one fitting method (e.g. least squares) over another (e.g. gradient descent)? Especially so, as libraries often pack a lot of alternatives.