H2O - การติดตั้ง

H2O สามารถกำหนดค่าและใช้กับห้าตัวเลือกที่แตกต่างกันตามรายการด้านล่าง -

  • ติดตั้งใน Python

  • ติดตั้งใน R

  • Flow GUI บนเว็บ

  • Hadoop

  • เมฆอนาคอนดา

ในส่วนต่อไปคุณจะเห็นคำแนะนำสำหรับการติดตั้ง H2O ตามตัวเลือกที่มี คุณมีแนวโน้มที่จะใช้ตัวเลือกใดตัวเลือกหนึ่ง

ติดตั้งใน Python

ในการรัน H2O ด้วย Python การติดตั้งจำเป็นต้องมีการอ้างอิงหลายอย่าง ดังนั้นให้เราเริ่มติดตั้งชุดการอ้างอิงขั้นต่ำเพื่อเรียกใช้ H2O

การติดตั้งการอ้างอิง

ในการติดตั้งการอ้างอิงให้ดำเนินการคำสั่ง pip ต่อไปนี้ -

$ pip install requests

เปิดหน้าต่างคอนโซลของคุณและพิมพ์คำสั่งด้านบนเพื่อติดตั้งแพ็คเกจคำขอ ภาพหน้าจอต่อไปนี้แสดงการทำงานของคำสั่งดังกล่าวบนเครื่อง Mac ของเรา -

หลังจากติดตั้งคำขอคุณต้องติดตั้งแพ็คเกจเพิ่มเติมอีกสามแพ็คเกจดังที่แสดงด้านล่าง -

$ pip install tabulate
$ pip install "colorama >= 0.3.8"
$ pip install future

รายการการอ้างอิงที่อัปเดตที่สุดมีอยู่ในหน้า H2O GitHub ในขณะที่เขียนนี้การอ้างอิงต่อไปนี้จะแสดงรายการบนหน้า

python 2. H2O — Installation
pip >= 9.0.1
setuptools
colorama >= 0.3.7
future >= 0.15.2

การลบเวอร์ชันที่เก่ากว่า

หลังจากติดตั้งการอ้างอิงข้างต้นคุณจะต้องลบการติดตั้ง H2O ที่มีอยู่ออก โดยเรียกใช้คำสั่งต่อไปนี้ -

$ pip uninstall h2o

การติดตั้งเวอร์ชันล่าสุด

ตอนนี้ให้เราติดตั้ง H2O เวอร์ชันล่าสุดโดยใช้คำสั่งต่อไปนี้ -

$ pip install -f http://h2o-release.s3.amazonaws.com/h2o/latest_stable_Py.html h2o

หลังจากติดตั้งสำเร็จคุณจะเห็นข้อความต่อไปนี้ปรากฏบนหน้าจอ -

Installing collected packages: h2o
Successfully installed h2o-3.26.0.1

การทดสอบการติดตั้ง

ในการทดสอบการติดตั้งเราจะเรียกใช้หนึ่งในแอปพลิเคชันตัวอย่างที่มีให้ในการติดตั้ง H2O เริ่มต้นพรอมต์ Python ก่อนโดยพิมพ์คำสั่งต่อไปนี้ -

$ Python3

เมื่อตัวแปล Python เริ่มทำงานให้พิมพ์คำสั่ง Python ต่อไปนี้บนพรอมต์คำสั่ง Python -

>>>import h2o

คำสั่งดังกล่าวนำเข้าแพ็คเกจ H2O ในโปรแกรมของคุณ จากนั้นเริ่มต้นระบบ H2O โดยใช้คำสั่งต่อไปนี้ -

>>>h2o.init()

หน้าจอของคุณจะแสดงข้อมูลคลัสเตอร์และควรมีลักษณะดังต่อไปนี้ในขั้นตอนนี้ -

ตอนนี้คุณพร้อมที่จะรันโค้ดตัวอย่างแล้ว พิมพ์คำสั่งต่อไปนี้บนพรอมต์ Python และดำเนินการ

>>>h2o.demo("glm")

การสาธิตประกอบด้วยโน้ตบุ๊ก Python พร้อมชุดคำสั่งต่างๆ หลังจากดำเนินการแต่ละคำสั่งผลลัพธ์จะปรากฏบนหน้าจอทันทีและคุณจะถูกขอให้กดปุ่มเพื่อดำเนินการต่อในขั้นตอนต่อไป ภาพหน้าจอบางส่วนในการดำเนินการคำสั่งสุดท้ายในสมุดบันทึกจะแสดงที่นี่ -

