Apakah Anda ingin memulai Mesin belajar?
Saya telah membuat tutorial sederhana dan mudah untuk pemula yang lengkap. Bersama-sama, kita akan membahas langkah-langkah dasar melatih model pembelajaran mesin.
Sambil menjelaskan langkah-langkah pelatihan model satu per satu, saya juga akan memberikan contoh yang sangat mendasar dari masalah pembelajaran mesin. Jadi, jika Anda ingin mengikuti, Anda dapat mengunduh kumpulan data sampel ini dari sini link.
Ini hanyalah contoh kumpulan data untuk membantu Anda memulai pembelajaran mesin.
Kami memiliki 18 nilai orang dari berbagai usia dan jenis kelamin yang menentukan musik favorit mereka. Dengan menggunakan fitur “age” dan “gender” kita akan mencoba menebak genre musik mana yang menjadi favorit mereka.
Catatan: 1 dan 0 ditetapkan untuk jenis kelamin sebagai perempuan dan laki-laki dalam kumpulan data ini.
Namun, jika Anda tidak ingin mengikuti contoh, itu juga tidak masalah. Saya akan menjelaskan semua langkah ini secara rinci. Jadi, mari selami!
Hal Pertama yang Perlu Diketahui
Sebelum masuk ke langkah-langkah melatih model, mari kita perjelas beberapa poin. Pembelajaran mesin adalah sebuah kecerdasan buatan disiplin yang berfokus pada pengembangan algoritma yang dapat belajar dari data.
Untuk melakukan ini, model pembelajaran mesin dilatih pada kumpulan data yang mengajarkan model cara membuat prediksi yang benar atau klasifikasi pada data baru yang sebelumnya tidak diketahui.
Nah, apa saja model-model tersebut? A model pembelajaran mesin mirip dengan resep yang digunakan komputer untuk menghasilkan prediksi atau pilihan data.
Model, seperti resep, mengikuti serangkaian instruksi untuk mengevaluasi data dan menghasilkan prediksi atau penilaian berdasarkan pola yang ditemukan dalam data. Semakin banyak data model dilatih, semakin akurat prediksinya.
Model Apa Yang Dapat Kami Latih?
Mari kita lihat apa saja model pembelajaran mesin dasar.
- Regresi Linear: model yang memprediksi variabel target kontinu dari satu atau lebih variabel input.
- Jaringan Syaraf: jaringan node tertaut yang dapat belajar mendeteksi pola rumit dalam data.
- Pohon Keputusan: pendekatan pengambilan keputusan yang dibangun di atas rantai percabangan pernyataan if-else.
- Clustering: sekumpulan model yang mengelompokkan titik data yang sebanding berdasarkan kesamaan.
- Regresi Logistik: model untuk masalah klasifikasi biner di mana variabel target memiliki dua nilai potensial.
- Pohon Keputusan: pendekatan pengambilan keputusan yang dibangun di atas rantai percabangan pernyataan if-else.
- Hutan Acak: model ansambel yang terdiri dari banyak pohon keputusan. Mereka sering digunakan untuk aplikasi klasifikasi dan regresi.
- K-Nearest Neighbors: model yang memprediksi variabel target menggunakan titik data k-terdekat dalam set pelatihan.
Bergantung pada masalah dan kumpulan data kami, kami memutuskan model pembelajaran mesin mana yang paling sesuai dengan situasi kami. Namun, kita akan kembali ke sini nanti. Sekarang, mari kita mulai melatih model kita. Saya harap Anda sudah mengunduh kumpulan data jika Anda ingin mengikuti contoh kami.
Juga, saya sarankan memiliki Notebook Jupyter diinstal di mesin lokal Anda dan menggunakannya untuk proyek pembelajaran mesin Anda.
1: Tentukan masalahnya
Tahap pertama di melatih pembelajaran mesin model mendefinisikan masalah yang akan dipecahkan. Ini memerlukan pemilihan variabel yang ingin Anda ramalkan (dikenal sebagai variabel target) dan variabel yang akan digunakan untuk menghasilkan prediksi tersebut (dikenal sebagai fitur atau prediktor).
Anda juga harus memutuskan jenis masalah pembelajaran mesin yang ingin Anda atasi (klasifikasi, regresi, pengelompokan, dan seterusnya) dan jenis data apa yang perlu Anda kumpulkan atau dapatkan untuk melatih model Anda.
Jenis model yang Anda gunakan akan ditentukan oleh jenis masalah pembelajaran mesin yang ingin Anda selesaikan. Klasifikasi, regresi, dan pengelompokan adalah tiga kategori utama dari tantangan pembelajaran mesin. Saat Anda ingin memprediksi variabel kategori, seperti apakah email merupakan spam atau bukan, Anda menggunakan klasifikasi.
Saat Anda ingin meramalkan variabel kontinu, seperti harga rumah, Anda menggunakan regresi. Clustering digunakan untuk mengumpulkan item data yang sebanding berdasarkan kesamaannya.
Jika kita melihat contoh kita; tantangan kami adalah menentukan gaya musik yang disukai seseorang dari jenis kelamin dan usianya. Kami akan menggunakan kumpulan data 18 orang untuk contoh ini dan informasi tentang usia, jenis kelamin, dan gaya musik favorit mereka.
2. Siapkan datanya
Setelah menentukan masalahnya, Anda harus menyiapkan data untuk melatih model. Ini memerlukan pembersihan dan pemrosesan data. Sehingga kami dapat memastikan bahwa itu dalam format yang algoritma pembelajaran mesin bisa menggunakan.
Ini mungkin termasuk aktivitas seperti menghapus nilai yang hilang, mengubah data kategorikal menjadi data numerik, dan menskalakan atau menormalkan data untuk memastikan semua karakteristik berada pada skala yang sama.
Misalnya, inilah cara Anda menghapus nilai yang hilang:
import pandas as pd
# Load the data into a pandas DataFrame
data = pd.read_csv('data.csv')
# Check for missing values
print(data.isnull().sum())
# Drop rows with missing values
data.dropna(inplace=True)
# Check that all missing values have been removed
print(data.isnull().sum())
Catatan kecil: Di baris o “import pandas as pd",
kita mengimpor pustaka Pandas dan memberinya alias "pd" untuk mempermudah mereferensikan fungsi dan objeknya nanti dalam kode.
Pandas adalah modul Python yang terkenal untuk manipulasi dan analisis data, terutama saat bekerja dengan data terstruktur atau tabular.
Dalam contoh kami menentukan genre musik. Pertama-tama kita akan mengimpor kumpulan data. Saya menamainya music.csv, namun, Anda dapat menamainya sesuka Anda.
Untuk menyiapkan data untuk melatih model pembelajaran mesin, kami membaginya menjadi atribut (usia dan jenis kelamin) dan tujuan (genre musik).
Kami juga akan membagi data menjadi set pelatihan dan pengujian 80:20 untuk menilai kinerja model kami dan menghindari overfitting.
# Import necessary libraries
import pandas as pd
from sklearn.model_selection import train_test_split
# Load data from CSV file/code>
music_data = pd.read_csv('music.csv')
# Split data into features and target
X = music_data.drop(columns=['genre'])
y = music_data['genre']
# Split data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
3. Pilih model pembelajaran mesin.
Setelah menyiapkan data, Anda harus memilih model pembelajaran mesin yang sesuai dengan tugas Anda.
Ada beberapa algoritme yang dapat dipilih, seperti pohon keputusan, regresi logistik, mesin vektor pendukung, jaringan saraf, dan lainnya. Algoritme yang Anda pilih akan ditentukan oleh jenis masalah yang ingin Anda jawab, jenis data yang Anda miliki, dan kebutuhan kinerja Anda.
Kami akan menggunakan pengklasifikasi pohon keputusan untuk contoh ini karena kami bekerja dengan masalah klasifikasi (memprediksi data kategorikal).
# Import necessary libraries
from sklearn.tree import DecisionTreeClassifier
Berikut adalah visualisasi cara kerja Pengklasifikasi Pohon Keputusan:
4. Latih modelnya
Anda dapat mulai melatih model setelah memilih algoritme pembelajaran mesin yang dapat diterima. Ini memerlukan pemanfaatan data yang dihasilkan sebelumnya untuk mendidik algoritme tentang cara membuat prediksi pada data baru yang sebelumnya tidak terlihat.
Algoritme akan memodifikasi parameter internalnya selama pelatihan untuk meminimalkan perbedaan antara nilai prediksi dan nilai aktual dalam data pelatihan. Kuantitas data yang digunakan untuk pelatihan, serta parameter spesifik algoritme, semuanya dapat memengaruhi keakuratan model yang dihasilkan.
Dalam contoh khusus kami, setelah kami memutuskan metode, kami dapat melatih model kami dengan data pelatihan.
# Train the decision tree classifier
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
5. Evaluasi modelnya
Setelah model dilatih, model tersebut harus dievaluasi pada data baru untuk memastikan bahwa model tersebut akurat dan dapat diandalkan. Ini memerlukan pengujian model dengan data yang tidak digunakan selama pelatihan dan membandingkan nilai yang diproyeksikan dengan nilai aktual dalam data uji.
Tinjauan ini dapat membantu mengidentifikasi kekurangan model apa pun, seperti overfitting atau underfitting, dan dapat mengarah pada penyesuaian yang mungkin diperlukan.
Dengan menggunakan data pengujian, kami akan menilai kebenaran model kami.
# Import necessary libraries
from sklearn.metrics import accuracy_score
# Predict the music genre for the test data
predictions = model.predict(X_test)
# Evaluate the model's accuracy
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: ", accuracy)
Skor akurasinya tidak terlalu buruk untuk saat ini. 🙂 Untuk meningkatkan skor akurasi Anda, Anda selalu dapat membersihkan data lebih banyak atau mencoba berbagai model pembelajaran mesin untuk melihat mana yang memberikan skor tertinggi.
6. Sempurnakan modelnya
Jika efisiensi model tidak cukup memadai, Anda dapat menyempurnakannya dengan mengubah berbagai parameter algoritme atau dengan bereksperimen dengan algoritme baru sepenuhnya.
Prosedur ini mungkin termasuk bereksperimen dengan kecepatan pembelajaran alternatif, memodifikasi pengaturan regularisasi, atau mengubah jumlah atau ukuran lapisan tersembunyi di jaringan saraf.
7. Gunakan modelnya
Setelah puas dengan performa model, Anda dapat mulai menggunakannya untuk membuat prediksi pada data baru.
Ini mungkin memerlukan memasukkan data baru ke dalam model dan memanfaatkan parameter yang dipelajari model untuk menghasilkan prediksi pada data tersebut, atau mengintegrasikan model ke dalam aplikasi atau sistem yang lebih luas.
Kita dapat menggunakan model kita untuk membuat prediksi pada data baru setelah kita puas dengan keakuratannya. Anda dapat mencoba berbagai nilai gender dan usia.
# Test the model with new data
new_data = [[25, 1], [30, 0]]
predictions = model.predict(new_data)
print("Predictions: ", predictions)
Bungkus
Kami telah menyelesaikan pelatihan model pembelajaran mesin pertama kami.
Saya harap Anda telah menemukan itu berguna. Sekarang Anda dapat mencoba menggunakan berbagai model pembelajaran mesin seperti Regresi Linier atau Hutan Acak.
Ada banyak dataset dan tantangan di dalamnya Kaggle jika Anda ingin meningkatkan pengkodean dan pemahaman Anda tentang pembelajaran mesin.
Tinggalkan Balasan