#### Overview of this book

This book will teach you advanced techniques in machine learning with the latest code in R 3.3.2. You will delve into statistical learning theory and supervised learning; design efficient algorithms; learn about creating Recommendation Engines; use multi-class classification and deep learning; and more. You will explore, in depth, topics such as data mining, classification, clustering, regression, predictive modeling, anomaly detection, boosted trees with XGBOOST, and more. More than just knowing the outcome, you’ll understand how these concepts work and what they do. With a slow learning curve on topics such as neural networks, you will explore deep learning, and more. By the end of this book, you will be able to perform machine learning with R in the cloud using AWS in various scenarios with different datasets.
Title Page
Credits
Packt Upsell
Customer Feedback
Preface
Free Chapter
A Process for Success
Linear Regression - The Blocking and Tackling of Machine Learning
Logistic Regression and Discriminant Analysis
Advanced Feature Selection in Linear Models
More Classification Techniques - K-Nearest Neighbors and Support Vector Machines
Classification and Regression Trees
Neural Networks and Deep Learning
Cluster Analysis
Principal Components Analysis
Market Basket Analysis, Recommendation Engines, and Sequential Analysis
Creating Ensembles and Multiclass Classification
Time Series and Causality
Text Mining
R on the Cloud
R Fundamentals
Sources

## Data frames and matrices

We will now create a data frame, which is a collection of variables (vectors). We will create a vector of `1`, `2`, and `3` and another vector of `1`, `1.5`, and `2.0`. Once this is done, the `rbind()` function will allow us to combine the rows:

```> p <- seq(1:3)

> p
[1] 1 2 3

> q = seq(1, 2, by = 0.5)

> q
[1] 1.0 1.5 2.0

> r <- rbind(p, q)

> r
[,1] [,2] [,3]
p    1  2.0    3
q    1  1.5    2```

The result is a list of two rows with three values each. You can always determine the structure of your data using the `str()` function, which in this case shows us that we have two lists, one named `p` and the other named `q`:

```> str(r)
num [1:2, 1:3] 1 1 2 1.5 3 2
- attr(*, "dimnames")=List of 2
..\$ : chr [1:2] "p" "q"
..\$ : NULL```

Now, let's put them together as columns using `cbind()`:

```> s <- cbind(p, q)

> s
p   q
[1,] 1 1.0
[2,] 2 1.5
[3,] 3 2.0```

To put this in a data frame, use the `data.frame()` function. After that, examine the structure:

`> s &lt...`