Python<H2o使用分布式随机森林建模分类>

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Gpwner/article/details/74058850

1.安装H2o

cmd:输入pip install h2o

这里写图片描述

2.启动

python
import h2o
h2o.init()

这里写图片描述

启动成功之后可以在浏览器中输入:localhost:54321
这里写图片描述

3.数据准备

使用到的数据在我的github
这里写图片描述

3.建模

a.读入数据
这里写图片描述

这里写图片描述

b.解析文件
这里写图片描述

c.查看Job
这里写图片描述

d.创建模型
这里写图片描述

e.选择随机森林
这里写图片描述
f.选择特征,响应列,其他参数按需调整
这里写图片描述
g.参数填好之后,建模

这里写图片描述

h.查看Job
这里写图片描述
i.随机森林数的数量与trainlogloess之间的关系
这里写图片描述
j.各个属性的重要程度
这里写图片描述

4.分类

a.导入测试集
这里写图片描述
b.接下来几个步骤建模时候的一样,这里就不赘述
c.预测
这里写图片描述

这里写图片描述

d.分类结果
这里写图片描述

e.将分类结果与测试集合并
这里写图片描述

f.将合并结果导出
这里写图片描述

这里写图片描述

进度条跑到百分之百就说明导出成功
这里写图片描述

得到的结果,比之前的测试集多了三列

这里写图片描述

5.使用IDE的代码编写


# coding: utf-8

# In[1]:

import h2o
h2o.init()


# In[75]:

trainFrame =h2o.import_file("C:\\Users\\gpwner\\Desktop\\train.csv")[2:]
names=trainFrame.col_names[:-1]
response_column = 'Catrgory'


# In[37]:

from h2o.estimators import H2ORandomForestEstimator
# Define model
model = H2ORandomForestEstimator(ntrees=50, max_depth=20, nfolds=10)
model.train(x=names,y=response_column,training_frame=trainFrame)


# In[84]:

testdata =h2o.import_file("C:\\Users\\gpwner\\Desktop\\test.csv")[2:]
pre_tag=H2ORandomForestEstimator.predict(model ,testdata)
pre_tag['predict']
resultdata=testdata.cbind(pre_tag['predict'])
resultdata
h2o.download_csv(resultdata,"C:\\Users\\gpwner\\Desktop\\predict.csv")


# In[82]:

from __future__ import division
correct=resultdata[resultdata['Catrgory']==resultdata['predict']]
print(float(len(correct)/len(resultdata)))

猜你喜欢

转载自blog.csdn.net/Gpwner/article/details/74058850