This is a collection of Python and Machine Learning resources that are aimed to provide continuous learning of concepts through practical code examples, different use cases and links to further readings.
It is a Help Book because you may change or add the code to see how different aspects correlate with each other and test it out using assertions. Altogether it will make your learning process to be much more interactive and expose you to very high code quality from beginning.
-
Python
-
Machine Learning
Python is an interpreted, high-level and general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python's design philosophy emphasizes code readability with its notable use of significant whitespace.
Python's expansive library of open source data analysis tools, web frameworks, and testing instruments make its ecosystem one of the largest out of any programming community.
Python is an accessible language for new programmers because the community provides many introductory resources. The language is also widely taught in universities and used for working with beginner-friendly devices such as the Raspberry Pi. Python's programming language popularity
Several programming language popularity rankings exist. While it's possible to criticize that these guides are not exact, every ranking shows Python as a top programming language within the top ten, if not the top five of all languages.
The IEEE ranked Python as the #1 programming language in 2019, which continued its hot streak after ranking it #1 in 2018, #1 in 2017 and #3 top programming language in 2016. RedMonk's June 2019 ranking had Python at #3, which held consistent from previous years' rankings in 2018 and 2017.
Now I am going to share more details on why Python is popular among job seekers.
Software related services provide employment to millions of people across the globe. Candidates are recruited for different roles in software development. Here below I have listed some of the roles from the software industry where Python skills are important.
Python developer/engineer: As a Python developer, you will get the opportunity to work in different jobs. You will be working on the design and development of front end and back end components. You can work on website development with exposure to Django framework or flask framework. Exposure to Databases such as MySQL, MongoDB is desirable with SQL knowledge.
Python automation tester: Software testers can use Selenium with Python and pytest for testing Automation.
Machine learning is an application of artificial intelligence (AI) that provides systems the ability to automatically learn and improve from experience without being explicitly programmed. Machine learning focuses on the development of computer programs that can access data and use it learn for themselves.
This is my multi-month study plan for going from mobile developer (self-taught, no CS degree) to machine learning engineer.
My main goal was to find an approach to studying Machine Learning that is mainly hands-on and abstracts most of the Math for the beginner. This approach is unconventional because it’s the top-down and results-first approach designed for software engineers.
Please, feel free to make any contributions you feel will make it better.
I'm following this plan to prepare for my near-future job: Machine learning engineer. I've been building native mobile applications (Android/iOS/Blackberry) since 2011. I have a Software Engineering degree, not a Computer Science degree. I have an itty-bitty amount of basic knowledge about: Calculus, Linear Algebra, Discrete Mathematics, Probability & Statistics from university. Think about my interest in machine learning:
- Can I learn and get a job in Machine Learning without studying CS Master and PhD?
- "You can, but it is far more difficult than when I got into the field." Drac Smith
- How do I get a job in Machine Learning as a software programmer who self-studies Machine Learning, but never has a chance to use it at work?
- "I'm hiring machine learning experts for my team and your MOOC will not get you the job (there is better news below). In fact, many people with a master's in machine learning will not get the job because they (and most who have taken MOOCs) do not have a deep understanding that will help me solve my problems." Ross C. Taylor
- What skills are needed for machine learning jobs?
- "First, you need to have a decent CS/Math background. ML is an advanced topic so most textbooks assume that you have that background. Second, machine learning is a very general topic with many sub-specialties requiring unique skills. You may want to browse the curriculum of an MS program in Machine Learning to see the course, curriculum and textbook." Uri
- "Probability, distributed computing, and Statistics." Hydrangea
Understand basic concepts, learn Python, and be able to differenciate Machine Learning, Data Mining and Deep Learning
- Introductions
- Get started with Python
- Syntax, data types, strings, control flow, functions, classes, exceptions, networking, asynchronous task, function decorator, annotation, context manager, multiprocessing etc......
- Machine Learning Resources for Getting Started
-
Online Video Course
- Build Intelligent Applications (Python)
- Stanford Machine Learning (Octave)
-
Overview Papers
-
Beginner Machine Learning Books
-
Complete at least the Online Video Course
-
Start a small project for creating a Python Web Crawler application and a RestFul Service to explore data stored
-
Learn Neural Networks and understand Deep Learning
-
Online Video Courses
-
Books
-
Papers
-
Study one of the Machine Learning Dataset from data.gov
- Clearly describe the problem that the dataset represents
- Summarize the data using descriptive statistics
- Describe the structures you observe in the data and hypothesize about the relationships in the data.
- Spot test a handful of popular machine learning algorithms on the dataset
- Tune well-performing algorithms and discover the algorithm and algorithm configuration that performs well on the problem
-
Design small experiments using the Datasets for studying Linear Regression, or Logistic Regression, then answer a specific question and report results
-
Try to port an open source algorithm code from one language to another
Get to know the Python Frameworks for Deep Learning, and focus on TensorFlow
- Study Neural Networks in Python
- Implementing a Neural Network from scratch in Python
- A Neural Network in 11 lines of Python
- Get familiar with the Neural Networks libraries
- Caffe, a deep learning framework made with expression, speed, and modularity in mind
- Theano, CPU/GPU symbolic expression compiler in python
- TensorFlow, an open source software library for numerical computation using data flow graphs
- Lasagne, a lightweight library to build and train neural networks in Theano
- Keras...... check the links below:
- Deep Learning Software Links
- Check rest of Deep Learning Libraries by Language
- Deep Learning With Python
- Study TensorFlow
- Study Keras, a high-level neural networks library, which allows for easy and fast prototyping (through total modularity, minimalism, and extensibility)
- Books
- Videos
- Code Samples
- TensorFlow knowledge points
- Graph, Session, Variable, Fetch, Feed, TensorBoard, Playground, MNIST Practice, APIs
- Linear Regression, Logistic Regression Modeling and Training
- Gradients and the back propagation algorithm, Activation Functions
- CNN, RNN and LSTM, DNN
- Unsupervised Learning, Restricted Boltzmann Machine and Collaborative Filtering with RBM
- Auto-encoders, Deep Belief Network, GPU programming and serving