ในขั้นตอนนี้การติดตั้ง Python ของคุณเสร็จสมบูรณ์และคุณพร้อมสำหรับการทดลองของคุณเอง

ติดตั้งใน R

การติดตั้ง H2O สำหรับการพัฒนา R นั้นคล้ายกับการติดตั้งสำหรับ Python มากยกเว้นว่าคุณจะใช้ R prompt ในการติดตั้ง

เริ่ม R Console

เริ่มคอนโซล R โดยคลิกที่ไอคอนแอปพลิเคชัน R บนเครื่องของคุณ หน้าจอคอนโซลจะปรากฏดังที่แสดงในภาพหน้าจอต่อไปนี้ -

การติดตั้ง H2O ของคุณจะทำได้ในพรอมต์ R ด้านบน หากคุณต้องการใช้ RStudio ให้พิมพ์คำสั่งในหน้าต่างย่อย R console

การลบเวอร์ชันที่เก่ากว่า

ในการเริ่มต้นให้ลบเวอร์ชันเก่าโดยใช้คำสั่งต่อไปนี้ในพรอมต์ R -

> if ("package:h2o" %in% search()) { detach("package:h2o", unload=TRUE) }
> if ("h2o" %in% rownames(installed.packages())) { remove.packages("h2o") }

การดาวน์โหลดการอ้างอิง

ดาวน์โหลดการอ้างอิงสำหรับ H2O โดยใช้รหัสต่อไปนี้ -

> pkgs <- c("RCurl","jsonlite")
for (pkg in pkgs) {
   if (! (pkg %in% rownames(installed.packages()))) { install.packages(pkg) }
}

การติดตั้ง H2O

ติดตั้ง H2O โดยพิมพ์คำสั่งต่อไปนี้บนพรอมต์ R -

> install.packages("h2o", type = "source", repos = (c("http://h2o-release.s3.amazonaws.com/h2o/latest_stable_R")))

ภาพหน้าจอต่อไปนี้แสดงผลลัพธ์ที่คาดหวัง -

มีอีกวิธีหนึ่งในการติดตั้ง H2O ใน R

ติดตั้งใน R จาก CRAN

ในการติดตั้ง R จาก CRAN ให้ใช้คำสั่งต่อไปนี้บน R prompt -

> install.packages("h2o")

คุณจะถูกขอให้เลือกกระจก -

--- Please select a CRAN mirror for use in this session ---

กล่องโต้ตอบที่แสดงรายการมิเรอร์ไซต์จะปรากฏบนหน้าจอของคุณ เลือกตำแหน่งที่ใกล้ที่สุดหรือกระจกที่คุณเลือก

การทดสอบการติดตั้ง

ในพรอมต์ R พิมพ์และเรียกใช้รหัสต่อไปนี้ -

> library(h2o)
> localH2O = h2o.init()
> demo(h2o.kmeans)

ผลลัพธ์ที่สร้างขึ้นจะเป็นดังที่แสดงในภาพหน้าจอต่อไปนี้ -

การติดตั้ง H2O ใน R ของคุณเสร็จสมบูรณ์แล้ว

การติดตั้ง Web GUI Flow

ในการติดตั้ง GUI Flow ให้ดาวน์โหลดไฟล์การติดตั้งจากไซต์ H20 แตกไฟล์ที่ดาวน์โหลดมาในโฟลเดอร์ที่คุณต้องการ สังเกตการมีอยู่ของไฟล์ h2o.jar ในการติดตั้ง เรียกใช้ไฟล์นี้ในหน้าต่างคำสั่งโดยใช้คำสั่งต่อไปนี้ -

$ java -jar h2o.jar

หลังจากนั้นสักครู่สิ่งต่อไปนี้จะปรากฏในหน้าต่างคอนโซลของคุณ

07-24 16:06:37.304 192.168.1.18:54321 3294 main INFO: H2O started in 7725ms
07-24 16:06:37.304 192.168.1.18:54321 3294 main INFO:
07-24 16:06:37.305 192.168.1.18:54321 3294 main INFO: Open H2O Flow in your web browser: http://192.168.1.18:54321
07-24 16:06:37.305 192.168.1.18:54321 3294 main INFO:

ในการเริ่ม Flow ให้เปิด URL ที่กำหนด http://localhost:54321ในเบราว์เซอร์ของคุณ หน้าจอต่อไปนี้จะปรากฏขึ้น -

ในขั้นตอนนี้การติดตั้ง Flow ของคุณเสร็จสมบูรณ์

ติดตั้งบน Hadoop / Anaconda Cloud

