1. 程式人生 > >Caret R Package for Applied Predictive Modeling

Caret R Package for Applied Predictive Modeling

The R platform for statistical computing is perhaps the most popular and powerful platform for applied machine learning.

The caret package in R has been called “R’s competitive advantage“. It makes the process of training, tuning and evaluating machine learning models in R consistent, easy and even fun.

In this post you will discover the caret package in R, it’s key features and where to go to learn more about it.

Caret package in R

Caret package in R

What is the Caret R Package

Caret was built on a key philosophy in machine learning, that of the no free lunch theorem. The theorem states, that given no prior knowledge of prediction problem, no single method can be said to be better than any other.

In this face of this theorem, the caret package has an opinionated stance on how applied machine learning should be conducted. You cannot know which algorithm or which algorithm parameters will be optimal for a given problem, it can only be known by empirical experimentation. This is the process that the caret package was designed to facilitate.

It does this in a few key ways:

  • Streamlined Model Creation: It provides a consistent interface to train a large number of the most popular third party algorithms in R.
  • Evaluate the Effect of Parameters on Performance: It provides tools to grid search combinations of algorithm parameters against an objective measure to understand the effect of parameters on the model for a given problem.
  • Choose an Optimal Model: It provides tools to evaluate and compare models on a given problem to locate the most suitable using objective criteria.
  • Estimate Model Performance: It provides tools to estimate the accuracy of models on unseen data for a given problem.

Need more Help with R for Machine Learning?

Take my free 14-day email course and discover how to use R on your project (with sample code).

Click to sign-up and also get a free PDF Ebook version of the course.

Caret Features

The caret package has many features built around the core philosophy. Some examples include:

  • Data Splitting: Split data in training and test datasets.
  • Data Pre-processing: Prepare data for modeling such as normalization and standardization.
  • Feature Selection: Methods to select only those attributes required to make effective predictions.
  • Feature Importance: Evaluate the relevance of each attribute in the dataset on the predicted attribute.
  • Model Tuning: Evaluate the effect of algorithm parameters on performance and locate an optimal configuration
  • Parallel Processing: Tune and estimate model performance using parallel computing such as multiple cores on a workstation to give performance improvements.
  • Visualization: Better understand training data, model comparison and the effect of parameters on model with tailored visualizations.

Where Did Caret Come From

Caret is a package in R created and maintained by Max Kuhn form Pfizer. Development started in 2005 and was later made open source and uploaded to CRAN.

Caret is actually an acronym which stands for Classification And REgression Training (CARET).

It was initially developed out of the need to run multiple different algorithms for a given problem. R packages are created by third parties and can vary in terms of their parameters and syntax when training and generating predictions. The first versions of the caret package were designed to unify model training and prediction.

It later expanded to further standardize related common tasks such as parameter tuning and determining variable importance.

Interview with Max Kuhn

Max Kuhn is interviewed by DataScience.LA at the useR conference. In the interview, Max talks about the development of caret and his use of R. He talks about the importance of testing multiple models on a given problem and the pain in working with multiple different packages at the same time, the impetus for creating the package.

Demonstration of Caret by Max Kuhn

Max Kuhn demonstrates caret and talks about its development and features of caret in this presentation. He touches again on the the no free lunch theorem and the need to test multiple models. The heart of the presentation is an example of a model on some churn data. He touches on estimating model performance, algorithm tuning and much more.

Caret Resources

If you are interested in more information in the caret package for, check out some of the links below.


Frustrated With Your Progress In R Machine Learning?

Master Machine Learning With R

Develop Your Own Models in Minutes

…with just a few lines of R code

Covers self-study tutorials and end-to-end projects like:
Loading data, visualization, build models, tuning, and much more…

Finally Bring Machine Learning To
Your Own Projects

Skip the Academics. Just Results.


相關推薦

Caret R Package for Applied Predictive Modeling

