Yak..

Artikel ini membahas pembahasan lanjutan mengenai Machine Learning.
Langsung saja

.

.

.

 

4. Visualisasi data

Kita sekarang punya ide dasar tentang data. Kita perlu memperluasnya dengan beberapa visualisasi.

Kita akan melihat dua jenis plot:

  • Plot univariat untuk lebih memahami setiap atribut.
  • Plot multivariat untuk lebih memahami hubungan antar atribut

A. Plot univariat

B. Plot Multivariat

5. Mengevaluasi Algoritma

Sekarang saatnya membuat beberapa model data dan memperkirakan akurasi mereka pada data yang belum terlihat. Inilah yang akan kita bahas di langkah ini:

  • Pisahkan dataset validasi.
  • Test kekuatan.
  • Bangun 5 model yang berbeda untuk memprediksi spesies dari pengukuran bunga
  • Pilih model terbaik.

A. Membuat Validasi Dataset

Kita perlu tahu bahwa model yang kita buat nanti akan bagus. Nantinya, kita akan menggunakan metode statistik untuk memperkirakan keakuratan model yang kita buat pada data yang belum terlihat. Kami juga menginginkan perkiraan yang lebih konkrit tentang keakuratan model terbaik pada data yang tidak terlihat dengan mengevaluasi data aktual yang tidak terlihat.

Artinya, kita akan menahan beberapa data yang tidak dapat dilihat algoritma dan kita akan menggunakan data ini untuk mendapatkan gagasan kedua dan independen tentang seberapa akurat model terbaik sebenarnya.

Kami akan membagi dataset yang dimuat menjadi dua, 80% di antaranya akan kami gunakan untuk melatih model kami dan 20% bahwa kami akan menahan diri sebagai kumpulan data validasi

B. Menguji kekuatan

Kami akan menggunakan validasi silang 10 kali lipat untuk memperkirakan akurasi. Ini akan membagi dataset kami menjadi 10 bagian, berlatih 9 dan menguji 1 dan ulangi untuk semua kombinasi split tes kereta.

Kami menggunakan metrik ‘accuracy’ untuk mengevaluasi model. Ini adalah rasio jumlah kejadian yang diprediksi dengan benar dalam dibagi dengan jumlah total kasus dalam dataset dikalikan dengan 100 untuk memberikan persentase (misalnya 95% akurat). Kami akan menggunakan variabel penilaian saat kita menjalankan build dan mengevaluasi setiap model selanjutnya.

C. Membuat model

Kami tidak tahu algoritma mana yang bagus dalam masalah ini atau konfigurasi apa yang akan digunakan. Kami mendapatkan ide dari plot bahwa beberapa kelas dipisahkan secara parsial dalam beberapa dimensi, jadi kami mengharapkan hasil yang baik secara umum. Mari kita evaluasi 6 algoritma yang berbeda:

  • Logistic Regression (LR)
  • Linear Discriminant Analysis (LDA)
  • K-Nearest Neighbors (KNN).
  • Classification and Regression Trees (CART).
  • Gaussian Naive Bayes (NB).
  • Support Vector Machines (SVM).

Ini adalah campuran yang baik dari algoritma LR dan LDA sederhana, nonlinier (KNN, CART, NB dan SVM). Kami mereset nomor acak benih sebelum menjalankan masing-masing untuk memastikan bahwa evaluasi masing-masing algoritma dilakukan dengan menggunakan pemisahan data yang sama persis. Ini memastikan hasilnya sebanding secara langsung. Mari membangun dan mengevaluasi kelima model kami:

D. Memilih model terbaik

Kami sekarang memiliki 6 model dan estimasi akurasi untuk masing-masing. Kita perlu membandingkan model satu sama lain dan pilih yang paling akurat. Menjalankan contoh di atas, kita mendapatkan hasil mentah berikut ini:

LR: 0.966667 (0.040825)

LDA: 0.975000 (0.038188)

KNN: 0.983333 (0.033333)

CART: 0.975000 (0.038188)

NB: 0.975000 (0.053359)

SVM: 0.981667 (0.025000)

