Adakah anda ingin bermula dengan pembelajaran mesin?
Saya telah mencipta tutorial yang ringkas dan mudah untuk pemula yang lengkap. Bersama-sama, kita akan membincangkan langkah asas melatih model pembelajaran mesin.
Semasa menerangkan langkah-langkah melatih model satu demi satu, saya juga akan memberikan contoh yang sangat asas tentang masalah pembelajaran mesin juga. Jadi, jika anda ingin mengikutinya, anda boleh memuat turun sampel set data ini daripada ini pautan.
Ini hanyalah contoh set data untuk membantu anda memulakan pembelajaran mesin.
Kami mempunyai 18 nilai orang yang berbeza umur dan jantina yang menentukan muzik kegemaran mereka. Dengan menggunakan, ciri "umur" dan "jantina" kami akan cuba meneka genre muzik mana yang menjadi kegemaran mereka.
Nota: 1 dan 0 diberikan kepada jantina sebagai perempuan dan lelaki dalam set data ini.
Walau bagaimanapun, jika anda tidak mahu mengikuti contoh, ia juga tidak mengapa. Saya akan menerangkan semua langkah ini secara terperinci. Jadi, mari selami!
Perkara Pertama Yang Perlu Diketahui
Sebelum pergi ke langkah melatih model, mari kita jelaskan beberapa perkara. Pembelajaran mesin ialah satu kecerdasan buatan disiplin yang memberi tumpuan kepada membangunkan algoritma yang boleh belajar daripada data.
Untuk melakukan ini, model pembelajaran mesin dilatih pada set data yang mengajar model cara membuat ramalan atau ramalan yang betul klasifikasi pada data baharu yang tidak diketahui sebelum ini.
Jadi, apakah model-model ini? A model pembelajaran mesin adalah serupa dengan resipi yang digunakan oleh komputer untuk menjana ramalan atau pilihan data.
Model, seperti resipi, mengikut set arahan untuk menilai data dan menjana ramalan atau pertimbangan berdasarkan corak yang terdapat dalam data. Lebih banyak data model dilatih, lebih tepat ramalannya.
Apakah Jenis Model yang Boleh Kami Latih?
Mari lihat apakah model pembelajaran mesin asas.
- Regresi Linear: model yang meramalkan pembolehubah sasaran berterusan daripada satu atau lebih pembolehubah input.
- Rangkaian Neural: rangkaian nod terpaut yang boleh belajar untuk mengesan corak rumit dalam data.
- Pokok Keputusan: pendekatan membuat keputusan yang dibina di atas rantaian pernyataan if-else yang bercabang.
- Pengelompokan: satu set model yang mengumpulkan titik data setanding berdasarkan persamaan.
- Regresi Logistik: model untuk masalah klasifikasi binari di mana pembolehubah sasaran mempunyai dua nilai potensi.
- Pokok Keputusan: pendekatan membuat keputusan yang dibina di atas rantaian pernyataan if-else yang bercabang.
- Hutan Rawak: model ensemble yang terdiri daripada banyak pokok keputusan. Ia kerap digunakan untuk aplikasi klasifikasi dan regresi.
- K-Nearest Neighbors: model yang meramalkan pembolehubah sasaran menggunakan titik data k-terhampir dalam set latihan.
Bergantung pada masalah dan set data kami, kami memutuskan model pembelajaran mesin yang paling sesuai dengan situasi kami. Namun, kami akan kembali kepada perkara ini kemudian. Sekarang, mari kita mula melatih model kita. Saya harap anda telah memuat turun dataset jika anda ingin mengikuti contoh kami.
Juga, saya mengesyorkan mempunyai Notebook Jupyter dipasang pada mesin tempatan anda dan menggunakannya untuk projek pembelajaran mesin anda.
1: Tentukan masalah
Peringkat pertama dalam melatih pembelajaran mesin model sedang mentakrifkan isu yang perlu diselesaikan. Ini memerlukan pemilihan pembolehubah yang ingin anda ramalkan (dikenali sebagai pembolehubah sasaran) dan pembolehubah yang akan digunakan untuk menjana ramalan tersebut (dikenali sebagai ciri atau peramal).
Anda juga harus memutuskan jenis masalah pembelajaran mesin yang anda cuba tangani (pengelasan, regresi, pengelompokan, dan sebagainya) dan jenis data yang anda perlukan untuk mengumpulkan atau melatih model anda.
Jenis model yang anda gunakan akan ditentukan oleh jenis masalah pembelajaran mesin yang ingin anda selesaikan. Pengelasan, regresi dan pengelompokan adalah tiga kategori utama cabaran pembelajaran mesin. Apabila anda ingin meramalkan pembolehubah kategori, seperti sama ada e-mel adalah spam atau tidak, anda menggunakan klasifikasi.
Apabila anda ingin meramalkan pembolehubah berterusan, seperti harga rumah, anda menggunakan regresi. Pengelompokan digunakan untuk menyusun item data yang setanding berdasarkan persamaannya.
Jika kita lihat contoh kita; cabaran kami adalah untuk menentukan gaya muzik pilihan seseorang daripada jantina dan umur mereka. Kami akan menggunakan set data 18 orang untuk contoh ini dan maklumat tentang umur, jantina dan gaya muzik kegemaran mereka.
2. Sediakan data
Selepas anda menentukan masalah, anda perlu menyediakan data untuk melatih model. Ini memerlukan pembersihan dan pemprosesan data. Jadi, kita boleh memastikan bahawa ia adalah dalam format yang algoritma pembelajaran mesin boleh digunakan.
Ini mungkin termasuk aktiviti seperti memadamkan nilai yang hilang, menukar data kategori kepada data berangka dan menskala atau menormalkan data untuk memastikan semua ciri berada pada skala yang sama.
Sebagai contoh, ini adalah cara anda memadamkan 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())
Nota kecil: Dalam baris o “import pandas as pd",
kami mengimport pustaka Pandas dan menetapkan alias "pd" untuk memudahkan rujukan fungsi dan objeknya kemudian dalam kod.
Pandas ialah modul terkenal untuk Python untuk manipulasi dan analisis data, terutamanya apabila bekerja dengan data berstruktur atau jadual.
Dalam contoh kami menentukan genre muzik. Kami akan mengimport set data dahulu. Saya telah menamakannya music.csv, walau bagaimanapun, anda boleh menamakannya mengikut kehendak anda.
Untuk menyediakan data untuk melatih model pembelajaran mesin, kami membahagikannya kepada atribut (umur dan jantina) dan objektif (genre muzik).
Kami juga akan membahagikan data kepada set latihan dan ujian 80:20 untuk menilai prestasi model kami dan mengelakkan pemasangan berlebihan.
# 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.
Selepas anda menyediakan data, anda mesti memilih model pembelajaran mesin yang sesuai dengan tugas anda.
Terdapat beberapa algoritma untuk dipilih, seperti pepohon keputusan, regresi logistik, mesin vektor sokongan, rangkaian saraf dan lain-lain. Algoritma yang anda pilih akan ditentukan oleh jenis isu yang anda cuba jawab, jenis data yang anda miliki dan keperluan prestasi anda.
Kami akan menggunakan pengelas pokok keputusan untuk contoh ini kerana kami sedang menangani masalah pengelasan (meramalkan data kategori).
# Import necessary libraries
from sklearn.tree import DecisionTreeClassifier
Berikut ialah visualisasi cara Pengelas Pokok Keputusan berfungsi:
4. Latih model
Anda boleh mula melatih model apabila anda telah memilih algoritma pembelajaran mesin yang boleh diterima. Ini memerlukan penggunaan data yang dijana sebelum ini untuk mendidik algoritma tentang cara membuat ramalan pada data baharu yang sebelum ini tidak kelihatan.
Algoritma akan mengubah suai parameter dalamannya semasa latihan untuk meminimumkan perbezaan antara nilai ramalannya dan nilai sebenar dalam data latihan. Kuantiti data yang digunakan untuk latihan, serta parameter khusus algoritma, semuanya boleh memberi kesan ke atas ketepatan model yang terhasil.
Dalam contoh khusus kami, sekarang setelah kami memutuskan kaedah, kami boleh melatih model kami dengan data latihan.
# Train the decision tree classifier
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
5. Nilaikan model
Selepas model telah dilatih, ia mesti dinilai pada data baharu untuk memastikan ia adalah tepat dan boleh dipercayai. Ini memerlukan ujian model dengan data yang tidak digunakan semasa latihan dan membandingkan nilai unjurannya dengan nilai sebenar dalam data ujian.
Semakan ini boleh membantu dalam mengenal pasti sebarang kelemahan model, seperti pemasangan lampau atau kurang kemas, dan boleh membawa kepada sebarang penalaan halus yang mungkin diperlukan.
Menggunakan data ujian, kami akan menilai ketepatan 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 ketepatan tidak begitu teruk buat masa ini. 🙂 Untuk meningkatkan skor ketepatan anda, anda sentiasa boleh membersihkan data dengan lebih banyak atau mencuba model pembelajaran mesin yang berbeza untuk melihat model mana yang memberikan skor tertinggi.
6. Perhalusi model
Jika kecekapan model tidak mencukupi, anda boleh memperhalusinya dengan mengubah pelbagai parameter algoritma atau dengan bereksperimen dengan algoritma baharu sepenuhnya.
Prosedur ini mungkin termasuk percubaan dengan kadar pembelajaran alternatif, mengubah suai tetapan regularisasi, atau mengubah bilangan atau saiz lapisan tersembunyi dalam rangkaian saraf.
7. Gunakan model
Sebaik sahaja anda berpuas hati dengan prestasi model, anda boleh mula menggunakannya untuk menjana ramalan pada data baharu.
Ini mungkin memerlukan suapan data baharu ke dalam model dan menggunakan parameter yang dipelajari model untuk menjana ramalan pada data tersebut, atau menyepadukan model ke dalam aplikasi atau sistem yang lebih luas.
Kami boleh menggunakan model kami untuk menjana ramalan pada data baharu selepas kami berpuas hati dengan ketepatannya. Anda boleh mencuba nilai jantina dan umur yang berbeza.
# Test the model with new data
new_data = [[25, 1], [30, 0]]
predictions = model.predict(new_data)
print("Predictions: ", predictions)
Wrap Up
Kami telah selesai melatih model pembelajaran mesin pertama kami.
Saya harap anda mendapati ia berguna. Anda kini boleh mencuba menggunakan model pembelajaran mesin yang berbeza seperti Regresi Linear atau Hutan Rawak.
Terdapat banyak set data dan cabaran Kaggle jika anda ingin meningkatkan pengekodan dan pemahaman anda tentang pembelajaran mesin.
Sila tinggalkan balasan anda