scikit-learn决策树算法库介绍
scikit-learn决策树算法库内部实现是使用了调优过的CART树算法,既可以做分类,又可以做回归。分类决策树的类对应的是DecisionTreeClassifier,而回归决策树的类对应的是DecisionTreeRegressor。两者的参数定义几乎完全相同,但是意义不全相同。
本文详细介绍DecisionTreeClassifier 在python scikit-learn上的使用。
包含数据读取,模块载入,模块使用,规则导出,模型保存,调参说明。
模块加载
import pandas as pd
from sklearn import tree
数据载入
#训练集数据读取
train = pd.read_csv('train.csv')
target='TRADER' # TRADER的值就是二元分类的输出(列名)
ID = 'USER_ID'
train['TRADER'].value_counts() #类别计算
x_columns0 = [x for x in train.columns if x not in [target, ID]]
X = train[x_columns0]
y = train['TRADER']
#测试集数据读取
test = pd.read_csv('test.csv')
test['TRADER'].value_counts() #类别计算
x_columns1 = [x for x in test.columns if x not in [target, ID]]
x_test = test[x_columns1]
y_test = test['TRADER']
print ('数据读取完毕')
另外,读取excel格式会比csv格式的数据速度慢很多,至少在我这个数据集上是这样子的。csv用了不到5s,而excel读取花了1min+。
#引入tree模块,对应的参数设置将于后面提及
clf = tree.DecisionTreeClassifier(class_weight=None, criterion='gini', max_depth=None,
max_features=7, max_leaf_nodes=None,
m