plotcorr(cor(mydata[,c]),col?cl X1,X7,X11和X18之间存在微弱的负相关,对这些特征值不需要采取任何行为。X11和X14之间存在很强的正相关关系,我们需要忽略其中一个,但是经过考虑之后,我们决定把它们都考虑在内。 我们绘制了名义的和二进制特征值的平行坐标图,平行最标图允许可以超过四个纬度去观察特征值。这个想法很简单:相对于在正交坐标系中观察,我们采用在一个平行坐标系中绘制坐标(Ha¨rdle and Simar, 2006)。第一步是将最大的变量设置为1,最小的变量设置为0.这种表示方法是非常有用的高维度数据。然而,变量命令是敏感的。因为数据中的某些模式可以在另一个命令中显示的更为清楚(Hardle and Simar, 2006)。绘制平行坐标图是由包rggobi中的ggobi()函数完成的。 包rggobi提供了一个命令行接口GGobi,是一个交互式和动态图形软件包。Rggobi补充了GGobi的图形用户接口,提供了一种方法使分析和探索之间可以流畅的过度,以及自动化的常见任务(Lang et al., 2012)。 ggobi()函数可以很方便的检索ggobi 数据集。 # rggobi for nominal and binary data c?c(1,seq(5,9,1),11,13,14,17,18) data_norm?norm01(mydata[,c],c) c?c(2,12) data_nomi[,c]?mydata[,c]/max(mydata[,c]) c?c(3,4,10,15,16,19) newdata?cbind(data_norm,data_nomi,mydata[,c]) library(rggobi) attach(newdata) gd < ggobi(newdata)[1] 在绘制PCP之前,将数据集分成更多的子集。表格8.5展示了PCP。根据表格进行思考,我们没有任何相关的特征值。 5.2数据集的平衡 在现实世界中,大多数数据集有不平衡的类分布,这会在分类模型中导致一些问题。大多数学习算法往往忽略较小的类,因为它们不支持统计。因此准确率将不切实际的上升。我们的采样和测试数据集从所有可用对象中随机选取,并且用包DMwR中的SMOTE函数来客服这些问题。该测试数据集包含大约500个观察实例,平衡的数据集约有1500个观察实例。 SMOTE函数使用SMOTE方法来处理不平衡分类,也就是说,它可以生成一个新的“SMOTEd”的数据,以解决该类不平衡问题集。使用这类元素的最邻近邻居人为的产生新的最小类,在样本下的大多数来平衡训练数据集(Torgo, 2011)。下面的代码是用来平衡训练数据集的: library(DMwR) attach(mydata) tr data_smot$defn < factor(ifelse(data_smot$defn 技 1, “def”, “nondef”)) data_samp < SMOTE(defn ., data_smot, k?5,perc.over ?500) 图表8.6展示了平衡前后的数据分布。为了描述uzai两种状态下的数据分布,我们采用多为缩放方法(MDS)。 MDS是一种基于对象,主题以及激励之间的相似性来产生这些物品的表征。邻近性表示了数据对象之间的相似性或者相异性(Ha¨rdle and Simar, 2006)。它所代表对象的点之间的距离与邻近的相同对象之间的距离十分接近。在二维空间中绘制对象,可以使用下面的代码: library(cluster) dist?daisy(data_samp[,-19],stand?TRUE,metric?c(“gower”), type?list(interval?c(1,5,6,7,11,13,14), ratio?c(7,8,17,18), nominal?c(2,12), binary?c(3,4,10,15,16))),11,15,16))) loc?cmdscale(d,k?2) x?loc[,1] y?loc[,2] plot(x,y,type?“n”) text(x,y,labels?as.expression(as.numeric(data_samp[,19])),col?as.numeric(data_samp [,19])) 5.3特征值选择 在许多应用程序中数据集的大小是非常大的。在现实世界中,特征值的相关性是不确定,许多数据集包含相关的和不相关的特征值,这是一个大的缺点。这些问题实例包括运行时间的增长,得到更差的结果以及更复杂的模式。特征祝选择的目的是找到一个合适的特征值子集,非常接近原始的数据集。 由于每隔特征值对目标特征值都有特殊的影响,使用强大的特征值选择技术是非常有必要的。处理一个大的数据集,我们使用了随机选择特征值的方法,以及软件包randomForest里面的randomForest函数被使用来评估每隔特征值的权重(Breiman et al, 2012)。所提出的方法是从样本中随机挑取一个对象,并产生几棵树基于分类的精度和错误比,特征值的权重进行加权。这个方法有两个步骤。 第一步生成一棵树,所有的特征值都被称为原始树,然后在每一次迭代中消除一个特征值。因此,新产生的书和原始树错误率相对于每个特征值之间的差异将会被计算。基于前一阶段的精确度,我们可以使用更高的精度来对特征值分配一个更高的精度。 第二步或者二次测量计算各特征值降低的平均值。这一步是受Gini 指数影响的,经过计算,我们由一个加权的n*2矩阵:这里的n是特征值,2列是相关的,它们的值代表了特征值之间的重要性。 我们要注意的是。必须使用最佳的精确度来选取特征值,下面的代码被用来使用选取表中的重要特征值: attach(data_samp) library(randomForest) set.seed(4543) data.frame(intbo_samp) rf varImpPlot(rf) 类型参数指定的类型的重要性措施(1、平均下降的精度。2、Gini指数的平均下降)。据专家介绍,我们希望在第一项措施的基础上,选择最佳相关性的特征值。下面展示了结果和重要的函数: 在获得了特征值的重要性后,我们应该基于某个特定的阀值选择最重要的特征值。这可以通过消除后面的方法来实现。 为了选择它们,我们使用软件包randomForest里面的rfcv()函数,这个函数通过嵌套的交叉验证程序展示了依次减少预测(变量的重要性)交叉验证模型的的性能(Breiman et al., 2012)。上面提到的代码如下: fo?rfcv(data_samp[,19],data_samp[,19], cv.fold?10, scale?“log”, step?0.9) best < which.max(fo$error.cv) plot( fo$n.var,rfo$error.cv, type?“h”, main ?“importance”, xlab?“number of features”, ylab ?“classifier error rate”) axis(1, best, paste(“best”, best, sep?“\\n”), col ?“red”, col.axis ?“red”) 如表格8.7所示,最佳的特征值是12,因为12在建立的模型中有最高的重要性:x1, x4, x5, x6, x7, x8, x9, x11, x12, x13, x14, x18。 5.6建模 分类是预测分类标签的数据分析形式之一(Han and Kamber, 2006)。鉴于分类标签是已知的,分类方法被用来对新的观察实例进行分类。换句话说,分类是发现一个预测一个类的标签的模型(数学函数)的过程,这些观察实例没有明确的被标识。这种模式可以用不同的方法来说明,例如决策树,分类规则和神经网络。 我们使用决策树技术,得到一个信贷违约概率分类的模型。决策树由一个树形结构,每隔节点代表衡量特征值,每隔分支是一个衡量结果,分类标签通过叶子显示。决策树可以很容易的转换成分类规则。 分类方法包含两步。第一步是利用明显被标记的数据。这个阶段,也称之为监督学习阶段,通过对训练数据集的分析,提出了一种分类模型(算法)。第一步生成的算法将在第二步被用来标记观察实例或者 测试数据集。函数rpart()是被用来建立一个决策树(Therneau et al., 2010),下面的代码是被用来实现rpart()函数的: library(rpart) sdf?data.frame(train) fit?rpart(train$x19 .,data?sdf,method?“class”) 数由于类标签(X19)是一个因子,方法=’class’被假设。软件包repart让决策树停止生长来缩减实现的复杂度。它产生了一组子树和在cp,精度和树的大小方面相比可选择的树。这个软件包的printcp()函数对repart对象展示了合适的cp表。函数在下面写出。 > printcp(fit) Classification tree: rpart(formula ?train$x19 ., data ?sdf, method ?“class”) 构建树的过程中实际使用的变量: [1] x11 x12 x13 x14 x18 x8 x9 根节点的错误:552/1472=0.375 n=1472 最后一棵树是最好的一个,将被选做最终模型。图8.8展示了这棵树。绘制树的命令如下: plot(fit, uniform?TRUE,main?“Classification Tree”) text(fit, use.n?TRUE, cex?1)
选择最佳的特征值预测银行贷款违约 - 图文(2)
2019-08-31 13:32
选择最佳的特征值预测银行贷款违约 - 图文(2).doc
将本文的Word文档下载到电脑
下载失败或者文档不完整,请联系客服人员解决!