R语言︱H2o深度学习的一些R语言实践——H2o包
每每以为攀得众山小,可、每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~
———————————————————————————
R语言H2o包的几个应用案例
笔者寄语:受启发想了解H2o平台的一些R语言实现,网上已有一篇H2o的demo文件。笔者在这多贴一些案例,并且把自己实践的一些小例子贴出来。
关于H2o平台长啥样,可以看H2o的官网,关于深度学习长啥样,可以看一些教程,比如ParallelR博客之中的解析。
下面主要是贴几个案例,让大家看看。
————————————————————————————————————————————————————————————
Matt︱R语言调用深度学习架构系列引文
R语言︱H2o深度学习的一些R语言实践——H2o包
R用户的福音︱TensorFlow:TensorFlow的R接口
mxnet:结合R与GPU加速深度学习
碎片︱R语言与深度学习
sparklyr包:实现Spark与R的接口,会用dplyr就能玩Spark
—————————————————————————————————————
本文中介绍的H2o包在调用的过程主要有以下简要步骤:
连接、搭建H2o环境(heo.init())——数据转换成h2o格式(as.h2o)——模型拟合(h2o.deeplearning)——预测(h2o.predict)——数据呈现(h2o.performance)。
一、H2o包的demo(glm)
网上已经有了,博客笔者看了并做了简单的中文注释。详情可以见std1984博客。
二、来自ParallelR博客的案例
博客中主要是为了说明深度学习要比其他普通学习方法的精度高。数据是H2o网站数据,笔者windows系统下没有能够下载到该数据,所以后续的分析都没有办法继续进行了。
library(h2o)
# single thread
h2o.init()
#连接h2o平台train_file <- "https://h2o-public-test-data.s3.amazonaws.com/bigdata/laptop/mnist/train.csv.gz"
test_file <- "https://h2o-public-test-data.s3.amazonaws.com/bigdata/laptop/mnist/test.csv.gz"train <- h2o.importFile(train_file)
test <- h2o.importFile(test_file)# To see a brief summary of the data, run the following command
summary(train)
summary(test)y <- "C785"
x <- setdiff(names(train), y)# We encode the response column as categorical for multinomial
#classification
train[,y] <- as.factor(train[,y])
test[,y] <- as.factor(test[,y])# Train a Deep Learning model and valid
system.time(model_cv <- h2o.deeplearning(x = x,y = y,training_frame = train,distribution = "multinomial",activation = "Rectifier",hidden = c(32),l1 = 1e-5,epochs = 200)
)
三、最简单的案例——基于iris数据集的深度学习
本案例主要来自h2o官方手册中,h2o.deeplearning包的示例,比较简单易懂。如果你想看预测的数据可以用as.data.frame来变成R能识别的数据框格式。
##参考来自:h2o官方手册,h2o.deeplearning函数的示例
library(h2o)
h2o.init()
iris.hex <- as.h2o(iris)iris.dl <- h2o.deeplearning(x = 1:4, y = 6, training_frame = iris.hex) #模型拟合
# now make a prediction
predictions <- h2o.predict(iris.dl, iris.hex) #预测
as.data.frame(predictions) #预测数据变成数据框performance = h2o.performance(model = iris.dl)
print(performance)
输出的结果长成下面这个样子。
大概构成是:模型评价指标+混淆矩阵+一些指标的阈值(这个是啥??)
看到混淆矩阵,你就差不多懂了~
> print(performance)
H2OBinomialMetrics: deeplearning
** Reported on training data. **
Description: Metrics reported on full training frameMSE: 0.01030833
R^2: 0.9536125
LogLoss: 0.05097025
AUC: 1
Gini: 1Confusion Matrix for F1-optimal threshold:0 1 Error Rate
0 100 0 0.000000 =0/100
1 0 50 0.000000 =0/50
Totals 100 50 0.000000 =0/150Maximum Metrics: Maximum metrics at their respective thresholdsmetric threshold value idx
1 max f1 0.983179 1.000000 49
2 max f2 0.983179 1.000000 49
3 max f0point5 0.983179 1.000000 49
4 max accuracy 0.983179 1.000000 49
5 max precision 0.999915 1.000000 0
6 max recall 0.983179 1.000000 49
7 max specificity 0.999915 1.000000 0
8 max absolute_MCC 0.983179 1.000000 49
9 max min_per_class_accuracy 0.983179 1.000000 49Gains/Lift Table: Extract with `h2o.gainsLift(<model>, <data>)` or `h2o.gainsLift(<model>, valid=<T/F>, xval=<T/F>)`
每每以为攀得众山小,可、每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~
———————————————————————————
R语言︱H2o深度学习的一些R语言实践——H2o包相关推荐
- 碎片︱R语言与深度学习
笔者:受alphago影响,想看看深度学习,但是其在R语言中的应用包可谓少之又少,更多的是在matlab和python中或者是调用.整理一下目前我看到的R语言的材料: ---------------- ...
- 第13届R会演讲 | 深度学习语义分割引导.ppt
2020年,第13届中国 R 会(北京)将于12月19-20日在中国人民大学召开,本次会议由统计之都,中国人民大学统计学院.中国人民大学应用统计科学研究中心主办,得到 R Studio 赞助支持,将以 ...
- 【C语言进阶深度学习记录】五 C语言中变量的属性
上一篇文章学习了C语言中的类型转换,点击链接查看:[C语言进阶深度学习记录]四 C语言中的类型转换. 文章目录 1 C语言的变量属性 1.1 auto关键字 1.2 register关键字 1.3 s ...
- C语言进阶深度学习目录表
学习交流加(可免费帮忙下载CSDN资源): 个人微信(进微信群加): LyyCoder 学习交流资源分享qq群1(已满): 962535112 学习交流资源分享qq群2(已满): 780902027 ...
- 【C语言进阶深度学习记录】三十八 C/C++语言中的函数声明与函数定义
文章目录 1 函数的声明和定义 1.1 代码分析 2 总结 1 函数的声明和定义 声明的意义在于告诉编译器程序单元的存在.只是告诉编译器它存在但是不在声明这里定义,有可能在当前文件中的其他地方或者其他 ...
- 【C语言进阶深度学习记录】三十五 程序中的堆、栈以及静态存储区(数据区)
学习交流加 个人qq: 1126137994 个人微信: liu1126137994 学习交流资源分享qq群: 962535112 在我之前学习底层的知识的时候,也写过相关的内容.可以对比的学习:[软 ...
- 【C语言进阶深度学习记录】二十六 C语言中的字符串与字符数组的详细分析
之前有一篇文章是学习了字符和字符串的,可以与之结合学习:[C语言进阶深度学习记录]十二 C语言中的:字符和字符串 文章目录 1 字符串的概念 1.1 字符串与字符数组 1.2 字符数组与字符串代码分析 ...
- 【C语言进阶深度学习记录】十九 #pragma使用与分析
文章目录 1 #pragma 概念简介 1.1 #pragma message 的用法 1.2 #pragma once 的用法 1.3 #pragma pack 的用法 1.31 struct占用的 ...
- 【C语言进阶深度学习记录】十六 静态库与动态库的创建与使用
上一篇文章学习了编译的过程,点击链接查看:[C语言进阶深度学习记录]十五 编译过程简介,每一个C源文件编译后将会生成目标文件,那么这些目标文件,还需要链接起来,生成可执行文件. 文章目录 1 链接的意 ...
最新文章
- 2019-4-25 html学习笔记
- webstorm 设置uglify 压缩js文件
- 放置奇兵 新 粉石墨
- nginx 正向代理配置
- C++编程思想:继承与虚函数以及多态
- 我的第一个SpringBoot项目
- (C/C++学习)15.C语言字符串和字符数组
- 用 Python 分析了 1982 场英雄联盟数据,开局前预测游戏对局胜负!
- 海量数据挖掘MMDS week1: MapReduce
- svn 服务器修改密码,用户自行修改svn密码的简单服务
- symantec backup exec 2010 oracle 12,Symantec Backup Exec 2010在Windows平台下Oracle备份详细配置步骤...
- vb.net使用hook技术之键盘鼠标钩子
- 6 个主流 AI 聊天机器人平台
- 微信iPad协议-云控系统-微商工具-云发单-微信机器人
- 水彩风建筑效果图制作教程
- word2016从某一页开始插入新的起始页码
- VMware15Pro进入MacOS10.14恢复模式(Recovery)
- NAS和AutoML
- Xeam Visual Installer白金版,Xeam Visual Installer完整用户体验
- python爬网易云_python爬网易云音乐-知了汇智
热门文章
- 【LeetCode】168. Excel Sheet Column Title 解题小结
- 算法_栈的Java的通用数组实现
- 有一动态生成的TABLE,当点击该TABLE中的按钮时,如何得到该按钮所在行的某一列的值啊?...
- Nginx 从入门到放弃(五)
- CentOS6.X安装10G需要额外安装的软件包
- SpringBoot分页组件PageHelper介绍及使用
- CXF 不依赖spring的实现
- linux find acm time
- 如何实现系统集约与管理运营集约相互促进而不是相互制约
- 郎永淳妻子抗癌4年路:儿子弃读名校陪治病(转)