R语言用法笔记誊写
1.执行目录下的R程序:source(‘’)
2.存入文件 sink()
p33
3.p50 attach(dataFram) detach(dataFram) or with(dataFram,{})不可修改值, within()可修改值
4.可以用到灵敏度分析,上次成功对下次成功的灵敏影响
5.有序变量:根据上文的输入变量描述,可以认为变量education是有序分类变量,影响大小排序为"illiterate","basic.4y","basic.6y","basic.9y","high.school","professional.course", "university.degree", 变量影响由小到大的顺序编码为1、2、3、...,。
无序变量:根据上文的输入变量描述,可以认为变量job,marital,contact,month,day_of_week为无序分类变量。需要说明的是,虽然变量month和day_of_week从时间角度是有序的,但是对于目标变量而言是无序的。对于无序分类变量,可以利用哑变量(dummy variables)进行编码。
6.table(matrx1,matrx2) 求列联表,需要1和2有同样的因子,统计因子对出现的次数,eg:
KnnFit
real B M
B 63 1
M 5 45
diag(CT):取对角线元素
比较SVM和ANN和DT和knn
解释特征变量,然后分析分类,分类后可对用户单独进行聚类分析,打标签,单独分析不同类的分类预测情况,以及合并在一起后的分类预测情况
若有时间长度的数据,可更进一步分析时间长度上各数值的变化以及对结果的影响
7.rpart
使用ID3算法时候,split = “information” ,使用CART算法的时候, split = “gini”
cp是参数复杂度(complexity parameter)作为控制树规模的惩罚因子,简而言之,就是cp越大,树分裂规模(nsplit)越小。输出参数(rel error)指示了当前分类模型树与空树之间的平均偏差比值。xerror为交叉验证误差,xstd为交叉验证误差的标准差。可以看到,当nsplit为3的时候,即有四个叶子结点的树,要比nsplit为4,即五个叶子结点的树的交叉误差要小。而决策树剪枝的目的就是为了得到更小交叉误差(xerror)的树。
8.
9.R语言中已经有许多用于神经网络的package。例如nnet、AMORE以及neuralnet,nnet提供了最常见的前馈反向传播神经网络算法。AMORE包则更进一步提供了更为丰富的控制参数,并可以增加多个隐藏层。neuralnet包的改进在于提供了弹性反向传播算法和更多的**函数形式。但以上各包均围绕着BP网络,并未涉及到神经网络中的其它拓扑结构和网络模型。而新出炉的RSNNS包则在这方面有了极大的扩充。
https://bbs.pinggu.org/forum.php?mod=viewthread&ordertype=1&tid=4156657
10.评价指标
precision: 0.588
recall: 0.490
F: 0.267
1. Sensitivity(覆盖率,True Positive Rate)=正确预测到的正例数/实际正例总数
Recall (True Positive Rate,or Sensitivity) =true positive/total actual positive=d/c+d
2. PV+ (命中率,Precision, Positive Predicted Value) =正确预测到的正例数/预测正例总数
Precision (Positive Predicted Value, PV+) =true positive/ total predicted positive=d/b+d
3. Specificity (负例的覆盖率,True Negative Rate) =正确预测到的负例个数/实际负例总数
Specificity (True Negative Rate) =true negative/total actual negative=a/a+b
> mmetric(M_dt, metric='ALIFT', D = 0.5, TC = -1, val = NULL, aggregate = "no")
ALIFT
1 0.7531771
2 0.7735520
3 0.7737718
4 0.7875727
5 0.7742954
> mmetric(M_dt, metric='AUC')
AUC
1 0.8375298
2 0.8526320
3 0.8543062
4 0.8655796
5 0.8531807