# Machine Learning for R – Learn to Implement all the Essential Packages!

Now, in our R DataFlair tutorial series, we will learn how machine learning helps R programming. In this article, we will see the various tools and facilities that are provided for Machine Learning operations in R. We will also discuss about some of the important packages like *MICE, caret, e1071 and many more.*

## Machine Learning and R

Machine Learning is the most important step in Data Science. R provides various machine learning facilities to its users. We will discuss some of the important libraries. Furthermore, we will implement these packages in our R example code. Let us now take a dive into the important machine learning tools for the R programming language.

**Take a deep dive into the 370+ tutorials on Data Science and master the technology**

### Important Machine Learning tools for R

#### 1. MICE

MICE stands for** Multivariate Imputation via Chained Sequences**. While dealing with datasets, there is always a possibility that the data is infested with the problem of missing values. In such cases, MICE can be used to impute the missing values with the help of multiple techniques.

MICE_data <- data.frame(var1=rnorm(20,0,1), var2=rnorm(20,5,1)) #Author DataFlair > MICE_data[c(2,5,7,10),1] <- NA > MICE_data[c(4,8,19),2] <- NA > summary(MICE_data)

**Output:**

> require(mice) > nice_dataset <- mice(MICE_data)

**Output:**

>mice_dataset <- complete(mice_dataset) >summary(mice_dataset)

**Output:**

#### 2. rpart

Use of** rpart** package is to carry out recursive partitioning in the *classification, regression, and the survival trees.* The rpart procedure performs this in two steps. The result is a binary tree. We call the plot() function to plot results that rpart package creates. In order to understand the variance that affects the dependent variables based on independent ones, we make use of the rpart function.

With the help of rpart, one can perform both regressions as well as classification. Let us understand the rpart function with the help of iris dataset:

> library(rpart) #Author DataFlair > data("iris") > rpart_fit <- rpart(formula = Species~., data=iris, method = 'class') > library(rpart.plot) > summary(rpart_fit)

**Output:**

> rpart.plot(rpart_fit)

**Output:**

#### 3. randomForest

randomForest is the most widely used algorithm in machine learning. Use of randomForest is to create a large number of decision trees. Decision tree generates the common output which is considered as the final output.

> library(randomForest) #DataFlair > RandomForest_fit <- randomForest(formula=Species~., data=iris) > print(RandomForest_fit) > importance(RandomForest_fit)

**Output:**

*Learn to implement Machine Learning Algorithms on a Real-Life Project – Detect Credit Card Fraud with Machine Learning in R*

#### 4. caret

caret refers to** Classification and Regression Training**. It is developed to facilitate efficient predictive modeling. With the help of caret, you can find the optimal parameters with the experiments that are controlled in nature. Some of the tools that this package provides are:

- Data preprocessing
- Data splitting
- Model tuning
- Feature selection

Let us now have a look at an example for implementing the caret package:

> library(caret) #Author DataFlair > lm_fit <- train(Sepal.Length~Sepal.Width + Petal.Length + Petal.Width, data=iris, method = "lm") > summary(lm_fit)

**Output:**

#### 5. e1071

With the help of **e1071**, you can implement *Naive Bayes, Fourier Transform, Support Vector Machines, Bagged Clustering, etc.* Support Vector Machines are the most important feature provided by e1071 that allows you to work on data that is otherwise not separable on the given dimension and requires you to work on higher dimensions to perform classification or regression.

> library(e1071) #Author DataFlair > svm_fit <- svm(Species~Sepal.Length + Sepal.Width, data = iris) > plot(svm_fit, data = iris[,c(1,2,5)])

**Output:**

#### 6. nnet

In order to implement neural networks in R, we make use of the nnet package. Limit of this package is just one layer of nodes. Nnet makes use of the * Artificial Neural Networks* that are modeled after the human nervous system. We can implement a neural network in R as follows:

> library(nnet) #Author DataFlair > nnet_fit <- nnet(Species~., data=iris, size = 10)

**Output:**

## Summary

Here we come to the end of our tutorial on Machine Learning for R. In this article, we saw how machine learning holds a considerable number of packages in R. We went through six important packages that will allow you to implement a variety of classification and regression algorithms.

**Now, it’s time to know the importance of R for Data Science**

We hope that you liked reading this article. If you have any queries, feel free to interact with us in the comment section.