Machine Learning (ML) is a pivotal application of Artificial Intelligence technology and has an enormous potential in a variety of areas including healthcare, business, education, and more.
The fact that ML is still in a nascent stage and has several imperfections/flaws can make it difficult to wrap your head around its fundamentals. However, studying and working on a few basic projects on the same can be of great help. So here are a few to get you started:
1. Stock Prices Predictor
A system that can learn about a company’s performance and predict future stock prices is not only a great application of Machine Learning (ML) but also has value and purpose in the real world. Before you proceed, be sure to acquaint yourself with the following:
- Statistical Modeling: Constructing a mathematical description of a real-world process that accounts for the uncertainty and/or randomness involved in that system.
- Predictive Analysis: It uses several techniques such as data mining, artificial intelligence, etc. to predict the behavior of certain outcomes.
- Regression Analysis: It’s a predictive modeling technique which learns about the relationship between a dependent i.e. the target and independent variable (s) i.e. the predictor. For example understanding the impact of yearly experience on salary.
- Action Analysis: Analyzing the actions performed by the above-mentioned techniques and incorporating the feedback into the machine learning memory.
The first thing you need to get started is select the data types that are to be used such as current prices, EPS ratio, volatility indicators, etc. Once this has been taken care of, you can select the data sources. For instance, Quandl offers organized financial and economic data. You can download the stock data of several thousand companies in multiple formats such as xml, csv, etc. from here. Similarly, Quantopian offers an excellent trading algorithm development support that you can check out. Now, you can finally plan on how to backtest and build a trading model. Note that you need to structure the program in a way that it’s able to validate the predictions quickly as financial markets are usually quite volatile and the stock prices can change several times a day.
What you want to do is connect your database to your machine learning system that is fed new data on a regular basis. A running cycle can compare the stock prices of all the companies in the database over the past 15 years or so and predict the same for the near future i.e. 3 days, 7 days, etc, and report on the display.
2. Sentiment Analyzer
A sentiment analyzer learns about the “sentiment” behind a text (think emails, IMs, social media posts, etc.) through machine learning and predicts the same using Artificial Intelligence (AI). The technology is being increasingly used on social media platforms such as Facebook and Twitter for learning user behavior, and also by businesses that want to automate lead generation by determining how likely a prospect is to do business with them by reading into their emails.
One innovation that you will need to learn about in this project is classifiers. You can, however, choose any particular model that you are comfortable with, such as Maximum Entropy Classifier or Naïve Bayes Classifier.
You can go about the project your way. However, you would ideally need to classify the texts into three categories- positive, neutral, and negative. You can extract the different texts for a particular keyword and run the classifier on each to obtain the labels. For features, you can use diagrams or even dictionaries for higher accuracy.
3. Sports Matches Predictor
Using the basic working model of machine learning you can also create a system that can predict the results of sports matches such as cricket, football, etc.
The first thing you need is to create a database for whichever sports you are considering. Irrespective of what you choose, you will most likely need to find the records of the scores, performance details, etc. on your own, manually. Using Json for this, however, could be a good idea as it can easily capture the advanced parameters that are involved in a game and help in making more accurate predictions.If you are well-versed in Python, then Scikit-Learn is your best bet to create the system. It offers a variety of tools for data mining, regression analysis, classifications, etc. You can use human analysis such as Vegas lines along with some advanced parameters such as Dean Oliver’s four factors to get best prediction results.
There are many beginner-level Machine Learning projects like the ones above that you can study. However, it will help if you make yourself familiar with the following first:
Machine Learning Tools: An environment that offers ML tools for data preparation, a variety of ML algorithms, and is capable of presenting the results of the programs, can be a good starting point when you want to get to the core of ML and understand how different modules work together. For instance, Weka, waffles, etc. are some of the excellent environments to start with.
Machine Learning Datasets: AI and ML use a variety of datasets. However, you can just pick one and choose an algorithm that works the best for it. Then you can use an ML environment to observe it closely. You can also change the algorithms to see how they affect the datasets. Machine Learning can only be mastered with a lot of experimentation and practice. While delving into the theory can surely help, it’s the application that will facilitate your progress the most.2