R语言-机器学习汇总

R语言基础语法

https://zhuanlan.zhihu.com/p/21597713
https://zhuanlan.zhihu.com/p/21576354

1.list转化为data frame

mydataframe=as.data.frame(mylist)

R语言&机器学习

caret package

1.数据划分
对spam这个数据集进行训练集及测试集的8/2划分。

# createDataPartition( )就是数据划分函数
# 对象是spam$type(即spam的type列作为label)
# p=0.8表示训练集所占的比例为80%
# list是输出结果的格式,默认list=FALSE
inTrain <- createDataPartition(y=spam$type,p=0.8,list=FALSE)

# 制定具体的训练数据
training <- spam[inTrain, ]
# 制定具体的测试数据
testing <- spam[-inTrain, ]

SMOTE处理非平衡数据 (DMwR包)

perc.over = xx 表示 少样本变成原来的(1+xx/100)倍
perc.under=yy 表示多样本变成少样本的 yy/100 *(xx/100)倍

XGboost

XGboost的参数

补充说明:
1. xgboost参数中的min_child_weight
2. xgboost参数中的colsample_bytree
训练每棵树时用来训练的特征的比例,类似 RandomForestClassifier 的 max_features (bagging范畴)

xgb.cv

1.交叉验证与xgboost
2.通过交叉验证(xgb.cv)进行调参得到best_iteration(即多少棵树时泛化能力最强)

xgb.train

xgb.importance得出特征重要性及其排序

基本思想:
根据结构分数的增益情况计算出来选择哪个特征的哪个分割点,某个特征的重要性,就是它在所有树中出现的次数之和。

你可能感兴趣的:(r语言,机器学习,xgboost)