H2O with R 简明使用手记·下篇
上篇链接
R中的数据操作
导入数据
myPath = "/my/file/path/"
mydata.hex = h2o.importFile(path = myPath, destination_frame = "mydata.hex")
.hex
文件是R中对H2O中数据的一个引用,类似一个路标,凭此可以在H2O中找到对应的数据去操作。
h2o.uploadFile()
还可以将数据上传到H2O云端。
数据操作
函数名 | 功能 |
---|---|
h2o.anyFactor(mydata.hex)
|
判断是否包含因子 |
mydata.hex[,a_column_num]<-as.factor(mydata.hex[,a_column_num])
|
将一列的整行数据转换成无排序的因子 |
mydata.R<-as.data.frame(mydata.hex)
|
将H2O数据转换成R的数据框格式,滞后可以用R中函数操作,R处理大量数据的能力不如H2O,所以需要确保转换的数据量R可以承受 |
mydata.hex<-as.h2o(mydata.R,destination_frame="mydata.hex")
|
as.data.frame() 的逆过程
|
mydata.hex<-h2o.assign(data=mydata.hex,key = "myNewName")
|
重命名,函数将保存新的数据集,对此数据集操作不会影响原来的数据,可以用h2o.ls() 查看key
|
colnames/names(mydata.hex)
|
显示列名 |
min/max(mydata.hex$AGE)
|
最小/最大值 |
mydata.qs<-quantile(mydata.hex$PSA, probs = (1:10)/10)
|
分位数 |
summary(mydata.hex)
|
类似R中同名函数 |
h2o.table(mydata.hex[,c("AGE","RACE")])
|
To summarize data, H2O很能装,可以用table处理超过R能力的数据 |
runif(mydata.hex)
|
在数据中添加一列随机数,可以用来切分数据,但效果不如h2o.spiltFrame() 快且稳定
|
mydata.split<-h2o.splitFrame(data = mydata.hex, ratios= 0.75); mydata.train <- mydata.split[[1]]; mydata.test <- mydata.split[[2]];
|
切分数据 |
mydata.hex <- h2o.getFrame(id = "mydata.hex")
|
得到H2O中的数据引用,也就是我们前面重命名中设置的Key |
my.model <- h2o.getModel(model_id="XXXX")
|
获得H2O中的模型 |
h2o.rm(c("mydata.train","mydata.test"))
|
删除h2o中的对象 |
simpleFun <- function(x) {2*x+5} calculated<-simpleFun(mydata.hex[,"AGE"])
|
可以直接使用R函数 |
运行模型
梯度提升模型 GBM
xx 是特征向量,yy 是整数或者类别
mydata.gbm <- h2o.gbm(y = 1, x = 2:5,training_frame = mydata.hex, ntrees = 10,max_depth = 3, min_rows = 2, learn_rate = 0.2, distribution= "gaussian")
看训练过程记录: mydata.gbm@model$scoring_history
, 要作分类,distribution
改为multinomial
广义线性模型 GLM
H2O用弹性网络惩罚拟合模型,拟合是分布式的,非常快,对于几千个非零参数的预测器效果好。
mydata.glm <- h2o.glm(y = "CAPSULE", x = c("AGE","RACE","PSA","DCAPS"),training_frame = mydata.hex, family = "binomial",nfolds = 10, alpha = 0.5)
K均值聚类
使用好方便,可以先训练K均值分类器,然后再用预测函数得到每个数据点的分类情况。
mydata.kmeans = h2o.kmeans(training_frame = mydata.hex, k = 3, x = 1:4)
mydata.clusters = h2o.predict(object = mydata.kmeans, newdata = mydata.hex)
预测
mydata.fit = h2o.predict(object = mydata.glm, newdata = mynewdata.hex)
H2O with R 简明使用手记·下篇相关推荐
- H2O with R 简明使用手记·上篇
在看H2O,把阅读官方booklet和API了解到的一些东西随手记了下来,以为备忘,遂成此小文. 概述 H2O 是一款针对智能应用的机器学习和深度学习的开源程序集.PayPal/思科/Nielsen等 ...
- R语言学习手记 (1)
R语言学习手记 (1) 经管的会计和财管都会学数据统计与分析R语言这门课,加上我也有点兴趣,就提前选了这门课,以下的笔记由老师上课的PPT.<R语言编程艺术>和<R语言数据科学> ...
- R语言︱H2o深度学习的一些R语言实践——H2o包
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- R语言H2o包的几个应用案例 笔者寄语:受启发 ...
- 使用R语言的正确姿势,R包干货奉献
生物信息学习的正确姿势 NGS系列文章包括NGS基础.在线绘图.转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这).ChIP-seq分析 (ChIP-seq基本分析流程).单细胞 ...
- R用户的福音︱TensorFlow:TensorFlow的R接口
------------------------------------------------------------ Matt︱R语言调用深度学习架构系列引文 R语言︱H2o深度学习的一些R语言实 ...
- 碎片︱R语言与深度学习
笔者:受alphago影响,想看看深度学习,但是其在R语言中的应用包可谓少之又少,更多的是在matlab和python中或者是调用.整理一下目前我看到的R语言的材料: ---------------- ...
- 【R 数据科学】R语言进行数据科学整理最有用的包大全
一.数据科学工作流程 1.1 数据导入 1.2 数据整理 1.3 反复理解数据 1.4 数据可视化 1.5 数据转换 1.6 统计建模 1.7 作出推断(比如预测) 1.8 沟通交流 1.9 自动化分 ...
- mxnet:结合R与GPU加速深度学习
转载于统计之都,http://cos.name/tag/dmlc/,作者陈天奇 ------------------------------------------------------------ ...
- sparklyr包:实现Spark与R的接口+sparklyr 0.5
本文转载于雪晴数据网 相关内容: sparklyr包:实现Spark与R的接口,会用dplyr就能玩Spark Sparklyr与Docker的推荐系统实战 R语言︱H2o深度学习的一些R语言实践-- ...
最新文章
- 融资 6 亿美元后,商汤发布 5 大 AI 产品
- 关于Oracle数据库用户密码过期的预防和解决办法
- swap交换空间(当内存不足时)
- 选购商用计算机任务书,计算机网络综合实习任务书-.doc
- 想了解Sleuth+zipkin分布式请求链路追踪,来看看这篇文章吧!
- springSecurity源码分析——DelegatingFilterProxy类的作用
- python 指针指向的内容,python-文件的读取及指针位置
- CMake find_package
- AcWing 888. 求组合数 IV(高精度求组合数问题)
- 计算机组成与系统结构习题
- 渗透测试工程师(实习生)面试题目
- ligerui demo php,LigerUI——天外飞仙
- 搜狐新闻文本分类数据集
- 华易记账宝 v6.5
- python四位数字加密_python实现字符串加密成纯数字
- OPPO手机生日倒计时天数怎么在便签中设置?
- DLL简述,很有意思
- AR+LBS线下社交游戏尝试
- word打带圈符号(带圈对勾为例)
- 关于C#托管代码与非托管代码的简述