หากคุณไม่ได้เป็นนักพัฒนามืออาชีพคุณคงไม่คิดที่จะใช้ H2O กับ Big Data ก็เพียงพอแล้วที่จะกล่าวได้ว่าโมเดล H2O ทำงานได้อย่างมีประสิทธิภาพบนฐานข้อมูลขนาดใหญ่หลายเทราไบต์ หากข้อมูลของคุณอยู่ในการติดตั้ง Hadoop หรือในระบบคลาวด์ให้ทำตามขั้นตอนที่ให้ไว้ในไซต์ H2O เพื่อติดตั้งสำหรับฐานข้อมูลของคุณ

ตอนนี้คุณได้ติดตั้งและทดสอบ H2O บนเครื่องของคุณเรียบร้อยแล้วคุณก็พร้อมสำหรับการพัฒนาจริง ขั้นแรกเราจะเห็นการพัฒนาจากพรอมต์คำสั่ง ในบทเรียนต่อไปเราจะได้เรียนรู้วิธีการทดสอบโมเดลใน H2O Flow

การพัฒนาใน Command Prompt

ตอนนี้ให้เราพิจารณาใช้ H2O เพื่อจำแนกพืชของชุดข้อมูลไอริสที่รู้จักกันดีซึ่งมีให้ใช้งานฟรีสำหรับการพัฒนาแอปพลิเคชัน Machine Learning

เริ่มตัวแปล Python โดยพิมพ์คำสั่งต่อไปนี้ในหน้าต่างเชลล์ของคุณ -

$ Python3

สิ่งนี้เริ่มต้นล่าม Python นำเข้าแพลตฟอร์ม h2o โดยใช้คำสั่งต่อไปนี้ -

>>> import h2o

เราจะใช้อัลกอริทึม Random Forest ในการจำแนก สิ่งนี้มีให้ในแพ็คเกจ H2ORandomForestEstimator เรานำเข้าแพ็คเกจนี้โดยใช้คำสั่งนำเข้าดังต่อไปนี้ -

>>> from h2o.estimators import H2ORandomForestEstimator

เราเริ่มต้นสภาพแวดล้อม H2o โดยเรียกใช้วิธีการเริ่มต้น

>>> h2o.init()

เมื่อเริ่มต้นสำเร็จคุณควรเห็นข้อความต่อไปนี้บนคอนโซลพร้อมกับข้อมูลคลัสเตอร์

Checking whether there is an H2O instance running at http://localhost:54321 . connected.

ตอนนี้เราจะนำเข้าข้อมูลม่านตาโดยใช้เมธอด import_file ใน H2O

>>> data = h2o.import_file('iris.csv')

ความคืบหน้าจะแสดงดังที่แสดงในภาพหน้าจอต่อไปนี้ -

หลังจากโหลดไฟล์ในหน่วยความจำแล้วคุณสามารถตรวจสอบได้โดยแสดง 10 แถวแรกของตารางที่โหลด คุณใช้ไฟล์head วิธีการทำ -

>>> data.head()

คุณจะเห็นผลลัพธ์ต่อไปนี้ในรูปแบบตาราง

ตารางยังแสดงชื่อคอลัมน์ เราจะใช้สี่คอลัมน์แรกเป็นคุณลักษณะสำหรับอัลกอริทึม ML ของเราและคลาสคอลัมน์สุดท้ายเป็นผลลัพธ์ที่คาดการณ์ไว้ เราระบุสิ่งนี้ในการเรียกใช้อัลกอริทึม ML ของเราโดยสร้างตัวแปรสองตัวต่อไปนี้ก่อน

>>> features = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width']
>>> output = 'class'

ต่อไปเราจะแบ่งข้อมูลออกเป็นการฝึกอบรมและการทดสอบโดยเรียกเมธอด Split_frame

>>> train, test = data.split_frame(ratios = [0.8])

ข้อมูลถูกแบ่งในอัตราส่วน 80:20 เราใช้ข้อมูล 80% สำหรับการฝึกอบรมและ 20% สำหรับการทดสอบ

ตอนนี้เราโหลดแบบจำลองป่าสุ่มในตัวลงในระบบ

>>> model = H2ORandomForestEstimator(ntrees = 50, max_depth = 20, nfolds = 10)

ในคำเรียกข้างต้นเรากำหนดจำนวนต้นไม้เป็น 50 ความลึกสูงสุดสำหรับต้นไม้เป็น 20 และจำนวนพับสำหรับการตรวจสอบความถูกต้องข้ามเป็น 10 ตอนนี้เราจำเป็นต้องฝึกโมเดล เราทำได้โดยเรียกวิธีการรถไฟดังนี้ -

