Машинное обучение в R с использованием курсора: руководство по построению и проверке статистическ...
Автор: Rajendra Choure
Загружено: 2021-04-20
Просмотров: 4990
#caret # машинное обучение # статистические модели # линейная регрессия # подгонка моделей
Это базовое руководство, знакомящее с функционалом и эффективностью инструмента Caret при построении и валидации статистических моделей или алгоритмов машинного обучения.
Описываются визуализация признаков из набора данных, выбор моделей, процесс перекрёстной проверки, обучение модели, валидация с использованием диагностических графиков и тестирование модели. Также объясняется прогнозирование на основе модели.
Также представлены модели lm, gbm, lvq, rf и svm. # код для обучения
install.packages("caret")
library(caret)
Исследование данных
head(iris)
str(iris)
Визуализация данных
featurePlot(x=iris[,1:4],y=iris$Species, plot="ellipse")
featurePlot(x=iris[,1:4],y=iris$Species,plot="ellipse",auto.key=list(columns=3))
featurePlot(x=iris[,1:4],y=iris$Species,plot=c("boxplot"),auto.key=list(columns=3),scale=list(y=list(relation="free")),labels=c("Species","length in см"))
featurePlot(x=iris[,1:4],y=iris$Species,plot="density",auto.key=list(columns=3),labels=c("Species",""),scale=list(x=list(relation="free"),y=list(relation="free")),pch="|")
featurePlot(x=iris[,1:3],y=iris[,4],plot="scatter",type=c("p","smooth"),auto.key=list(columns=3),pch=16,lwd=2)
См. корреляцию
library(corrplot)
cor_iris=cor(iris[,1:4])
corrplot(cor_iris, type="upper",method="ellipse")
Решить вопрос о перекрёстной проверке
trc= trainControl(method="repeatedcv",number=10,repeats=3)
trc
#Подходящая модель
mod_lm = train(Sepal.Length~.,iris,method="lm",trControl=trc)
mod_lm
summary(mod_lm)
mod_lm$resample
mod_lm$results
диагностических графиков
plot(mod_lm$finalModel)
графиков cstom для проверки соответствия
obs=predict(mod_lm, iris)
plot(iris$Sepal.Length,obs)
abline(0,1)
plot(1:nrow(iris),iris$Sepal.Length)
points(1:nrow(iris),obs, col="red")
прогноз из нового данные
df_new=data.frame(Sepal.Width=c(4.8;4.6), Petal.Length=c(3.4;6.9),
Petal.Width=c(1.7;2.4), Species=c("setosa","virginica"))
predict(mod_lm,df_new)
другие модели, использующие курсор: модели классификации
#машина опорных векторов
mod_svm= train(Species~.,iris,method="svmRadial",trControl=trc)
mod_svm
obs=predict(mod_svm, iris)
confusionMatrix(iris$Species,obs)
plot(mod_svm)
#машина градиентного бустинга
mod_gbm= train(Виды~.,iris,method="gbm",trControl=trc)
mod_gbm
obs=predict(mod_gbm, iris)
confusionMatrix(iris$Виды,obs)
plot(mod_gbm)
#Обучение модели векторного квантования
mod_lvq= train(Виды~.,iris,method="lvq",trControl=trc)
mod_lvq
obs=predict(mod_lvq, iris)
confusionMatrix(iris$Виды,obs)
plot(mod_lvq)
#Модель случайного леса
mod_rf= train(Виды~.,iris,method="rf",trControl=trc)
mod_rf
obs=predict(mod_rf, iris)
confusionMatrix(iris$Виды,obs)
plot(mod_rf)
0:00 Введение на каретку
1:10 Установка пакета каретки
1:50 Знакомство с данными
2.38 Визуализация данных Featureplot
5:09 Визуализация корреляции: corrplot
5:51 Выбор переменных для моделирования
6:10 Формула модели
6:23 Выбор модельного метода: регрессия или классификация
6:49 Введение в перекрёстную проверку
8:52 Обучение модели
10:05 Изучение результатов модели
11:49 Изучение подгонки модели с помощью диагностических моделей
13:06 Тестирование модели: прогнозируемое и фактическое
15:15 Прогнозирование новых данных
16:13 Модели классификации с помощью каретки
16:39 Модель случайного Форста
17:28 Матрица неточностей
18:23 Градиентный бустинг GBM
19:30 Модель векторного квантования LVQ для обучения
20:14 Модель опорных векторов SVM
21.01 Диагностические графики для моделей классификации
Доступные форматы для скачивания:
Скачать видео mp4
-
Информация по загрузке: