Checkpoint
Write a query to determine available seasons and games
/ 10
Create a labeled machine learning dataset
/ 10
Create a machine learning model
/ 20
Evaluate model performance and create table
/ 10
Using skillful ML model features
/ 10
Train the new model and make evaluation
/ 10
Run a query to create a table ncaa_2018_predictions
/ 10
Run queries to create tables ncaa_2019_tournament and ncaa_2019_tournament_predictions
/ 20
Metode Prediksi Bracket Turnamen dengan Machine Learning Google
- GSP461
- Ringkasan
- Penyiapan dan persyaratan
- Tugas 1. Membuka konsol BigQuery
- Tugas 2. NCAA March Madness
- Tugas 3. Menemukan set data publik NCAA di BigQuery
- Tugas 4. Menulis kueri untuk menentukan musim dan pertandingan yang tersedia
- Tugas 5. Memahami fitur dan label machine learning
- Tugas 6. Membuat set data machine learning berlabel
- Tugas 7. Membuat model machine learning untuk memprediksi pemenang berdasarkan peringkat dan nama tim
- Tugas 8. Mengevaluasi performa model
- Tugas 9. Membuat prediksi
- Tugas 10. Seberapa banyak model memprediksi dengan benar untuk turnamen NCAA tahun 2018?
- Tugas 11. Model hanya bisa melakukan sejauh ini...
- Tugas 12. Menggunakan fitur model ML yang terampil
- Tugas 13. Melihat pratinjau fitur baru
- Tugas 14. Menafsirkan metrik yang dipilih
- Tugas 15. Melatih model baru
- Tugas 16. Mengevaluasi performa model baru
- Tugas 17. Memeriksa apa yang telah dipelajari model
- Tugas 18. Saatnya membuat prediksi!
- Tugas 19. Analisis prediksi:
- Tugas 20. Kejutan apa yang terjadi pada March Madness 2018?
- Tugas 21. Membandingkan performa model
- Tugas 22. Memprediksi turnamen March Madness 2019
- Selamat!
GSP461
Ringkasan
BigQuery adalah database analisis berbiaya rendah dan NoOps yang dikelola sepenuhnya oleh Google. Dengan BigQuery, Anda dapat mengkueri data berskala terabyte tanpa perlu mengelola infrastruktur atau memiliki administrator database. BigQuery menggunakan SQL dan memanfaatkan model bayar sesuai penggunaan. Dengan BigQuery, Anda dapat berfokus pada analisis data untuk menemukan insight yang bermakna.
BigQuery ML memungkinkan analis data menggunakan pengetahuan SQL mereka untuk membangun model machine learning dengan cepat di lokasi data mereka berada di BigQuery.
Di BigQuery, terdapat set data yang tersedia bagi publik untuk pertandingan, tim, dan pemain basket NCAA. Data pertandingan ini mencakup data setiap pertandingan dan detail skor sejak tahun 2009, serta skor final sejak tahun 1996. Untuk beberapa tim, bahkan terdapat data tambahan terkait kemenangan dan kekalahan sejak musim 1894-1895.
Di lab ini, Anda akan menggunakan BigQuery ML untuk membuat prototipe, melatih, mengevaluasi, dan memprediksi tim yang 'menang' dan 'kalah' antara dua tim dalam turnamen basket NCAA.
Yang akan Anda lakukan
Di lab ini, Anda akan mempelajari cara:
- Menggunakan BigQuery untuk mengakses set data publik NCAA
- Mempelajari set data NCAA untuk memahami skema dan cakupan data yang tersedia
- Menyiapkan dan mengubah data yang ada menjadi fitur dan label
- Membagi set data menjadi subset pelatihan dan evaluasi
- Menggunakan BigQuery ML untuk membangun model berdasarkan set data turnamen NCAA
- Menggunakan model yang baru Anda buat untuk memprediksi pemenang turnamen NCAA untuk bracket Anda
Prasyarat
Ini adalah lab tingkat menengah. Sebelum mengikutinya, Anda harus memiliki pengalaman dengan SQL dan kata kunci bahasa. Sebaiknya Anda juga memahami BigQuery. Jika Anda perlu mendapatkan informasi tentang bidang ini, setidaknya Anda harus mengikuti salah satu lab berikut sebelum mencoba lab ini:
Penyiapan dan persyaratan
Sebelum mengklik tombol Mulai Lab
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer, yang dimulai saat Anda mengklik Start Lab, akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.
Lab praktik ini dapat Anda gunakan untuk melakukan sendiri aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Cara memulai lab dan login ke Google Cloud Console
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, jendela pop-up akan terbuka untuk memilih metode pembayaran. Di sebelah kiri adalah panel Lab Details dengan info berikut:
- Tombol Open Google Cloud console
- Waktu tersisa
- Kredensial sementara yang harus Anda gunakan untuk lab ini
- Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
-
Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).
Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.
Tips: Atur tab di jendela terpisah secara berdampingan.
Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account. -
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
{{{user_0.username | "Username"}}} Anda juga dapat menemukan Username di panel Lab Details.
-
Klik Next.
-
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}} Anda juga dapat menemukan Password di panel Lab Details.
-
Klik Next.
Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda. Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan. -
Klik halaman berikutnya:
- Setujui persyaratan dan ketentuan.
- Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
- Jangan mendaftar uji coba gratis.
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
Membuka konsol BigQuery
- Di Google Cloud Console, pilih Navigation menu > BigQuery.
Kotak pesan Welcome to BigQuery in the Cloud Console akan terbuka. Kotak pesan ini menyediakan link ke panduan memulai dan catatan rilis.
- Klik Done.
Konsol BigQuery terbuka.
Tugas 1. Membuka konsol BigQuery
-
Dari Konsol Cloud, buka Navigation menu dan pilih BigQuery.
-
Klik DONE untuk membuka UI versi beta. Pastikan Project ID Anda telah tercantum di tab Explorer, yang akan terlihat seperti ini:
Jika Anda mengklik panah Expand node di samping project, Anda tidak akan melihat database atau tabel apa pun di sana. Hal ini karena Anda belum menambahkan apa pun ke dalam project tersebut.
Untungnya, ada banyak set data publik terbuka yang tersedia di BigQuery yang dapat Anda gunakan. Sekarang Anda akan mempelajari lebih lanjut set data NCAA dan mengetahui cara menambahkan set data tersebut ke project BigQuery Anda.
Tugas 2. NCAA March Madness
National Collegiate Athletic Association (NCAA) menyelenggarakan dua turnamen basket besar tingkat perguruan tinggi setiap tahun di Amerika Serikat, yang dapat diikuti oleh pebasket putra dan putri di perguruan tinggi. Untuk turnamen basket putra NCAA yang diadakan pada bulan Maret, ada 68 tim yang ikut pertandingan eliminasi tunggal dan satu tim akan menjadi pemenang turnamen March Madness ini.
NCAA menawarkan set data publik yang berisi statistik data pertandingan dan pemain putra dan putri untuk musim tersebut dan turnamen final. Data pertandingan ini mencakup data setiap pertandingan dan detail skor sejak tahun 2009, serta skor final sejak tahun 1996. Untuk beberapa tim, bahkan terdapat data tambahan terkait kemenangan dan kekalahan sejak musim 1894-1895.
- Pastikan Anda membaca kampanye Iklan Pemasaran Google Cloud untuk memprediksi insight live guna mempelajari set data ini dan apa yang telah dilakukan dengannya. Selain itu, dapatkan juga info terbaru terkait turnamen tahun ini di Insight March Madness Google Cloud.
Tugas 3. Menemukan set data publik NCAA di BigQuery
-
Untuk langkah ini, pastikan Anda masih berada di Konsol BigQuery. Pada tab Explorer, klik tombol + ADD, lalu pilih Public datasets.
-
Di kotak penelusuran, ketik NCAA Basketball dan tekan Enter. Satu hasil akan muncul. Pilih hasil tersebut, lalu klik VIEW DATASET:
Tindakan ini akan membuka tab BigQuery baru dan set data akan ditampilkan. Anda dapat terus bekerja di tab ini, atau menutupnya dan memuat ulang Konsol BigQuery di tab lain untuk menampilkan set data publik Anda.
- Luaskan set data bigquery-public-data > ncaa_basketball untuk menampilkan tabelnya:
Anda akan melihat 10 tabel di set data ini.
-
Klik
mbb_historical_tournament_games
, lalu klik PREVIEW untuk melihat contoh baris data. -
Setelah itu, klik DETAILS untuk memperoleh metadata terkait tabel tersebut.
Halaman Anda akan terlihat seperti berikut:
Tugas 4. Menulis kueri untuk menentukan musim dan pertandingan yang tersedia
Anda akan menulis kueri SQL sederhana untuk menentukan seberapa banyak musim dan pertandingan yang tersedia untuk dipelajari di tabel mbb_historical_tournament_games
kita.
- Di EDITOR kueri, yang ada di atas bagian 'Table Details', salin dan tempel kode berikut di kolom tersebut:
- Klik RUN. Setelah selesai, Anda akan menerima output seperti berikut:
- Scroll output yang ditampilkan, lalu catat jumlah musim dan pertandingan yang dimainkan per musim. Anda akan menggunakan informasi tersebut untuk menjawab pertanyaan di bawah ini. Selain itu, Anda juga dapat dengan cepat melihat berapa banyak baris yang ditampilkan dengan melihat di kanan bawah dekat panah penomoran halaman.
Klik Check my progress untuk memverifikasi tujuan.
Uji pemahaman Anda
Pertanyaan pilihan ganda berikut akan memperkuat pemahaman Anda mengenai konsep yang telah dibahas sejauh ini. Jawab pertanyaan tersebut sebaik mungkin.
Tugas 5. Memahami fitur dan label machine learning
Tujuan akhir lab ini adalah untuk memprediksi pemenang pertandingan basket putra NCAA dengan menggunakan data historis pertandingan sebelumnya. Di machine learning, setiap kolom data yang membantu menentukan hasil akhir (menang atau kalah dalam pertandingan turnamen) disebut feature (fitur).
Kolom data yang Anda coba prediksi disebut label. Model machine learning "mempelajari" hubungan antara sejumlah fitur untuk memprediksi hasil akhir dari sebuah label.
Contoh fitur untuk set data historis Anda antara lain:
- Musim
- Nama tim
- Nama tim lawan
- Peringkat tim
- Peringkat tim lawan
Label yang Anda akan coba prediksi untuk pertandingan berikutnya adalah game outcome (hasil akhir pertandingan) — yaitu apakah tim tersebut kalah atau menang.
Uji pemahaman Anda
Pertanyaan pilihan ganda berikut akan memperkuat pemahaman Anda mengenai konsep yang telah dibahas sejauh ini. Jawab pertanyaan tersebut sebaik mungkin.
Tugas 6. Membuat set data machine learning berlabel
Membangun model machine learning memerlukan banyak data pelatihan berkualitas tinggi. Untungnya, set data NCAA kita cukup kredibel sehingga kita dapat mengandalkannya untuk membangun model yang efektif.
-
Kembali ke Konsol BigQuery—Anda akan melihat hasil kueri yang tadi Anda jalankan.
-
Dari menu di sebelah kiri, buka tabel
mbb_historical_tournament_games
dengan mengklik nama tabel. Setelah tabel terbuka, klik PREVIEW. Halaman Anda akan terlihat seperti berikut:
Uji pemahaman Anda
Pertanyaan pilihan ganda berikut akan memperkuat pemahaman Anda mengenai konsep yang telah dibahas sejauh ini. Jawab pertanyaan tersebut sebaik mungkin.
-
Setelah memeriksa set data, Anda akan melihat bahwa satu baris di set data tersebut memiliki kolom untuk
win_market
danlose_market
. Anda harus membagi data pertandingan tunggal menjadi data untuk masing-masing tim, sehingga Anda dapat melabeli setiap baris sebagai "menang" atau "kalah". -
Di EDITOR kueri, salin dan tempel kueri berikut, lalu klikRUN:
Anda akan menerima output berikut:
Klik Check my progress untuk memverifikasi tujuan.
Setelah Anda mengetahui fitur apa saja yang tersedia dari hasil kueri, jawab pertanyaan berikut untuk memperkuat pemahaman Anda mengenai set data.
Tugas 7. Membuat model machine learning untuk memprediksi pemenang berdasarkan peringkat dan nama tim
Setelah mempelajari data, kini saatnya untuk melatih model machine learning.
- Gunakan penilaian terbaik Anda dan jawab pertanyaan berikut untuk mengarahkan Anda dalam bagian ini.
Memilih jenis model
Untuk masalah ini, Anda akan membangun model klasifikasi. Karena kita memiliki dua kelas, yaitu kalah atau menang, model ini juga disebut sebagai model klasifikasi biner. Sebuah tim bisa menang atau kalah dalam pertandingan.
Jika mau, setelah lab ini selesai, Anda dapat memperkirakan jumlah total poin yang akan dicetak oleh sebuah tim dengan menggunakan model perkiraan, tetapi hal itu tidak menjadi fokus kita di sini.
Cara mudah untuk mengetahui apakah Anda sedang membuat perkiraan atau klasifikasi adalah dengan melihat jenis label (kolom) data yang Anda prediksi:
- Jika berupa kolom numerik (seperti unit terjual atau poin dalam pertandingan), berarti Anda sedang membuat perkiraan
- Jika berupa nilai string, berarti Anda sedang membuat klasifikasi (baris ini dapat ditujukan untuk kelas ini atau kelas yang lain), dan
- Jika ada lebih dari dua kelas (seperti menang, kalah, atau seri), berarti Anda sedang membuat klasifikasi kelas jamak
Model klasifikasi ini akan menjalankan machine learning dengan model statistik yang banyak digunakan yang disebut Regresi Logistik.
Kita memerlukan model yang menghasilkan probabilitas untuk setiap kemungkinan nilai label terpisah, dalam kasus ini adalah 'menang' atau 'kalah'. Untuk tujuan ini, regresi logistik adalah jenis model yang baik untuk memulai. Kabar baik untuk Anda adalah bahwa model ML akan melakukan semua perhitungan dan pengoptimalan selama pelatihan model -- inilah keahlian komputer yang sesungguhnya.
Membuat model machine learning dengan BigQuery ML
Untuk membuat model klasifikasi di BigQuery, kita hanya perlu menulis pernyataan SQL CREATE MODEL
dan memberikan beberapa opsi.
Namun, sebelum membuat model, kita perlu tempat untuk menyimpannya di project kita.
- Pada tab Explorer, klik ikon View actions di samping Project ID, lalu pilih Create dataset.
- Tindakan ini akan membuka dialog Create dataset. Tetapkan Dataset ID Anda ke
bracketology
, lalu klik CREATE DATASET.
- Sekarang jalankan perintah berikut di EDITOR kueri
Dalam kode tersebut, Anda akan melihat bahwa membuat model hanya memerlukan beberapa baris SQL. Salah satu opsi terpenting adalah memilih jenis model logistic_reg untuk tugas klasifikasi ini.
Proses untuk melatih model akan memakan waktu 3 sampai 5 menit. Anda akan menerima output berikut saat tugas selesai dijalankan:
- Klik tombol Go to Model di samping kanan konsol.
Klik Check my progress untuk memverifikasi tujuan.
Melihat detail pelatihan model
- Setelah Anda berada di bagian Model details, scroll ke bawah ke bagian Training options, lalu lihat iterasi sesungguhnya yang dilakukan model pada pelatihan.
Jika Anda familier dengan machine learning, Anda juga dapat menyesuaikan semua hyperparameter ini (opsi yang ditetapkan sebelum model berjalan) dengan menentukan nilainya di pernyataan OPTIONS
.
Jika Anda pengguna baru machine learning, BigQuery ML akan menetapkan nilai default secara cerdas untuk setiap opsi yang tidak ditetapkan.
Lihat daftar opsi model BigQuery ML untuk mempelajari lebih lanjut.
Melihat statistik pelatihan model
Model machine learning "mempelajari" hubungan antara fitur yang diketahui dan label yang belum diketahui. Anda mungkin menebak, beberapa fitur seperti "peringkat" atau "nama universitas" dapat lebih menentukan menang atau kalah daripada kolom data (fitur) lainnya, seperti tanggal pertandingan.
Model machine learning memulai proses pelatihan tanpa intuisi semacam itu dan umumnya akan mengacak pembobotan setiap fitur.
Selama proses pelatihan, model akan mengoptimalkan jalur menuju pembobotan terbaiknya untuk setiap fitur. Setiap kali dijalankan, model mencoba untuk meminimalkan Training Data Loss dan Evaluation Data Loss.
Jika Anda mendapati bahwa kehilangan data akhir untuk evaluasi jauh lebih tinggi daripada untuk pelatihan, berarti model Anda overfitting atau menghafal data pelatihan, bukan mempelajari hubungan yang dapat digeneralisasi.
Anda dapat melihat berapa banyak sesi pelatihan yang dilakukan model dengan mengklik tab TRAINING dan memilih opsi Table di bagian View as.
Pada sesi ini, model menyelesaikan 3 iterasi pelatihan dalam waktu 20 detik. Model Anda kemungkinan akan berbeda.
Melihat apa yang telah dipelajari model terkait fitur
Setelah pelatihan, Anda dapat melihat fitur mana yang memberikan nilai terbanyak untuk model dengan memeriksa bobotnya.
- Jalankan perintah berikut di EDITOR kueri:
Output Anda akan terlihat seperti ini:
Seperti yang Anda lihat, jika peringkat sebuah tim sangat rendah (1,2,3) atau sangat tinggi (14,15,16), model memberikan bobot signifikan (maksimal 1,0) dalam menentukan hasil akhir menang atau kalah. Secara intuitif, hal ini masuk akal karena kita mengharapkan tim dengan peringkat terendah dapat bermain dengan baik dalam turnamen.
Kecanggihan machine learning sesungguhnya adalah kita tidak perlu membuat banyak pernyataan IF THEN
yang di-hardcode di SQL untuk memberi tahu model IF
(JIKA) peringkatnya adalah 1, THEN
(MAKA) berikan tim tersebut peluang 80% lebih tinggi untuk menang. Machine learning tidak menerapkan aturan dan logika yang di-hardcode, namun mempelajari hubungan ini untuknya sendiri. Lihat dokumentasi bobot sintaksis BQML untuk mempelajari lebih lanjut.
Tugas 8. Mengevaluasi performa model
Untuk mengevaluasi performa model, Anda dapat menjalankan perintah sederhana ML.EVALUATE
terhadap model terlatih.
- Jalankan perintah berikut di EDITOR kueri:
Anda akan melihat output seperti ini:
Akurasi nilainya adalah sekitar 69%. Meskipun nilai ini lebih baik daripada melempar koin, ada banyak hal yang dapat ditingkatkan.
Tugas 9. Membuat prediksi
Setelah melatih model dengan data historis sampai dan termasuk musim 2017 (ini adalah semua data yang Anda punya), kini saatnya membuat prediksi untuk musim 2018. Tim data science Anda telah menyediakan hasil turnamen tahun 2018 di tabel terpisah yang tidak ada di set data asli Anda.
Membuat prediksi semudah memanggil ML.PREDICT
pada model terlatih dan meneruskan set data yang ingin Anda gunakan sebagai acuan untuk membuat prediksi.
- Jalankan perintah berikut di EDITOR kueri:
Dalam waktu singkat, Anda akan melihat output seperti ini:
Klik Check my progress untuk memverifikasi tujuan.
Sekarang Anda akan melihat set data asli dan juga tambahan tiga kolom baru:
- Label yang diprediksi
- Opsi label yang diprediksi
- Probabilitas label yang diprediksi
Karena Anda telah mengetahui hasil turnamen March Madness tahun 2018, mari kita lihat hasil prediksi model. (Tips: Jika Anda memprediksi untuk turnamen March Madness tahun ini, Anda hanya perlu meneruskan set data yang berisi peringkat tahun 2019 dan nama tim yang bertanding. Tentunya kolom label akan kosong karena pertandingan belum terjadi -- itulah yang Anda prediksi!).
Tugas 10. Seberapa banyak model memprediksi dengan benar untuk turnamen NCAA tahun 2018?
- Jalankan perintah berikut di EDITOR kueri:
Anda akan melihat output seperti ini:
Dari 134 prediksi (67 pertandingan pada turnamen March Madness), model salah sebanyak 38 kali. Artinya, prediksi model yang benar untuk pertandingan pada turnamen tahun 2018 secara keseluruhan adalah 70%.
Tugas 11. Model hanya bisa melakukan sejauh ini...
Ada banyak faktor dan fitur lain yang berperan dalam penentuan kemenangan tipis dan kejutan luar biasa pada turnamen March Madness yang sangat sulit diprediksi oleh model.
Mari kita lihat kejutan terbesar yang terjadi pada turnamen tahun 2017 menurut model. Kita akan melihat ketika model memprediksi dengan keyakinan 80%+ dan ternyata SALAH.
- Jalankan perintah berikut di EDITOR kueri:
Hasilnya akan terlihat seperti ini:
Setelah pertandingan, Pelatih Odom (UMBC) mengatakan, "Sulit dipercaya — hanya itu yang bisa saya katakan." Baca selengkapnya tentang hal ini di artikel 2018 UMBC vs. Virginia men's basketball game.
Rangkuman
- Anda membuat model machine learning untuk memprediksi hasil akhir pertandingan.
- Anda mengevaluasi performa model dan mendapatkan akurasi 69% dengan menggunakan peringkat dan nama tim sebagai fitur utama
- Anda memprediksi hasil akhir turnamen tahun 2018
- Anda menganalisis hasil untuk mendapatkan insight
Tantangan selanjutnya adalah membangun model yang lebih baik TANPA menggunakan fitur peringkat dan nama tim.
Tugas 12. Menggunakan fitur model ML yang terampil
Di bagian kedua lab ini, Anda akan membangun model ML kedua menggunakan fitur yang baru disediakan dan mendetail.
Setelah Anda memahami cara membangun model ML menggunakan BigQuery ML, tim data science Anda telah menyediakan set data setiap pertandingan baru di mana mereka telah membuat metrik tim baru untuk dipelajari oleh model Anda. Metrik tersebut meliputi:
- Efisiensi penskoran dari waktu ke waktu berdasarkan analisis historis setiap pertandingan.
- Penguasaan bola dari waktu ke waktu.
Membuat set data ML baru dengan fitur terampil tersebut
- Jalankan perintah berikut di EDITOR kueri:
Dalam waktu singkat, Anda akan melihat output seperti ini:
Klik Check my progress untuk memverifikasi tujuan.
Tugas 13. Melihat pratinjau fitur baru
- Klik tombol Go to table di samping kanan konsol. Lalu, klik tab Preview.
Tabel Anda akan terlihat seperti ini:
Jangan khawatir jika output Anda tidak sama dengan screenshot di atas.
Tugas 14. Menafsirkan metrik yang dipilih
- Sekarang Anda akan belajar tentang beberapa label penting yang membantu dalam pembuatan prediksi.
opp_efficiency_rank
Peringkat Efisiensi Lawan: Peringkat tim lawan dari semua tim dalam mencetak angka secara efisien dari waktu ke waktu (poin per 100 penguasaan bola). Semakin rendah nilainya, maka semakin baik.
opp_pace_rank
Peringkat Laju Langkah Lawan: Peringkat tim lawan dari semua tim untuk penguasaan bola (durasi penguasaan dalam 40 menit). Semakin rendah nilainya, maka semakin baik.
Setelah Anda memiliki fitur yang informatif terkait seberapa baik sebuah tim dapat mencetak skor dan menguasai bola, mari kita latih model kedua ini.
Sebagai tindakan tambahan agar model Anda tidak "mengingat tim hebat dari periode sebelumnya", jangan sertakan nama tim dan peringkat tersebut untuk model ini dan berfokuslah hanya pada metrik.
Tugas 15. Melatih model baru
- Jalankan perintah berikut di EDITOR kueri:
Dalam waktu singkat, output Anda akan terlihat seperti ini:
Tugas 16. Mengevaluasi performa model baru
- Untuk mengevaluasi performa model baru, jalankan perintah berikut di EDITOR kueri:
Output Anda akan terlihat seperti ini:
Wow! Anda baru saja melatih model baru dengan fitur berbeda dan meningkatkan akurasi menjadi sekitar 75% atau naik 5% dari model sebelumnya.
Ini adalah salah satu pelajaran berharga yang diperoleh di machine learning, yaitu bahwa set data fitur berkualitas tinggi dapat membuat perbedaan signifikan dalam akurasi model Anda.
Klik Check my progress untuk memverifikasi tujuan.
Tugas 17. Memeriksa apa yang telah dipelajari model
- Fitur mana yang paling menentukan hasil menang/kalah pada model ini? Cari tahu dengan menjalankan perintah berikut di EDITOR kueri:
Output Anda akan terlihat seperti ini:
Kita menggunakan nilai absolut dari bobot dalam menentukan urutan ini, sehingga fitur yang paling berpengaruh (untuk menang atau kalah) dicantumkan terlebih dahulu.
Seperti yang Anda lihat dalam hasilnya, 3 teratas adalah pace_stat_diff
, eff_stat_diff
, dan eff_rating_diff
. Mari kita pelajari ketiganya lebih lanjut.
pace_stat_diff
Seberapa berbeda statistik sebenarnya untuk (penguasaan bola/40 menit) antartim. Menurut model, ini adalah pendorong terbesar dalam memilih hasil akhir pertandingan.
eff_stat_diff
Seberapa berbeda statistik sebenarnya untuk (poin net/100 penguasaan bola) antartim.
eff_rating_diff
Seberapa berbeda rating yang dinormalisasi untuk efisiensi penskoran antartim.
Fitur apa yang tidak dianggap berbobot tinggi oleh model dalam prediksinya? Musim. Fitur ini berada di urutan terakhir dalam daftar bobot di atas. Yang dimaksud oleh model adalah bahwa musim (tahun 2013, 2014, 2015) tidak terlalu berguna untuk memprediksi hasil akhir pertandingan. Tidak ada hal yang ajaib pada tahun "2014" bagi semua tim.
Insight yang menarik adalah bahwa model lebih mementingkan laju langkah sebuah tim (seberapa baik mereka mengontrol bola) daripada seberapa efisien sebuah tim dapat mencetak skor.
Tugas 18. Saatnya membuat prediksi!
- Jalankan perintah berikut di EDITOR kueri:
Output Anda akan terlihat seperti ini:
Klik Check my progress untuk memverifikasi tujuan.
Tugas 19. Analisis prediksi:
Karena Anda mengetahui hasil akhir pertandingan yang benar, Anda dapat melihat di mana model membuat prediksi yang salah menggunakan set data pengujian baru.
- Jalankan perintah berikut di EDITOR kueri:
Seperti yang Anda lihat dari jumlah data yang ditampilkan dari kueri, model salah memprediksi 48 pertandingan (24 laga) dari total jumlah pertandingan di turnamen tahun 2018 dengan akurasi 64%. 2018 pasti merupakan tahun yang luar biasa, mari kita lihat kejutan yang terjadi.
Tugas 20. Kejutan apa yang terjadi pada March Madness 2018?
- Jalankan perintah berikut di EDITOR kueri:
Hasilnya akan terlihat seperti ini:
Kejutan utamanya adalah sama seperti yang ditemukan oleh model sebelumnya, yaitu UMBC vs. Virginia. Baca selengkapnya tentang bagaimana tahun 2018 secara keseluruhan merupakan tahun yang penuh kejutan di artikel Has This Been the “Maddest” March?. Akankah tahun 2019 juga penuh kejutan?
Tugas 21. Membandingkan performa model
Bagaimana dengan saat model naif (membandingkan peringkat) salah, tetapi model yang lebih canggih bisa benar?
- Jalankan perintah berikut di EDITOR kueri:
Hasilnya akan terlihat seperti ini:
Model memprediksi bahwa Florida St. (09) mengalahkan Xavier (01) dan itu terjadi!
Kejutan tersebut diprediksi dengan benar oleh model baru (walaupun peringkat tim mengatakan hal sebaliknya) berdasarkan fitur terampil baru, seperti efisiensi laju langkah dan lemparan bola. Lihat sorotan pertandingan di YouTube.
Tugas 22. Memprediksi turnamen March Madness 2019
Setelah mengetahui tim dan peringkatnya untuk turnamen March Madness 2019, mari kita prediksi hasil pertandingan mendatang.
Mempelajari data tahun 2019
- Jalankan kueri berikut untuk mengetahui peringkat teratas
Hasilnya akan terlihat seperti ini:
Membuat matriks untuk semua pertandingan yang mungkin terjadi
Karena kita belum mengetahui tim mana yang akan bertanding satu sama lain saat turnamen berlangsung, kita akan membuat mereka semua saling berhadapan.
Di SQL, cara mudah untuk membuat sebuah tim berhadapan dengan semua tim lain dalam tabel adalah dengan CROSS JOIN.
- Jalankan kueri di bawah ini untuk mendapatkan semua kemungkinan pertandingan tim di turnamen.
Menambahkan statistik tim tahun 2018 (laju langkah, efisiensi)
Membuat prediksi
Klik Check my progress untuk memverifikasi tujuan.
Mendapatkan prediksi Anda
- Di sini, kita memfilter hasil model untuk melihat semua kemungkinan pertandingan Duke. Scroll untuk menemukan pertandingan Duke vs. North Dakota St.
Insight: Duke (1) diunggulkan 88,5% untuk mengalahkan North Dakota St. (16) pada 22 Maret 2019.
Bereksperimenlah dengan mengubah filter school_ncaa di atas untuk memprediksi pertandingan di bracket Anda. Tuliskan tingkat keyakinan model dan nikmati pertandingannya.
Selamat!
Anda telah menggunakan BigQuery ML untuk memprediksi tim yang menang untuk turnamen basket putra NCAA.
Langkah berikutnya/Pelajari lebih lanjut
- Ingin mempelajari lebih lanjut metrik dan analisis terkait basket? Lihat analisis tambahan dari tim di balik prediksi dan iklan turnamen NCAA Google Cloud.
- Lihat juga lab berikut:
Sertifikasi dan pelatihan Google Cloud
...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.
Manual Terakhir Diperbarui pada 19 Maret 2024
Lab Terakhir Diuji pada 19 Maret 2024
Hak cipta 2024 Google LLC Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.