>>> model.train(x = features, y = output, training_frame = train)

เมธอด train ได้รับคุณสมบัติและเอาต์พุตที่เราสร้างขึ้นก่อนหน้านี้เป็นพารามิเตอร์สองตัวแรก ชุดข้อมูลการฝึกอบรมได้รับการตั้งค่าให้ฝึกอบรมซึ่งเป็น 80% ของชุดข้อมูลทั้งหมดของเรา ในระหว่างการฝึกคุณจะเห็นความคืบหน้าดังที่แสดงไว้ที่นี่ -

ขณะนี้กระบวนการสร้างแบบจำลองสิ้นสุดลงแล้วก็ได้เวลาทดสอบแบบจำลอง เราทำได้โดยเรียกเมธอด model_performance บนอ็อบเจ็กต์โมเดลที่ได้รับการฝึกฝน

>>> performance = model.model_performance(test_data=test)

ในการเรียกใช้วิธีการข้างต้นเราได้ส่งข้อมูลทดสอบเป็นพารามิเตอร์ของเรา

ได้เวลาดูผลลัพธ์ซึ่งก็คือประสิทธิภาพของโมเดลของเรา คุณทำได้โดยเพียงแค่พิมพ์ประสิทธิภาพ

>>> print (performance)

สิ่งนี้จะให้ผลลัพธ์ต่อไปนี้ -

ผลลัพธ์จะแสดงค่า Mean Square Error (MSE), Root Mean Square Error (RMSE), LogLoss และแม้แต่ Confusion Matrix

วิ่งใน Jupyter

เราได้เห็นการดำเนินการจากคำสั่งและเข้าใจจุดประสงค์ของโค้ดแต่ละบรรทัด คุณสามารถรันโค้ดทั้งหมดในสภาพแวดล้อม Jupyter ไม่ว่าจะทีละบรรทัดหรือทั้งโปรแกรมในแต่ละครั้ง รายชื่อทั้งหมดได้รับที่นี่ -

import h2o
from h2o.estimators import H2ORandomForestEstimator
h2o.init()
data = h2o.import_file('iris.csv')
features = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width']
output = 'class'
train, test = data.split_frame(ratios=[0.8])
model = H2ORandomForestEstimator(ntrees = 50, max_depth = 20, nfolds = 10)
model.train(x = features, y = output, training_frame = train)
performance = model.model_performance(test_data=test)
print (performance)

รันโค้ดและสังเกตผลลัพธ์ ตอนนี้คุณสามารถใช้งานและทดสอบอัลกอริทึม Random Forest บนชุดข้อมูลของคุณได้ง่ายเพียงใด พลังของ H20 ไปไกลกว่าความสามารถนี้ จะเกิดอะไรขึ้นหากคุณต้องการลองใช้โมเดลอื่นในชุดข้อมูลเดียวกันเพื่อดูว่าคุณจะได้รับประสิทธิภาพที่ดีขึ้นหรือไม่ นี่คือคำอธิบายในส่วนถัดไปของเรา

การใช้อัลกอริทึมที่แตกต่างกัน

ตอนนี้เราจะเรียนรู้วิธีการใช้อัลกอริธึม Gradient Boosting กับชุดข้อมูลก่อนหน้าของเราเพื่อดูว่ามันทำงานอย่างไร ในรายชื่อทั้งหมดข้างต้นคุณจะต้องทำการเปลี่ยนแปลงเล็กน้อยเพียงสองรายการตามที่ไฮไลต์ไว้ในโค้ดด้านล่าง -

import h2o 
from h2o.estimators import H2OGradientBoostingEstimator
h2o.init()
data = h2o.import_file('iris.csv')
features = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width']
output = 'class'
train, test = data.split_frame(ratios = [0.8]) 
model = H2OGradientBoostingEstimator
(ntrees = 50, max_depth = 20, nfolds = 10)
model.train(x = features, y = output, training_frame = train)
performance = model.model_performance(test_data = test)
print (performance)

เรียกใช้รหัสและคุณจะได้รับผลลัพธ์ต่อไปนี้ -

เพียงเปรียบเทียบผลลัพธ์เช่น MSE, RMSE, Confusion Matrix และอื่น ๆ กับผลลัพธ์ก่อนหน้านี้และตัดสินใจว่าจะใช้ผลลัพธ์ใดสำหรับการปรับใช้การผลิต ตามความเป็นจริงคุณสามารถใช้อัลกอริธึมต่างๆเพื่อตัดสินใจเลือกสิ่งที่ดีที่สุดที่ตรงตามวัตถุประสงค์ของคุณ