H2O - Menjalankan Aplikasi Sampel

Klik tautan Airlines Delay Flow dalam daftar sampel seperti yang ditunjukkan pada gambar di bawah -

Setelah Anda mengonfirmasi, buku catatan baru akan dimuat.

Menghapus Semua Output

Sebelum kami menjelaskan pernyataan kode di notebook, mari kita hapus semua output dan kemudian jalankan notebook secara bertahap. Untuk menghapus semua output, pilih opsi menu berikut -

Flow / Clear All Cell Contents

Ini ditunjukkan pada tangkapan layar berikut -

Setelah semua keluaran dihapus, kami akan menjalankan setiap sel di notebook satu per satu dan memeriksa keluarannya.

Menjalankan Sel Pertama

Klik sel pertama. Bendera merah muncul di sebelah kiri yang menunjukkan bahwa sel tersebut dipilih. Ini seperti yang ditunjukkan pada gambar di bawah -

Isi sel ini hanyalah komentar program yang ditulis dalam bahasa MarkDown (MD). Konten menjelaskan apa yang dilakukan aplikasi yang dimuat. Untuk menjalankan sel, klik ikon Jalankan seperti yang ditunjukkan pada gambar di bawah -

Anda tidak akan melihat keluaran apa pun di bawah sel karena tidak ada kode yang dapat dieksekusi di sel saat ini. Kursor sekarang bergerak secara otomatis ke sel berikutnya, yang siap dieksekusi.

Mengimpor Data

Sel berikutnya berisi pernyataan Python berikut -

importFiles ["https://s3.amazonaws.com/h2o-airlines-unpacked/allyears2k.csv"]

Pernyataan tersebut mengimpor file allyears2k.csv dari Amazon AWS ke dalam sistem. Saat Anda menjalankan sel, itu mengimpor file dan memberi Anda output berikut.

Menyiapkan Parser Data

Sekarang, kita perlu mengurai data dan membuatnya sesuai dengan algoritma ML kita. Ini dilakukan dengan menggunakan perintah berikut -

setupParse paths: [ "https://s3.amazonaws.com/h2o-airlines-unpacked/allyears2k.csv" ]

Setelah menjalankan pernyataan di atas, dialog konfigurasi pengaturan muncul. Dialog ini memungkinkan Anda untuk beberapa pengaturan untuk mengurai file. Ini seperti yang ditunjukkan pada gambar di bawah -

Dalam dialog ini, Anda dapat memilih pengurai yang diinginkan dari daftar drop-down yang diberikan dan mengatur parameter lain seperti pemisah bidang, dll.

Mengurai Data

Pernyataan berikutnya, yang sebenarnya mengurai datafile menggunakan konfigurasi di atas, adalah pernyataan yang panjang dan seperti yang ditunjukkan di sini -

parseFiles
paths: ["https://s3.amazonaws.com/h2o-airlines-unpacked/allyears2k.csv"]
destination_frame: "allyears2k.hex"
parse_type: "CSV"
separator: 44
number_columns: 31
single_quotes: false
column_names: ["Year","Month","DayofMonth","DayOfWeek","DepTime","CRSDepTime",
   "ArrTime","CRSArrTime","UniqueCarrier","FlightNum","TailNum",
   "ActualElapsedTime","CRSElapsedTime","AirTime","ArrDelay","DepDelay",
   "Origin","Dest","Distance","TaxiIn","TaxiOut","Cancelled","CancellationCode",
   "Diverted","CarrierDelay","WeatherDelay","NASDelay","SecurityDelay",
   "LateAircraftDelay","IsArrDelayed","IsDepDelayed"]
column_types: ["Enum","Enum","Enum","Enum","Numeric","Numeric","Numeric"
   ,"Numeric","Enum","Enum","Enum","Numeric","Numeric","Numeric","Numeric",
   "Numeric","Enum","Enum","Numeric","Numeric","Numeric","Enum","Enum",
   "Numeric","Numeric","Numeric","Numeric","Numeric","Numeric","Enum","Enum"]