Tweet Share Share Google Plus The R platform for statistical computing is perhaps the most popul

Data Visualization with the Caret R package

Tweet Share Share Google Plus The caret package in R is designed to streamline the process of ap

Tuning Machine Learning Models Using the Caret R Package

Tweet Share Share Google Plus Machine learning algorithms are parameterized so that they can be

Review of Applied Predictive Modeling

Tweet Share Share Google Plus The book Applied Predictive Modeling teaches practical machine le

Feature Selection with the Caret R Package

Tweet Share Share Google Plus Selecting the right features in your data can mean the difference

Compare Models And Select The Best Using The Caret R Package

Tweet Share Share Google Plus The Caret R package allows you to easily construct many different

【轉】論文閱讀(Chenyi Chen——【ACCV2016】R-CNN for Small Object Detection)

數據 大小 table 使用 con 改進 包括 end 修改 Chenyi Chen——【ACCV2016】R-CNN for Small Object Detection 目錄 作者和相關鏈接 方法概括 創新點和貢獻 方法細節 實驗結果 總結與收獲點 參考文獻

WeightedCLuster R package的使用

WeightedCLuster R package的使用 1. 本函式包的主要用途 權重資料的聚類(主要是state sequences and weighted data) 和聚類結果的評估 2.函式的安裝 install.packages("WeightedCluster

R語言FOR迴圈列印9*9乘法表

R語言FOR迴圈列印9*9乘法表 演算法原理 使用for迴圈列印99乘法表時,需要兩重迴圈,第一重迴圈乘數,第二重迴圈表示被乘數,列印當乘數大於等於被乘數時的結果,並在每次第二重迴圈結束時換行。 程式碼和結果展示 for(x in c(1:9)){ for(y in

R package, RBGL, graph包直接install.package()失敗的解決方案

一些R的包不再在CRAN上可用了,我們發現有一些包已經被轉移到了Bioconductor,因此,我們需要執行如下語句在console: install.packages(“BiocInstaller”) source(“http://bioconductor.org/biocLite.R

R語言-《Learning R》-Chapter15 : Distribution and Modeling-隨機數字+線性迴歸

1. Random Numbers(隨機數字) ## 隨機數:從1到7的7個隨機數 > sample(7) [1] 5 2 7 4 3 6 1 ## 隨機數:從1到7的5個隨機數 > sample(7, 5) [1] 7 2 6 3 4 > s

Predictive Modeling: Best practices and lessons learnt the hard way

The best way to is to prepare each variable in a separate script at the level of your data and then merge with the main data set at the same level.Whether

Clojure Package for MXNet

Clojure Package for MXNetOne of the strengths of MXNet is its multi-language support. With the shared backend written in C, you can train, use, and scale y

R programming for feature selection and regression

data introduction Select packages Split dataset feature selection tune parameters prediciton 1. data introduction 我的資料包含

Openstack murano NoPackageForClassFound: Package for class "io.murano.Environment" is not found

在部署murano environment 時 murano-engine.log 報出如下錯誤:   NoPackageForClassFound: Package for class "io.murano.Environment" is not f

Gentle Introduction to Predictive Modeling

Tweet Share Share Google Plus When you’re an absolute beginner it can be very confusing. Frustra

Python is the Growing Platform for Applied Machine Learning

Tweet Share Share Google Plus You should pick the right tool for the job. The specific predictiv

Build an AWS Lambda Deployment Package for Python

This command displays the folder structure. The main Python function files for your application must be in the root of your project folder. Oth

Build a Lambda Deployment Package for Node.js

Amazon Web Services is Hiring. Amazon Web Services (AWS) is a dynamic, growing business unit within Amazon.com. We are currently hiring So

R】no applicable method for 'xml_find_all' applied to an object of class "xml_document"

原始碼: # 安裝依賴包 if (!require(rvest)) { install.packages("rvest") } if (!require(xml2)) { install.packages("xml2") } # 引入 library(rvest)