Pembelajaran mesin ialah bidang yang pesat membangun, dan teknologi serta algoritma baharu sentiasa muncul. Walau bagaimanapun, mencipta dan meningkatkan model pembelajaran mesin boleh menjadi tugas yang memakan masa dan mencabar yang memerlukan tahap kepakaran yang tinggi. Pembelajaran mesin automatik, sering dirujuk sebagai autoML, bertujuan untuk memudahkan proses mencipta dan mengoptimumkan model pembelajaran mesin dengan mengautomasikan beberapa tugas yang membosankan seperti kejuruteraan ciri, penalaan hiperparameter dan pemilihan model.
auto-sklearn ialah rangka kerja pembelajaran mesin automatik sumber terbuka yang berkuasa yang dibina pada scikit-learn, salah satu perpustakaan pembelajaran mesin paling terkenal dalam Python. Ia secara automatik mencari saluran paip pembelajaran mesin yang berpotensi pada set data tertentu melalui pengoptimuman Bayesian dan meta-pembelajaran, dan secara automatik mengenal pasti model dan hiperparameter terbaik. Tutorial ini akan memperkenalkan penggunaan Auto-sklearn dalam Python, termasuk panduan tentang pemasangan, mengimport data, penyediaan data, mencipta dan melatih model serta menilai kesan model. Malah pemula boleh menggunakan Auto-sklearn untuk mencipta model pembelajaran mesin yang berkuasa dengan cepat dan mudah.
Automasikan penciptaan dan penambahbaikan berterusan model pembelajaran mesin menggunakan program perisian sumber terbuka yang cekap Auto-sklearn. Cari model dan hiperparameter yang ideal secara automatik untuk set data tertentu menggunakan pengoptimuman Bayesian dan meta-pembelajaran, sendiri berdasarkan program pembelajaran mesin yang terkenal scikit-learn.
Hanya beberapa aplikasi yang dibuat oleh autosklearn untuk masalah klasifikasi dan regresi termasuk pemprosesan bahasa semula jadi, klasifikasi imej dan ramalan siri masa.
Perpustakaan beroperasi dengan mencari melalui koleksi proses pembelajaran mesin yang berpotensi, termasuk kejuruteraan ciri, pemilihan model dan proses penyediaan data. Ia menggunakan pengoptimuman Bayesian untuk mencari ruang ini dengan cekap dan terus meningkatkan kecekapan carian daripada ujian sebelumnya melalui meta-pembelajaran.
Selain itu, Auto-sklearn juga menyediakan satu siri ciri berkuasa, termasuk pemilihan ensembel dinamik, penyepaduan model automatik dan pembelajaran aktif. Selain itu, ia menyediakan API yang mudah digunakan untuk membangunkan, menguji dan model latihan.
Mari kita periksa kod AutoML dengan lebih terperinci menggunakan Auto-sklearn. Kami akan menggunakan set data Digit daripada scikit-learn, iaitu set data digit tulisan tangan. Meramal nombor daripada gambar nombor adalah matlamatnya. Inilah kodnya -
Terjemahan bahasa Cina bagiimport autosklearn.classification from sklearn.datasets import load_digits from sklearn.model_selection import train_test_split # Load the dataset X, y = load_digits(return_X_y=True) X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=1) # Create and fit the AutoML model automl = autosklearn.classification.AutoSklearnClassifier(time_left_for_this_task=180, per_run_time_limit=30) automl.fit(X_train, y_train) # Evaluate the model on the test set print("Accuracy:", automl.score(X_test, y_test))
Accuracy: 0.9866666666666667
Program ini menggunakan pembelajaran mesin automatik (AutoML) untuk mengklasifikasikan digit tulisan tangan daripada set data MNIST, termasuk menggunakan modul Auto-sklearn. Berikut ialah gambaran ringkas tentang kod −
Import kelas AutoSklearnClassifier daripada modul autosklearn.classification Kelas ini mengandungi model pengelasan AutoML yang akan digunakan.
Import fungsi load_digits daripada sklearn.datasets: Ini akan mengimport fungsi load_digits set data MNIST daripada pakej sklearn.datasets.
Pilih model dari sklearn. Set data MNIST dibahagikan kepada set latihan dan set ujian menggunakan fungsi pemisahan ujian kereta api dalam modul pemilihan sklearn.model, yang diimport di sini.
Dataset MNIST dimuatkan, ciri input disimpan dalam X dan label yang sepadan disimpan dalam y. X, y = load_digits(return_X_y=True): Ini akan memuatkan set data MNIST.
Set latihan X, Set Benih kepada 1 untuk memastikan kebolehulangan
.
Mula-mula, import perpustakaan yang diperlukan, seperti panda, numpy, sklearn dan tpot, ke dalam kod. Sklearn digunakan untuk tugasan pembelajaran mesin seperti prapemprosesan data, pemilihan model dan penilaian, Pandas digunakan untuk manipulasi data dan NumPy digunakan untuk pengiraan berangka. Pustaka utama yang melaksanakan algoritma AutoML ialah TPOT.
Kemudian muatkan set data menggunakan fungsi read_csv panda dan simpan ciri input dan label output secara berasingan dalam pembolehubah berbeza. Pembolehubah 'y' memegang label output, manakala pembolehubah 'X' menyimpan ciri-ciri input.
Untuk memuatkan data dan menjana model pembelajaran mesin, kod mula-mula memuatkan set data dan kemudian mencipta tika kelas TPOtregressor. Kelas TPOTSRegressor ialah subkelas kelas TPOTBase dan menggunakan algoritma genetik untuk memilih ciri dan melaraskan hiperparameter. Kelas TPOTCregressor mengendalikan masalah regresi, manakala kelas TPOTClassifier mengendalikan masalah klasifikasi.
Gunakan kaedah train-test-split Sklearn untuk membahagikan set data kepada set latihan dan set ujian. Adalah menjadi amalan biasa dalam pembelajaran mesin untuk membahagikan data kepada dua set: set latihan untuk menyesuaikan model dan set ujian untuk menilai prestasi model.
Setelah data dipecahkan, kaedah muat tika TPORegressor dipanggil, yang melaraskan model berdasarkan data latihan. Dengan teknologi fit, algoritma genetik digunakan untuk mencari subset optimum ciri dan hiperparameter untuk data yang diberikan. Model terbaik kemudian dikembalikan.
Kod kemudian menilai prestasi model pada set ujian untuk menentukan ketepatan model, menggunakan kaedah pemarkahan. Skor ketepatan menunjukkan kesesuaian model dengan data, dengan nilai yang lebih hampir kepada 1 menunjukkan kesesuaian yang lebih baik.
Model terbaik kemudiannya dieksport ke fail Python menggunakan fungsi eksport, bersama-sama dengan skor ketepatannya pada set ujian.
Ringkasnya, Auto-sklearn ialah perpustakaan berkuasa yang memudahkan proses mencipta dan menambah baik model pembelajaran mesin. Ia menjimatkan masa dan usaha dengan mencari model dan hiperparameter terbaik secara automatik untuk set data tertentu. Tutorial ini menerangkan cara menggunakan Auto-sklearn dalam Python, termasuk panduan untuk memasangnya, mengimport data, menyediakan data, mencipta dan melatih model serta menilai prestasi model. Malah orang baru boleh menggunakan Auto-sklearn untuk mencipta model pembelajaran mesin yang berkuasa dengan cepat dan mudah.
Atas ialah kandungan terperinci Kod Setara Python Pembelajaran Mesin Automatik Diterangkan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!