delete_on_done: true
check_header: 1
chunk_size: 4194304

Perhatikan bahwa parameter yang telah Anda siapkan di kotak konfigurasi tercantum dalam kode di atas. Sekarang, jalankan sel ini. Setelah beberapa saat, penguraian selesai dan Anda akan melihat output berikut -

Memeriksa Dataframe

Setelah diproses, ini menghasilkan kerangka data, yang dapat diperiksa menggunakan pernyataan berikut -

getFrameSummary "allyears2k.hex"

Setelah menjalankan pernyataan di atas, Anda akan melihat output berikut -

Sekarang, data Anda siap untuk dimasukkan ke dalam algoritma Pembelajaran Mesin.

Pernyataan berikutnya adalah komentar program yang mengatakan kita akan menggunakan model regresi dan menentukan regularisasi preset dan nilai lambda.

Membangun Model

Selanjutnya, muncul pernyataan terpenting dan itu adalah membangun model itu sendiri. Ini ditentukan dalam pernyataan berikut -

buildModel 'glm', {
   "model_id":"glm_model","training_frame":"allyears2k.hex",
   "ignored_columns":[
      "DayofMonth","DepTime","CRSDepTime","ArrTime","CRSArrTime","TailNum",
      "ActualElapsedTime","CRSElapsedTime","AirTime","ArrDelay","DepDelay",
      "TaxiIn","TaxiOut","Cancelled","CancellationCode","Diverted","CarrierDelay",
      "WeatherDelay","NASDelay","SecurityDelay","LateAircraftDelay","IsArrDelayed"],
   "ignore_const_cols":true,"response_column":"IsDepDelayed","family":"binomial",
   "solver":"IRLSM","alpha":[0.5],"lambda":[0.00001],"lambda_search":false,
   "standardize":true,"non_negative":false,"score_each_iteration":false,
   "max_iterations":-1,"link":"family_default","intercept":true,
   "objective_epsilon":0.00001,"beta_epsilon":0.0001,"gradient_epsilon":0.0001,
   "prior":-1,"max_active_predictors":-1
}

Kami menggunakan glm, yang merupakan rangkaian Model Linear Umum dengan tipe keluarga disetel ke binomial. Anda dapat melihat ini disorot dalam pernyataan di atas. Dalam kasus kami, keluaran yang diharapkan adalah biner dan itulah mengapa kami menggunakan tipe binomial. Anda dapat memeriksa parameter lain sendiri; misalnya, lihat alpha dan lambda yang telah kita tentukan sebelumnya. Lihat dokumentasi model GLM untuk penjelasan tentang semua parameter.

Sekarang, jalankan pernyataan ini. Setelah dieksekusi, keluaran berikut akan dihasilkan -

Pastinya, waktu eksekusi di mesin Anda akan berbeda. Sekarang, sampai pada bagian paling menarik dari kode contoh ini.

Meneliti Output

Kami hanya mengeluarkan model yang telah kami buat menggunakan pernyataan berikut -

getModel "glm_model"

Perhatikan glm_model adalah ID model yang kita tentukan sebagai parameter model_id saat membuat model di pernyataan sebelumnya. Ini memberi kita keluaran besar yang merinci hasil dengan beberapa parameter berbeda. Keluaran sebagian dari laporan tersebut ditunjukkan pada gambar di bawah -

Seperti yang Anda lihat di output, dikatakan bahwa ini adalah hasil dari menjalankan algoritma Generalized Linear Modeling pada dataset Anda.

Tepat di atas SEJARAH PENILAIAN, Anda melihat tag PARAMETER MODEL, perluas dan Anda akan melihat daftar semua parameter yang digunakan saat membangun model. Ini ditunjukkan pada gambar di bawah.

