Tools of the trade
In my endeavours regarding ML & DL, I've stumbled upon people saying that they can't learn or do ML, as their machines are old and slow. Fortunate enough, Google, who's investing and pioneering this field (and many other), decided to give everyone a chance, for free, by releasing the Google Colab website, which features a Jupyter Notebook (Python IDE designed for different task and with a different approach then the usual programming IDEs) and can be accessed by clicking here -> https://colab.research.google.com/ . All you need is a Google (GMail account) and you're good to go.
You can learn more about Jupyter Notebook and how to use it through Corey Schafer's channel (a great YouTube channel focused on programming languages, Python especially). See video below:
The Python libraries I will be using are, first of all, industry standard, so there's nothing out of the ordinary and you'll find these libraries mentioned in any book and any other website that deals with this topic, as they're very good.
1. Numpy - the best description I could find about Numpy I took it from the official website: "NumPy is the fundamental package for scientific computing with Python." You'll be using Numpy mainly as a base, as a fundamental library for all the other libraries, as Numpy can do linear algebra and calculus math in a very quick manner. You can read more on https://numpy.org/
2. Pandas - stands for Python Data Analysis Library and is derived from "panel data", ergo PanDa(s). From the Pandas website - "pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool, built on top of the Python programming language": https://pandas.pydata.org/
Pandas can easily replace Excel when it comes to data exploration, as it can deal with thousands of lines of data very fast. The downside is the steep learning curve and the fact that it's not visual appealing as Excel. But if speed is an important factor (and also the ability to deal with more than 65,000 lines), the Pandas is your weapon of trade.
3. Matplotlib - a very good library, especially for visualising data. There are now more powerful and visually appealing libraries, but you'll find many tutorials and books that use Matplotlib, so I suggest stick to Matplotlib, especially as a beginner. You can read more about it on the official page: https://matplotlib.org/
4. And the most important library I'll be using is Tensorflow, Google's ML & DL library. Most of the AI you'll find in any Android phone is heavily relying on this library, which means with enough patience and determination, you'll be able to develop similar systems to Google Assistant. In September 2019, Google released Tensorflow 2.0, which greatly improves the usability and readibility of Tensorflow, making it easier and also expands on Keras, the API on top of Tensorflow, with which you can create prototypes faster for your ML/DL models. You can read more about Tensorflow of the official page: https://www.tensorflow.org/ and also about Keras and what makes it so special (and easy to use) here: https://keras.io/
Now, I know there are many other libraries and programming languages with which one can build or learn about ML models, but these are the ones I'll be using for now, as a beginner, due to the reasons that I've mentioned at the beginning: they're industry standard.
My next post will be more about the underlying details of an ML model on what other sub fields one should study in order to apprehend the subject.







Comments
Post a Comment