随机森林在分类问题中的应用(sklearn的RandomForestClassifier)
程序员文章站
2022-07-14 15:19:35
...
一、导入相关模块
import pandas as pd
import numpy as np
from sklearn.ensemble import RandomForestClassifier
from sklearn.cross_validation import cross_val_score, ShuffleSplit
pandas 对文件数据进行基本操作
numpy 对数据进行计算的库
sklearn.cross_validation 用来划分训练集,测试集
二、导入数据
data=pd.read_csv('aa.csv') #文件是aa.csv
看看数据的基本形状
data.head()
三、数据预处理
对于缺失的数据一般有删除行,删除列,拟合补充,均值补充等方法。这儿选择用零来填充
data=data.fillna(0)
data.head()
划分数据集,产生训练数据,测试数据
Train, Test = cross_validation.train_test_split(data,
test_size=0.2,
random_state=0)
train_y=Train['是否购买']
t=Train.pop('用户编号')
bb=Train.pop('是否购买')
test_y=Test['是否购买']
t_test=Test.pop('用户编号')
bb_test=Test.pop('是否购买')
四、构建模型,训练
train_x=Train
x_train=train_x.values
y_train=np.array(train_y)
test_x=Test
x_test=test_x.values
y_test=np.array(test_y)
rf = RandomForestClassifier(n_estimators=22, max_depth=4)
rf.fit(x_train,y_train)
五、模型测试
rf.predict(x_test
六、说明
RandomForestClassifier 模型的参数详情见 点击打开链接 官方英文版本
模型的最佳参数可以用网格搜索的方法,本文没有做,参数没有调优。
数据来源用户商品推荐系统
上一篇: mobilenetv1,v2网络结构(无原理解析)
下一篇: 基于随机森林的化合物活性二分类模型