Demikian pula, setiap tag memberikan hasil mendetail dari jenis tertentu. Perluas sendiri berbagai tag untuk mempelajari keluaran dari berbagai jenis.

Membangun Model Lain

Selanjutnya, kami akan membuat model Pembelajaran Mendalam pada kerangka data kami. Pernyataan berikutnya dalam kode contoh hanyalah komentar program. Pernyataan berikut sebenarnya adalah perintah membangun model. Seperti yang ditunjukkan di sini -

buildModel 'deeplearning', {
   "model_id":"deeplearning_model","training_frame":"allyear
   s2k.hex","ignored_columns":[
      "DepTime","CRSDepTime","ArrTime","CRSArrTime","FlightNum","TailNum",
      "ActualElapsedTime","CRSElapsedTime","AirTime","ArrDelay","DepDelay",
      "TaxiIn","TaxiOut","Cancelled","CancellationCode","Diverted",
      "CarrierDelay","WeatherDelay","NASDelay","SecurityDelay",
      "LateAircraftDelay","IsArrDelayed"],
   "ignore_const_cols":true,"res   ponse_column":"IsDepDelayed",
   "activation":"Rectifier","hidden":[200,200],"epochs":"100",
   "variable_importances":false,"balance_classes":false,
   "checkpoint":"","use_all_factor_levels":true,
   "train_samples_per_iteration":-2,"adaptive_rate":true,
   "input_dropout_ratio":0,"l1":0,"l2":0,"loss":"Automatic","score_interval":5,
   "score_training_samples":10000,"score_duty_cycle":0.1,"autoencoder":false,
   "overwrite_with_best_model":true,"target_ratio_comm_to_comp":0.02,
   "seed":6765686131094811000,"rho":0.99,"epsilon":1e-8,"max_w2":"Infinity",
   "initial_weight_distribution":"UniformAdaptive","classification_stop":0,
   "diagnostics":true,"fast_mode":true,"force_load_balance":true,
   "single_node_mode":false,"shuffle_training_data":false,"missing_values_handling":
   "MeanImputation","quiet_mode":false,"sparse":false,"col_major":false,
   "average_activation":0,"sparsity_beta":0,"max_categorical_features":2147483647,
   "reproducible":false,"export_weights_and_biases":false
}

Seperti yang Anda lihat pada kode di atas, kami menetapkan deeplearning untuk membangun model dengan beberapa parameter yang disetel ke nilai yang sesuai seperti yang ditentukan dalam dokumentasi model deeplearning. Ketika Anda menjalankan pernyataan ini, dibutuhkan waktu lebih lama daripada pembuatan model GLM. Anda akan melihat output berikut saat pembuatan model selesai, meskipun dengan waktu yang berbeda.

Menelaah Output Model Pembelajaran Mendalam

Ini menghasilkan jenis keluaran, yang dapat diperiksa dengan menggunakan pernyataan berikut seperti pada kasus sebelumnya.

getModel "deeplearning_model"

Kami akan mempertimbangkan keluaran kurva KOP seperti yang ditunjukkan di bawah ini untuk referensi cepat.

Seperti dalam kasus sebelumnya, perluas berbagai tab dan pelajari keluaran yang berbeda.

Menyimpan Model

Setelah Anda mempelajari keluaran model yang berbeda, Anda memutuskan untuk menggunakan salah satu model di lingkungan produksi Anda. H20 memungkinkan Anda menyimpan model ini sebagai POJO (Objek Java Lama Biasa).

Perluas tag terakhir PREVIEW POJO dalam keluaran dan Anda akan melihat kode Java untuk model Anda yang telah disetel dengan baik. Gunakan ini di lingkungan produksi Anda.

Selanjutnya, kita akan belajar tentang fitur H2O yang sangat menarik. Kami akan mempelajari cara menggunakan AutoML untuk menguji dan memberi peringkat berbagai algoritme berdasarkan kinerjanya.