Python scikit-learn包 决策树和随机森林实例代码
来源:互联网 发布:数据库系统实现 ppt 编辑:程序博客网 时间:2024/05/17 08:56
决策树
从训练数据中取随机的20条作为测试数据,用决策树学习剩余的数据。再用习得的决策树预测20条测试数据的label,和原20条测试数据的label进行比对。
>>> import numpy as np>>> B_x = np.loadtxt(open("D:\Python\B_train1_P.csv","rb"),delimiter=",",skiprows=0)>>> B_y = np.loadtxt(open("D:\Python\B_train1_l_P.csv","rb"),delimiter=",",skiprows=0)>>> np.random.seed(0)>>> indices = np.random.permutation(len(B_x))>>> B_x_train = B_x[indices[:-20]]>>> B_y_train = B_y[indices[:-20]]>>> B_x_test = B_x[indices[-20:]]>>> B_y_test = B_y[indices[-20:]]>>> from sklearn import tree>>> clf = tree.DecisionTreeClassifier()>>> clf = clf.fit(B_x_train, B_y_train)>>> clf.predict(B_x_test)array([ 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])>>> B_y_testarray([ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])>>> clf.predict_proba(B_x_test)array([[ 1. , 0. ], [ 1. , 0. ], [ 1. , 0. ], [ 0. , 1. ], [ 1. , 0. ], [ 1. , 0. ], [ 0.91581633, 0.08418367], [ 1. , 0. ], [ 1. , 0. ], [ 1. , 0. ], [ 0.97058824, 0.02941176], [ 1. , 0. ], [ 1. , 0. ], [ 1. , 0. ], [ 1. , 0. ], [ 0.95145631, 0.04854369], [ 1. , 0. ], [ 1. , 0. ], [ 1. , 0. ], [ 1. , 0. ]])
关于参数
决策树的重要参数都是防止过拟合的. 有2个参数是关键:
min_samples_leaf: 这个sklearn的默认值是1,10万样本项目使用min_samples_leaf的值为5;
max_depth:这个参数控制树的规模。决策树是一个非常直观的机器学习方法。一般我们都会把它的决策树结构打印出来观察,如果深度太深对于我们的理解是有难度的。
=-=我也不知道我这4000条训练数据这两个“重要”参数该取多少。
随机森林
>>> from sklearn.ensemble import RandomForestClassifier>>> clf = RandomForestClassifier(n_estimators=10)>>> clf = clf.fit(B_x_train, B_y_train)>>> clf.predict(B_x_test)
0 0
- Python scikit-learn包 决策树和随机森林实例代码
- <机器学习笔记-05 ><scikit-learn 05>决策树 & 随机森林
- python包sk-learn中的随机森林
- 决策树和随机森林
- 决策树和随机森林
- 决策树和随机森林
- Python Scikit-learn ---- 决策树算法
- 使用scikit-learn解释随机森林算法
- scikit-learn随机森林调参小结
- scikit-learn随机森林调参小结
- scikit-learn 中的随机森林用法
- scikit-learn随机森林调参
- scikit-learn随机森林调参小结
- 使用scikit-learn解释随机森林算法
- scikit-learn中随机森林使用详解
- 30分钟学会用scikit-learn的基本回归方法(线性、决策树、SVM、KNN)和集成方法(随机森林,Adaboost和GBRT)
- 30分钟学会用scikit-learn的基本分类方法(决策树、SVM、KNN)和集成方法(随机森林,Adaboost和GBRT)
- 30分钟学会用scikit-learn的基本回归方法(线性、决策树、SVM、KNN)和集成方法(随机森林,Adaboost和GBRT)
- 大话设计模式读书笔记(十四) 适配器模式
- Developing DataBase Applications Using MySQL Connector/C++ 中文文本
- PreparedStatement中的execute、executeQuery和executeUpdate之间的区别
- Java俄罗斯轮盘死亡游戏
- gdb调试器用法
- Python scikit-learn包 决策树和随机森林实例代码
- hibernate教程--持久化类状态详解
- 数列求和(void 函数)
- 利用ICESat角点数据通过最小二乘精化DEM
- 数据库设计的三大范式
- Spring示例工程
- zzuli 2131: Can Win(最大流 公平分配)@
- unity wav 格式音频转 写入本地
- StringBuilder、StringBuffer和String三者的联系和区别