R语言进行机器学习方法及实例(一).PDFVIP

  • 6
  • 0
  • 约2.01万字
  • 约 9页
  • 2024-08-21 发布于广东
  • 举报

R语言进行机器学习方法及实例(一).PDF

R语语⾔⾔进进⾏⾏机机器器学学习习⽅⽅法法及及实实例例((⼀⼀))

版权声明:本⽂为博主原创⽂章,转请注明出处

  机器学习的研究领域是发明计算机算法,把数据转变为智能⾏为。机器学习和数据挖掘的区别可能是机器学习侧重于执⾏⼀个已知的任务,⽽数据发掘是在⼤数据中寻

找有价值的东西。

机机器器学学习习⼀⼀般般步步骤骤

收集数据,将数据转化为适合分析的电⼦数据

探索和准备数据,机器学习中许多时间花费在数据探索中,它要学习更多的数据信息,识别它们的微⼩差异

基于数据训练模型,根据你要学习什么的设想,选择你要使⽤的⼀种或多种算法

评价模型的性能,需要依据⼀定的检验标准

改进模型的性能,有时候需要利⽤更⾼级的⽅法,有时候需要更换模型

机机器器学学习习算算法法

有有监监督督学学习习算算法法

⽤于分类:k近邻,朴素贝叶斯,决策树,规则学习,神经⽹络,⽀持向量机

⽤于数值预测:线性回归,回归树,模型树,神经⽹络,⽀持向量机

⽆⽆监监督督学学习习算算法法

⽤于模式识别(数据之间联系的紧密性):关联规则

⽤于聚类:k均值聚类

R语语⾔⾔机机器器学学习习算算法法实实现现

kNN(k-NearestNeighbors,k近近邻邻)

原理:计算距离,找到测试数据的k个近邻,根据k个近邻的分类预测测试数据的分类

应⽤k近邻需要将各个特征转换为⼀个标准的范围(归⼀化处理),可以应⽤min-max标准化(所有值落在0~1范围,新数据=(原数据-最⼩值)/(最⼤值-最⼩

值)),也可以应⽤z-score标准化(新数据=(原数据-均值)/标准差)。

对于名义变量(表⽰类别),可以进⾏哑变量编码,其中1表⽰⼀个类别,0表⽰其它类别,对于n个类别的名义变量,可以⽤n-1个特征进⾏哑变量编码,⽐如(⾼,

中,低),可以⽤⾼、中两类的哑变量表⽰这三类(⾼:1是,0其它,中:1是,0,其它)

优点:简单且有效,对数据分布没有要求,训练阶段很快;

缺点:不产⽣模型,在发现特征之间的关系上的能⼒有限,分类阶段很慢,需要⼤量的内存,名义变量和缺失数据需要额外处理

R代码:

使⽤class包的knn函数,对于测试数据中的每⼀个实例,该函数使⽤欧⽒距离标识k个近邻,然后选出k个近邻中⼤多数所属的那个类,如果票数相等,测试实例会被

随机分配。

  dt_pred-knn(train=dt_train,test=dt_test,class=dt_train_labels,k=3)train:⼀个包含数值型训练数据的数据库;test:⼀个包含数值型测试数据的数据框;

class训练数据每⼀⾏分类的⼀个因⼦变量;k:标识最近邻数据的⼀个整数(通常取实例数的平⽅根);该函数返回⼀个向量,该向量含有测试数据框中每⼀⾏的预测

分类

  尽管kNN是并没有进⾏任何学习的简单算法,但是却能处理及其复杂的任务,⽐如识别肿瘤细胞的肿块。

对R⾃带iris数据⽤kNN进⾏训练、预测并与实际结果对⽐

llibrary(class)

library(gmodels)

preparedata

set.seed(12345)setrandomseedinordertorepeattheresult

iris_rand-iris[order(runif(150)),]

iris_z-as.data.frame(scale(iris_rand[,-5]))zscorenormalize

train-iris_z[1:105,]

test-iris_z[106:150,]

train.label-iris_rand[1:105,5]

test.label-iris_rand[106:150,5]

kNN

pred-knn(train,test,train.label,k=10)

comfusionmatrix

CrossTable(pred,test.label,prop.r=F,prop.t=F,prop.chisq=F

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档