Lightweight Machine Learning Classics with R
DRAFT v0.2.1 2021-05-10 10:04 (0e09aab)
This is a slightly older (distributed in the hope that it will be useful) version of the forthcoming textbook (ETA 2022) preliminarily entitled Machine Learning in R from Scratch by Marek Gagolewski, which is now undergoing a major revision (when I am not busy with other projects). There will be not much work on-going in this repository anymore, as its sources have moved elsewhere; however, if you happen to find any bugs or typos, please drop me an email. I will share a new draft once it’s ripe. Stay tuned.
Copyright (C) 2020-2021, Marek Gagolewski.
This material is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License (CC BY-NC-ND 4.0).
You can access this book at:
- https://lmlcr.gagolewski.com/ (a browser-friendly version)
- https://lmlcr.gagolewski.com/lmlcr.pdf (PDF)
- https://github.com/gagolews/lmlcr (source code)
Aims and Scope
Machine learning has numerous exciting real-world applications, including stock market prediction, speech recognition, computer-aided medical diagnosis, content and product recommendation, anomaly detection in security camera footage, game playing, autonomous vehicle operation, and many others.
In this book we will take an unpretentious glance at the most fundamental algorithms that have stood the test of time and which form the basis for state-of-the-art solutions of modern AI, which is principally (big) data-driven. We will learn how to use the R language (R Development Core Team 2021) for implementing various stages of data processing and modelling activities. For a more in-depth treatment of R, refer to this book’s Appendices and, for instance, (Wickham & Grolemund 2017, Peng 2019, Venables et al. 2021).
These pages contain solid underpinnings for further studies related to statistical learning, machine learning data science, data analytics, and artificial intelligence, including (Bishop 2006, Hastie et al. 2017, James et al. 2017). We will also appreciate the vital role of mathematics as a universal language for formalising data-intense problems and communicating their solutions. The book is aimed at readers who are yet to be fluent with university-level linear algebra, calculus and probability theory, such as 1st year undergrads or those who have forgotten all the maths they have learned and need a gentle, non-invasive, yet rigorous introduction to the topic. For a nice, machine learning-focused introduction to mathematics alone, see, e.g., (Deisenroth et al. 2020).
This book has been prepared with pandoc, Markdown, and GitBook. R code chunks have been processed with knitr. A little help of bookdown, good ol’ Makefiles, and shell scripts did the trick.
The following R packages are used or referred to in the text: bookdown, Cairo, DEoptim, fastcluster, FNN, genie, genieclust, gsl, hydroPSO, ISLR, keras, knitr, Matrix, microbenchmark, pdist, RColorBrewer, recommenderlab, rpart, rpart.plot, rworldmap, scatterplot3d, stringi, tensorflow, tidyr, titanic, vioplot.
During the writing of this book, I’ve been listening to the music featuring John Coltrane, Krzysztof Komeda, Henry Threadgill, Albert Ayler, Paco de Lucia, and Tomatito.
Bishop C (2006) Pattern recognition and machine learning. Springer-Verlag https://www.microsoft.com/en-us/research/people/cmbishop/.
Deisenroth MP, Faisal AA, Ong CS (2020) Mathematics for machine learning. Cambridge University Press https://mml-book.com/.
Hastie T, Tibshirani R, Friedman J (2017) The elements of statistical learning. Springer-Verlag https://web.stanford.edu/~hastie/ElemStatLearn/.
James G, Witten D, Hastie T, Tibshirani R (2017) An introduction to statistical learning with applications in R. Springer-Verlag https://www.statlearning.com/.
Peng RD (2019) R programming for data science. https://bookdown.org/rdpeng/rprogdatascience/.
R Development Core Team (2021) R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria http://www.R-project.org.
Venables WN, Smith DM, R Core Team (2021) An introduction to R. https://cran.r-project.org/doc/manuals/r-release/R-intro.pdf.
Wickham H, Grolemund G (2017) R for data science. O’Reilly https://r4ds.had.co.nz/.