H2O with R 簡明使用手記 下篇

2021-07-10 22:37:55 字數 2644 閱讀 8513

上篇鏈結

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="***x")獲得h2o中的模型

h2o.rm(c("mydata.train","mydata.test"))刪除h2o中的物件

******fun <- function(x)calculated<-******fun(mydata.hex[,"age"])可以直接使用r函式

x 是特徵向量,

y是整數或者類別

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

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均值分類器,然後再用**函式得到每個資料點的分類情況。

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)

openssl簡明使用手冊

簡要介紹了使用openssl來生成ca證書 申請證書 頒發證書以及撤銷證書的過程 1.首先建立ca金鑰 openssl genrsa des3 out ca.key 1024 建立金鑰 chmod 400 ca.key 修改許可權為僅root能訪問 openssl rsa noout text in...

CocoaPods 簡明使用手冊

首先安裝ruby cocoapods需要這個 預設安裝就這一句 sudo gem install cocoapods 但是在國內cocoapods.org被封,因此需要用taobao.com的映象安裝 gem sources remove 刪除原 gem sources a 加入 源 sudo ge...

openssl簡明使用手冊

簡要介紹了使用openssl來生成ca證書 申請證書 頒發證書以及撤銷證書的過程。首先建立ca金鑰 openssl genrsa des3 out ca.key 1024 建立金鑰 chmod 400 ca.key 修改許可權為僅root能訪問 openssl rsa noout text in c...