【原创】R语言svm决策树模型分析空气质量附代码数据_第1页
【原创】R语言svm决策树模型分析空气质量附代码数据_第2页
【原创】R语言svm决策树模型分析空气质量附代码数据_第3页
【原创】R语言svm决策树模型分析空气质量附代码数据_第4页
【原创】R语言svm决策树模型分析空气质量附代码数据_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、有问题到淘宝找“大数据部落”就可以了data= read.csv (air.csv , skip = 1)head (data)# label X1 X2 X3 X4 X5 X6 X7 Y1 Y2 X8 X9X10# 1 北京 14 50 102 81 46965 3.6 203 186 124 23014.60 16410.54 2170.50# 2 天津 29 42 117 70 94867 3.1 142 216 104 16538.19 11946.88 1547.00# 3 石家庄 47 51 147 89 88167 4.3 148 180 123 5440.60 15848.00

2、 1028.84# 4 太原 71 38 114 62 79456 3.1 131 230 94 2735.34 6999.00 367.39# 5 呼和浩特 34 39 103 43 55970 3.2 145 276 87 3090.52 17224.00 238.58# 6 沈阳 66 48 115 72 98871 2.2 155 207 107 7280.49 12948.00 730.41#X11 X12 X13 X14 X15# 1 561.90 342.40 0.26 4542.64 0.20# 2 273.62 229.03 0.18 7704.22 0.47# 3 219.

3、53 138.52 0.21 2452.40 0.45# 4 113.30 161.88 0.31 1020.18 0.37# 5 85.39 49.58 0.36 867.08 0.28# 6 181.70 140.33 0.25 3474.18 0.48分析分为两个部分第一部分:#数据导入与处理#data$Y1 365*0.8 ,空气好,空气差,)#构建因变量data$Y1- as.factor (data$Y1) #将因变量格式转为因子型#构建训练集、测试集#分层抽样,70%作为训练集,30%作为测试集#library(sampling)trainindex= sample (1: nr

4、ow(data), nrow (data)* 0.7 )train-datatrainindex, # test-data-trainindex, #去除price变量的训练集 去除price变量的测试集有问题到淘宝找“大数据部落”就可以了根据空气的指标(x1x7 )将30个城市分成两类,y1用来检验分类的效果(可以将y1 的指标转化成0,1来表示该城市空气好或坏);初步打算使用决策树方法和SVM方法;编程的步骤尽可能完善,从初始的数据预处理,数据可视化,到建模,检验,优化都不能缺少;如果编程需要训练数据集和预测数据集,而个数太少,我可以提供前几年的数据作为训 练(这个不知你需不需要)。#训I

5、练svm模型#install.packages(e1071) #安装软件包library (e1071) # 加载软件包一、使用线性核函数去拟合SVM模型1)模型拟合svmfit1- svm(Y1., data= train, kernel= linear ,cost= 10, scale= F)#kernel=linear #选择线性核函数scale=F #对数据不进行标准化处理,支持向量机的的损失函数为凸函数,是否标准化不影响最优解,但标准化之后可以使求解速度变快cost=10 #参数代表犯错的成本,越大模型对误差的惩罚越大,生成的分类边界越复杂summary ( svmfit1 )# C

6、all:# svm(formula = Y1 .,data = train, kernel = linear, cost = 10,# scale = F)# Parameters:# SVM-Type: C-classification# SVM-Kernel: linear# cost: 10# gamma: 0.02173913# Number of Support Vectors: 8# ( 3 5 )# Number of Classes: 2有问题到淘宝找“大数据部落”就可以了# Levels:# 空气差空气好2)对svmfitl模型进行改进,选择最优的cost值set.seed

7、( 1) #设置种子,保证每次运行结果一致tune.out- tune (svm,Y1., data= train, kernel = linear ,ranges = list ( cost= c( 0.001 , 0.01 , 0.1 , 1, 5, 10, 100) summary (tune.out )# Parameter tuning of svm:# - sampling method: 10-fold cross validation# - best parameters:# cost# 0.1# - best performance: 0.05# - Detailed per

8、formance results:# cost error dispersion# 1 1e-03 0.30 0.2581989# 2 1e-02 0.30 0.2581989# 3 1e-01 0.05 0.1581139# 4 1e+00 0.05 0.1581139# 5 5e+00 0.05 0.1581139# 6 1e+01 0.05 0.1581139# 7 1e+02 0.05 0.1581139best.mode1-tune.out$best.model #得到最优模型summary ( best.mode1 )# Call:# best.tune(method = svm,

9、 train.x = Y1 .,data = train, ranges = lis t(cost = c(0.001,#0.01,0.1, 1,5, 10, 100), kernel = linear)# Parameters:# SVM-Type: C-classification# SVM-Kernel: linear# cost: 0.1# gamma: 0.02173913# Number of Support Vectors: 11有问题到淘宝找“大数据部落”就可以了# ( 5 6 )# Number of Classes: 2# Levels:# 空气差空气好3)模型评估ypre

10、d- predict(best.mode1,test)table (predict=ypred, ture= test$Y1)#ture# predict#空气差#空气好空气差空气好6102# 训I练 decision tree模型# library (rpart)grow tree fit - rpart (Y1 .-label-Y1, method= class , data= data) printcp (fit) # display the results# Classification tree:# rpart(formula = Y1 . - label - Y1, data =

11、data, method = class)# Variables actually used in tree construction:# 1 X4# Root node error: 9/30 = 0.3# n= 30# 1 0.88889# 2 0.01000plotcp (fit)# CP nsplit rel error xerror xstd0 1.00000 1.00000 0.278891 0.11111 0.22222 0.15181# visualize cross-validation results有问题到淘宝找“大数据部落”就可以了size of treeInf0 09

12、4summary (fit) # detailed summary of splits# Call:# rpart(formula = Y1 .-label - Y1, data = data, method = class)# n= 30# CP nsplit rel error xerror xstd# 1 0.88888890 1.0000000 1.0000000 0.2788867# 2 0.01000001 0.1111111 0.2222222 0.1518067# Variable importance# X4 X6 X3 Y2 X2 X8# 23 18 16 16 14 14

13、# Node number 1: 30 observations, complexity param=0.8888889# predicted class= 空气差 expected loss=0.3 P(node) =1# class counts: 219# probabilities: 0.700 0.300# left son=2 (20 obs) right son=3 (10 obs)# Primary splits:# X4 50 to the right, improve=10.800000, (0 missing)#X6 1.45to the right,improve=10.690910, (0 missing)#Y2 74.5to the ri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论