Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kod Setara Python Pembelajaran Mesin Automatik Diterangkan

Kod Setara Python Pembelajaran Mesin Automatik Diterangkan

PHPz
PHPzke hadapan
2023-08-22 20:25:101097semak imbas

Kod Setara Python Pembelajaran Mesin Automatik Diterangkan

Pengenalan

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.

Cara mengendalikan ralat dalam nod-merah

Auto-sklearn

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.

Kod AutoML

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 bagi

Program

ialah:

program

import 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))

Output

Accuracy: 0.9866666666666667

Penjelasan kod

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

  • Automl bersamaan dengan autosklearn.classification. AutoSklearnClassifier (had masa setiap larian = 30, baki masa untuk tugasan ini = 180): Bentuk model AutoML yang dilatih pada set data MNIST ke dalam contoh kelas AutoSklearnClassifier. Had masa setiap larian mewakili masa maksimum (dalam saat) yang boleh dijalankan oleh setiap model individu, manakala baki masa untuk tugasan ini mewakili masa maksimum (dalam saat) proses AutoML boleh dijalankan.
  • Gunakan fungsi automl.fit (X train, y train) untuk melatih model AutoSklearnClassifier melalui set latihan X train dan label Y train yang berkaitan.
  • ketepatan:", cetak(ujian X, ujian y), automl.score Ini menentukan ketepatan model AutoSklearnClassifier pada set ujian selepas menilai prestasinya pada ujian X dan label berkaitan ujian Y. Kaedah skor memberikan ketepatan model pada set data yang diberikan
  • .

  • Kod di atas melaksanakan kaedah AutoML, teknologi pembelajaran mesin yang mengautomasikan setiap langkah proses pembinaan model, termasuk pemilihan ciri, penalaan hiperparameter dan penyediaan data. Malah bukan pakar boleh mencipta model berkuasa dengan bantuan AutoML, yang mengurangkan jumlah usaha manual yang diperlukan untuk mencipta model pembelajaran mesin.

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.

Kesimpulan

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam