利用R(CRAN)及Python安装H2O
启动R输入:
install.packages('h2o')
我安装过程中没有其他兼容包的使用,选择好镜像回撤就可以。
稍微有点大。
如果在Python中安装,直接使用
pip install h2o
因为我主要在R中应用,这里不做过多叙述。
2. 载入h2o库
R中输入:
library(h2o)
Python中输入:
import h2o
检查是否正确安装及工作正常,如果一切正常(没有报错),则进行下一部分,床上看基本设置信息:
h2o.init()
如果这样基本运行ok了。还有一些系统调节函数可以使用:
h2o.shutdown()
h2o.init(threads = -1, maxmemsize = '4g')
第一行主要判读H2O是否被启动;
第二行主要是调节相关参数,内存及线程等信息。
备注:Python中运行代码一致
3. 快速使用
该部分主要通过R中进行展示,python的部分代码在后面给出,但不会过多解释;
这里会通过一个实际案例,包括下载数据、准备数据、搭建多层神经网络模型及预测。
3.1 使用数据介绍
使用的数据是大部分R用户熟悉的Iris数据,R程序中自带这部分数据,但为了保证python用户使用,使用从网络断load数据进来的方法。
)library(h2o)
h2o.init(nthreads = -1)
## 修改文件路径
datasets = '/Users/zhangpeng/Desktop/h2o/datasets/iris_wheader.csv'
## 导入数据
data = h2o.importFile(datasets)
## 定义要学习字段名称
y = 'class'
## 导入的特征名称
x = c('sepal_len','sepal_wid','petal_len','petal_wid')
## 分割训练数据及测试数据,返回的是一个列表形式,
parts = h2o.splitFrame(data, 0.8)
train = parts[[1]]
test = parts[[2]]
## 训练模型,使用的是默认参数,每一次模型结果有差异,可以通过set.seed来重新结果
m = h2o.deeplearning(x, y, train)
## 可以参看具体参数mse
summary(m)
## 预测结果
p = h2o.predict(m, test)
## 制作模型结果的混淆矩阵
h2o.confusionMatrix(m)
h2o.performance(m)
## 制作训练结果的混淆矩阵
table(cbind(as.data.frame(p$predict), as.data.frame(test$class)))
对于模型使用summary可以看到相关系数的结果,具体后期会进行说明
下面为Python部分的代码,该部分没有测试;
import h2o
h2o.init()
datasets = '/Users/zhangpeng/Desktop/h2o/datasets/iris_wheader.csv'
data = h2o.import_file(datasets)
y = 'class'
x = ['sepal_len','sepal_wid','petal_len','petal_wid']
train, test = data.split_frame([0.8])
m = h2o.estimators.deeplearning.H2ODeepLearningEstimator()
m.train(x, y, train)
p = m.predict(test)
m.confusion_matrix(train)