Untuk mengasinkan classifier terlatih dengan Python menggunakan modul 'pickle', kita dapat mengikuti beberapa langkah sederhana. Pickling memungkinkan kita untuk membuat serial sebuah objek dan menyimpannya ke file, yang kemudian dapat dimuat dan digunakan nanti. Ini sangat berguna saat kita ingin menyimpan model pembelajaran mesin yang terlatih, seperti pengklasifikasi regresi, untuk penggunaan di masa mendatang tanpa perlu melatihnya kembali setiap saat.
Pertama, kita perlu mengimpor modul 'pickle' di skrip Python kita:
python import pickle
Selanjutnya, kita perlu melatih classifier kita dan mendapatkan model yang dilatih. Anggaplah kita telah melatih pengklasifikasi regresi dan menyimpannya dalam variabel yang disebut 'model_regresi'.
Untuk memilih model yang sudah dilatih, kita bisa menggunakan fungsi 'pickle.dump()'. Fungsi ini membutuhkan dua parameter: objek yang ingin kita acar (dalam hal ini, classifier terlatih), dan objek file tempat kita ingin menyimpan objek acar. Kita dapat membuka file dalam mode tulis biner menggunakan fungsi 'open()'.
python with open('regression_model.pkl', 'wb') as file: pickle.dump(regression_model, file)
Pada kode di atas, kita membuka file bernama 'regression_model.pkl' dalam mode tulis biner ('wb') dan meneruskannya sebagai parameter kedua ke 'pickle.dump()'. Pengklasifikasi terlatih, disimpan dalam variabel 'regression_model', diasamkan dan disimpan ke file.
Sekarang, kami telah berhasil memilih classifier terlatih kami. Kita dapat memuatnya kembali ke memori kapan pun kita membutuhkannya menggunakan fungsi 'pickle.load()'.
python with open('regression_model.pkl', 'rb') as file: loaded_model = pickle.load(file)
Pada kode di atas, kita membuka file acar dalam mode biner baca ('rb') dan meneruskannya sebagai parameter ke 'pickle.load()'. Objek acar dimuat ke dalam variabel 'loaded_model', yang dapat digunakan untuk prediksi atau operasi lainnya.
Berikut adalah contoh lengkap yang mendemonstrasikan pengawetan dan pemuatan classifier regresi terlatih:
python import pickle from sklearn.linear_model import LinearRegression # Training the regression model X_train = [[1], [2], [3], [4], [5]] y_train = [2, 4, 6, 8, 10] regression_model = LinearRegression() regression_model.fit(X_train, y_train) # Pickling the trained model with open('regression_model.pkl', 'wb') as file: pickle.dump(regression_model, file) # Loading the pickled model with open('regression_model.pkl', 'rb') as file: loaded_model = pickle.load(file) # Using the loaded model for prediction X_test = [[6]] predicted_value = loaded_model.predict(X_test) print(predicted_value)
Dalam contoh di atas, pertama-tama kita melatih model regresi linier sederhana menggunakan kelas 'LinearRegression' dari modul 'sklearn.linear_model'. Kami kemudian mengambil model yang dilatih ke file bernama 'regression_model.pkl'. Kemudian, kami memuat model acar dari file dan menggunakannya untuk memprediksi nilai input uji 'X_test'.
Dengan mengawetkan dan memuat classifier yang telah dilatih, kita dapat menggunakan kembali model tanpa perlu melatihnya kembali, yang dapat menghemat banyak waktu dan sumber daya komputasi.
Pertanyaan dan jawaban terbaru lainnya tentang Pembelajaran Mesin EITC/AI/MLP dengan Python:
- Apa itu Support Vector Machine (SVM)?
- Apakah algoritma K tetangga terdekat cocok untuk membangun model pembelajaran mesin yang dapat dilatih?
- Apakah algoritma pelatihan SVM biasa digunakan sebagai pengklasifikasi linier biner?
- Bisakah algoritma regresi bekerja dengan data kontinu?
- Apakah regresi linier sangat cocok untuk penskalaan?
- Bagaimana mean shift bandwidth dinamis secara adaptif menyesuaikan parameter bandwidth berdasarkan kepadatan titik data?
- Apa tujuan menetapkan bobot ke set fitur dalam implementasi bandwidth dinamis pergeseran rata-rata?
- Bagaimana nilai radius baru ditentukan dalam pendekatan mean shift dynamic bandwidth?
- Bagaimana cara pendekatan bandwidth dinamis pergeseran rata-rata menangani menemukan centroid dengan benar tanpa mengkode keras radius?
- Apa batasan menggunakan radius tetap dalam algoritma pergeseran rata-rata?
Lihat lebih banyak pertanyaan dan jawaban di Pembelajaran Mesin EITC/AI/MLP dengan Python