R语言 建立机器学习的环境
机器学习 是人工智能(AI)的一个子集,它被用来创建能够在没有明确编程的情况下学习的智能系统。在机器学习中,我们创建算法和模型,由智能系统根据从给定数据中观察到的特定模式或趋势来预测结果。机器学习遵循一个独特的原则,即使用数据和数据的结果来预测存储在模型中的规则。然后,这个模型被用来预测来自不同数据集的结果。在R编程中,机器学习的环境可以通过RStudio轻松设置。
使用Anaconda设置机器学习的环境
第1步: 安装Anaconda(Linux,Windows)并启动导航器。
第2步: 打开Anaconda导航器,点击Rstudio的 安装 按钮。

第3步: 安装后,创建一个新的环境。然后Anaconda会发出一个提示,要求输入新环境的名称和R studio的午餐。

运行R命令
方法1: R命令可以从R studio中提供的控制台运行。打开Rstudio后只需在控制台中输入R命令。

方法2 :R命令可以存储在一个文件中,并可以在Anaconda提示下执行。这可以通过以下步骤实现。
- 打开一个Anaconda提示符
- 转到R文件所在的目录
- 使用命令激活Anaconda环境
conda activate <ENVIRONMENT_NAME>
- 通过使用命令来运行文件
Rscript <FILE_NAME>.R

在R中安装机器学习包
包有助于使代码更容易编写,因为它们包含一组预定义的函数,可以执行各种任务。最常用的机器学习包是 Caret, e1071, net, kernlab, 和 randomforest 。 有两种方法可以用来为你的R程序安装这些包。
方法1:通过Rstudio安装包
- 打开Rstudio,点击菜单栏中工具下的安装包选项。

- 输入所有你要安装的软件包的名称,用空格或逗号隔开,然后点击安装。

方法2:通过Anaconda提示/Rstudio控制台安装软件包
- 打开一个Anaconda提示符。
- 使用命令将环境切换到你为Rstudio使用的环境。
conda activate <ENVIRONMENT_NAME>
- 输入命令r来打开R控制台。
- 使用命令安装所需的软件包。
install.packages(c("<PACKAGE_1>", "<PACKAGE_2>", ..., "<PACKAGE_N>"))

在下载软件包时,你可能会被提示选择一个CRAN镜像。建议选择离你最近的地方,以获得更快的下载。

R中的机器学习包
有许多R库包含大量的函数、工具和方法来管理和分析数据。这些库中的每一个都有一个特定的重点,有些库可以管理图像和文本数据、数据处理、数据可视化、网络抓取、机器学习等等。这里让我们通过演示一个例子来讨论一些重要的机器学习包。
示例:
准备好数据集:
在使用这些包之前,首先将数据集导入RStudio,清洗数据集,并将数据分成训练和测试数据集。从这个链接下载CSV文件。
# Import the data set
Data <- read.csv("GenderClassification.csv",
stringsAsFactors = TRUE)
# Using set.seed()
# Generating random number
set.seed(10)
# Cleaning the data set
DataFavorite.Color <- as.numeric
(DataFavorite.Color)
DataFavorite.Music.Genre <- as.numeric
(DataFavorite.Music.Genre)
DataFavorite.Beverage <- as.numeric
(DataFavorite.Beverage)
DataFavorite.Soft.Drink <- as.numeric
(DataFavorite.Soft.Drink)
# Split into train and test data set
TrainingSize <- createDataPartition(Data$Gender,
p = 0.8,
list = FALSE)
TrainingData <- Data[TrainingSize,]
TestingData <- Data[-TrainingSize,]
CARET: Caret代表分类和回归训练。CARET包用于执行分类和回归任务。它由许多其他内置包组成。
# Using CARET package
# Importing the library
library(caret)
# Using the train() available in
# Caret package
model <- train(Gender ~ ., data = TrainingData,
method = "svmPoly",
na.action = na.omit,
preProcess = c("scale", "center"),
trControl = trainControl(method = "none"),
tuneGrid = data.frame(degree = 1,
scale = 1,
C = 1)
)
model.cv <- train(Gender ~ ., data = TrainingData,
method = "svmPoly",
na.action = na.omit,
preProcess = c("scale", "center"),
trControl = trainControl(method = "cv",
number = 6),
tuneGrid = data.frame(degree = 1,
scale = 1,
C = 1)
)
# Printing the models
print(model)
print(model.cv)
输出:
ggplot2 。R最著名的是其可视化库ggplot2。它提供了一套具有美感的图形,也是互动的。ggplot2包用于创建图表和数据的可视化。
# Using ggplot2
# Creating a bar plot from the
# Data's Favorite.Color attribute
ggplot(Data, aes(Favorite.Color)) +
geom_bar(fill = "#0073C2FF")
输出:

randomForest 。randomForest包允许我们轻松使用随机森林算法。
# Using randomforset
# Importing the randomForest package
library(randomForest)
# Using the randomForest function
# From the randomForest package
model <- randomForest(formula = Gender ~ .,
data = Data)
print(model)
输出:

nnet 。nnet包在深度学习中使用神经网络来创建层,帮助训练和预测模型。损失(实际值和预测值之间的差异)在每次迭代训练后都会减少。
# Using nnet
# Importing the nnet package
library(nnet)
# Using the nnet function
# In the nnet package
model <- nnet(formula = Gender ~ .,
data = Data,
size = 30)
print(model)
输出:

e1071 : e1071包用于实现支持向量机、天真贝叶斯算法和许多其他算法。
# Using e1071
# Importing the e1071 package
library(e1071)
# Using the svm function
# In the e1071 package
model <- svm(formula = Gender ~ .,
data = Data)
print(model)
输出:

rpart: rpart包用于划分数据。它被用于分类和回归任务。所产生的模型是以二叉树的形式出现的。
# Using rpart
# Importing the rpart package
library(rpart)
# Using the rpart function
# To partition data
partition <- rpart(formula = Gender~.,
data = Data)
plot(partition)
输出:
dplyr 。与rpart一样,dplyr包也是一个数据处理包。它通过使用诸如过滤器、选择和排列等函数来帮助处理数据。
# Using dplyr
# Importing the dplyr package
library(dplyr)
# Using the filter function
# From the dplyr package
Data %>%
filter(Gender == "M")
输出:
极客教程