Kita dapat melihat bahwa KNN memiliki perkiraan nilai akurasi terbesar. Kita juga bisa membuat sebidang hasil evaluasi model dan membandingkan penyebaran dan akurasi rata-rata masing-masing model. Ada populasi ukuran akurasi untuk setiap algoritma karena setiap algoritma dievaluasi 10 kali (10 kali lipat validasi silang).

Anda dapat melihat bahwa kotak dan kotak whisker terjepit di bagian atas kisaran, dengan banyak sampel mencapai akurasi 100%.

5. Membuat Prediksi

Algoritma KNN adalah model yang paling akurat yang kami uji. Sekarang kita ingin mendapatkan gambaran tentang keakuratan model pada set validasi kami.Ini akan memberi kita pemeriksaan akhir yang independen terhadap keakuratan model terbaik. Hal ini berharga untuk menjaga agar validasi tidak dilakukan seandainya Anda melakukan slip selama pelatihan, seperti terlalu banyak pelatihan atau kebocoran data. Keduanya akan menghasilkan hasil yang terlalu optimis.

Kita dapat menjalankan model KNN secara langsung pada set validasi dan merangkum hasilnya sebagai skor akurasi akhir, matriks kebingungan dan laporan klasifikasi.

Kita dapat melihat bahwa keakuratannya adalah 0,9 atau 90%. Matriks kebingungan memberikan indikasi dari tiga kesalahan yang dibuat. Akhirnya, laporan klasifikasi memberikan rincian setiap kelas dengan presisi, daya ingat, skor akhir dan dukungan yang menunjukkan hasil yang sangat baik (memberikan dataset validasi kecil).

0.9

[[ 7  0  0]

 [ 0 11  1]

 [ 0  2  9]]

                             precision    recall  f1-score   support

Iris-setosa                  1.00      1.00      1.00         7

Iris-versicolor           0.85      0.92      0.88        12

Iris-virginica              0.90      0.82      0.86        11

avg / total                   0.90      0.90      0.90        30

YANG PENTING YAKIN !!!

Anda tidak perlu mengerti semuanya. (Setidaknya tidak sekarang) Tujuan Anda adalah menjalankan tutorial end-to-end untuk mendapatkan hasilnya. Anda tidak perlu memahami semua yang ada di jalur pertama. Cantumkan pertanyaan Anda saat Anda pergi. Gunakan bantuan berat (“FunctionName”) membantu sintaks Python untuk mempelajari semua fungsi yang Anda gunakan.

Anda tidak perlu tahu bagaimana algoritma bekerja. Penting untuk diketahui tentang keterbatasan dan cara mengkonfigurasi algoritma pembelajaran mesin. Tapi belajar tentang algoritma bisa datang nanti. Anda perlu membangun pengetahuan algoritma ini perlahan dalam jangka waktu yang lama. Hari ini, mulailah dengan merasa nyaman dengan platform.

Anda tidak perlu menjadi programmer Python. Sintaks bahasa Python bisa jadi intuitif jika Anda baru mengenalnya. Sama seperti bahasa lainnya, fokus pada pemanggilan fungsi (misalnya fungsi ()) dan tugas (misalnya a = “b”). Ini akan membuat Anda mendapatkan sebagian besar jalan. Anda adalah pengembang, Anda tahu bagaimana cara mengambil dasar-dasar bahasa dengan cepat. Mulailah dan selami detailnya nanti.

Anda tidak perlu menjadi ahli Machine Learning. Anda bisa belajar tentang manfaat dan keterbatasan berbagai algoritma nantinya, dan ada banyak posting yang bisa Anda baca nanti untuk memoles langkah-langkah proyek pembelajaran mesin dan pentingnya mengevaluasi akurasi dengan menggunakan validasi silang.

Bagaimana dengan langkah lain dalam proyek Machine Learning. Kami tidak mencakup semua langkah dalam proyek pembelajaran mesin karena ini adalah proyek pertama Anda dan kami perlu fokus pada langkah-langkah kunci. Yakni, memuat data, melihat data, mengevaluasi beberapa algoritma dan membuat beberapa prediksi. Dalam tutorial selanjutnya kita bisa melihat persiapan data dan hasil perbaikan tugas lainnya.