欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

随机森林在分类问题中的应用(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()

随机森林在分类问题中的应用(sklearn的RandomForestClassifier)

三、数据预处理

对于缺失的数据一般有删除行,删除列,拟合补充,均值补充等方法。这儿选择用零来填充

data=data.fillna(0)
data.head()

随机森林在分类问题中的应用(sklearn的RandomForestClassifier)

划分数据集,产生训练数据,测试数据

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 模型的参数详情见 点击打开链接 官方英文版本

模型的最佳参数可以用网格搜索的方法,本文没有做,参数没有调优。

数据来源用户商品推荐系统