## What are prerequisites of machine learning? How to get started with machine learning?

In this tutorial we will explains you the prerequisite of machine learning and tell you the technologies you should first learn before starting machine learning.

Machine learning is latest is programming and it deals with learning from past data to predict future events. In machine learning programmer develops algorithm and code with provides ability to computer of learning from data. After learning from the previous data sets program generates a model which can be used to predict future event for a given set of input.

Popularity of Big Data and adoption in industry helped organizations to mange tremendous data generated as part of business process. It is not just limited to sales, marketing, accounting etc.. but it includes social posts, news, videos, twitter tweets and many more. Such huge data sets can be analyzed learned and can used for predicting.

**What are prerequisites of machine learning? **

For developing successful programs for machine learning you need to know following things:

**Programming Languages:**

To be able work with various programming technologies such Java, Python, Scala and Database concepts is very important. Developer should learn these programming languages to develop software system that can take data from data store and use it for machine learning. Skills of formatting data formats, process the data to make it compatible with the machine learning algorithm is also a prerequisite for machine learning.

**Database skills:**

You should have prior knowledge to work with relational and NoSQL databases. In your machine learning program you will have to use data sets from many different data source at a time. Programmers usually read the data from different data source and then convert it in a format that can be used by machine learning framework.

**Skills of various machine learning frameworks:**

Thanks to the developers/companies around to create machine learning API so that developer can easily use it in their programs. In machine learning many statistical and mathematical algorithms are used to design system to learn from data and predict for a given data set. Machine learning programming framework such as Apache Spark ML, R, Tensorflow, Scala NLP, H2O etc. You learn few machine learning frameworks and try for jobs in the market.

**Machine learning visualization tools:**

There are many tools for visualizing the data in the machine learning field. You should learn few of these tools which will help you in making great career in machine learning.

**Mathematics skills:**

Finally Mathematics is heart of machine learning as through mathematical algorithms data is processed and model is created. Model is a learned object in machine learning which holds learning details based on the data provided to the system. It is used feed some data and then model will predict based on the data provided.

Here are the topics you should learn in mathematics:

- Linear algebra
- Probability theory
- Calculus
- Calculus of variations
- Graph theory
- Statistics and Probability
- Differential equations
- Mathematical statistics
- Optimization
- Regression and Time Series
- Probability Distributions
- Hypothesis Testing
- Bayesian Modeling
- Fitting of a distribution

**How to get started with machine learning?**

You should start with Java/Python/Scala programming languages. You should learn the basics of Java and then learn Scala programming in detail. After learning Scala you can start with Mathematics and Spark ML programming.

Python is also a famous heavily used programming language in machine learning. Most of machine learning jobs required solid understanding of Python and Scala programming languages. Then you should learn Mathematics and statistics. Start with algebra and learning all the topics in the mathematics as mentioned in this article.

In this section we have understood the prerequisite of machine learning. Check our **Big Data technology tutorials** where you will find many tutorials related to machine learning technologies.