Belajar Scikit
SKTet, nama lengkap scikit-learn, adalah pustaka pembelajaran mesin dalam Python, dibangun berdasarkan paket ilmu data seperti numpy, scipy, dan matplotlib, yang mencakup hampir semua aspek pembelajaran mesin seperti data sampel, prapemrosesan data, verifikasi model, pemilihan fitur, klasifikasi, regresi, pengelompokan, dan pengurangan dimensi. Tidak seperti stok pembelajaran mendalam yang tersedia di berbagai kerangka kerja seperti pytorch dan TensorFlow, sklearn adalah perpustakaan pilihan untuk pembelajaran mesin tradisional dalam python, dan tidak ada pesaing lain.
Situs resmi:Login hyperlink terlihat. Sumber:Login hyperlink terlihat.
Ekstensi untuk Scikit-learn
Sebagai kerangka kerja pembelajaran mesin klasik, scikit-learn telah berkembang selama lebih dari sepuluh tahun sejak kelahirannya, tetapi kecepatan komputasinya telah banyak dikritik oleh pengguna. Ekstensi untuk Scikit-learn adalah akselerator perangkat lunak AI gratis yang dirancang untuk membantu AndaKode Scikit-learn yang ada memberikan kecepatan 10 hingga 100x lebih cepat。 Akselerasi perangkat lunak dicapai melalui instruksi vektor, pengoptimalan memori untuk perangkat keras AI, threading, dan pengoptimalan.
Dengan ekstensi Scikit-learn, Anda dapat:
- Pelatihan dan inferensi 100 kali lebih cepat dengan presisi matematis yang sama
- Manfaatkan peningkatan performa di berbagai konfigurasi perangkat keras CPU, termasuk konfigurasi GPU dan multi-GPU
- Integrasikan ekstensi ke dalam aplikasi Scikit-learn Anda yang ada tanpa memodifikasi kode
- Terus menggunakan API scikit-learn sumber terbuka
- Gunakan beberapa baris kode atau aktifkan dan nonaktifkan ekstensi di baris perintah
Sumber:Login hyperlink terlihat. Dokumentasi:Login hyperlink terlihat.
Ujian
Pertama, gunakan conda untuk menyiapkan lingkungan dan menginstal paket yang diperlukan dengan perintah berikut:
Kode pengujian Python baru adalah sebagai berikut:
Kode yang dipercepat adalah sebagai berikut:
Interpretasi kode sumber:
1.X, y = make_regression(n_samples=2000000, n_features=100, noise=1, random_state=42) make_regression adalah fungsi dalam scikit-learn yang menghasilkan kumpulan data untuk masalah regresi linier. n_samples=2000000: Menentukan jumlah sampel dalam himpunan data yang dihasilkan sebesar 2.000.000. n_features=100: Menentukan bahwa setiap sampel memiliki 100 fitur (yaitu, variabel input). noise=1: Standar deviasi penambahan noise pada nilai target y adalah 1. Ini berarti bahwa nilai target akan memiliki beberapa gangguan acak. random_state=42: Atur seed acak ke 42, memastikan bahwa data yang dihasilkan sama setiap kali kode dijalankan (repeatability). Hasil: X adalah susunan bentuk NumPy (2000000, 100) yang mewakili 2.000.000 sampel dengan masing-masing 100 fitur; y adalah array satu dimensi dengan panjang 2.000.000 yang mewakili nilai target.
2. X_train, _, y_train, _ = train_test_split(X, y, test_size=0,33, random_state=42) train_test_split adalah fungsi dalam scikit-learn yang membagi himpunan data menjadi set pelatihan dan pengujian. test_size=0,33: Menunjukkan bahwa 33% himpunan data dialokasikan ke set pengujian dan 67% sisanya dialokasikan ke set pelatihan. random_state=42: Atur seed acak ke 42, pastikan bahwa hasil pemisahan data sama setiap kali Anda menjalankan kode. : Gunakan garis bawah untuk mengabaikan nilai yang ditampilkan. Di sini kita hanya peduli dengan bagian set pelatihan (X_train dan y_train) dan mengabaikan bagian set uji. Hasil: X_train: Matriks fitur set pelatihan, berbentuk seperti (1340000, 100) (sekitar 67% data). y_train: Nilai target set pelatihan dengan panjang 1.340.000.
3. model = LinearRegression() LinearRegression adalah kelas dalam scikit-learn yang mengimplementasikan model regresi linier. Baris kode ini membuat instans model regresi linier dan menetapkan nilai ke model variabel. Secara default, LinearRegression tidak mengatur data (yaitu, tidak ada regularisasi L1 atau L2).
4. model.fit (X_train, y_train) Fit adalah metode dalam model scikit-learn yang digunakan untuk melatih model. Di sini metode fit dipanggil agar sesuai dengan model regresi linier menggunakan X_train data set pelatihan dan y_train nilai target. Model ini menghitung sekumpulan bobot (koefisien) dan intersep yang optimal untuk meminimalkan kesalahan antara nilai yang diprediksi dan sebenarnya (biasanya kuadrat terkecil). Setelah pelatihan selesai, parameter model disimpan dalam model.coef_ (bobot fitur) dan model.intercept_ (intersepsi).
Waktu eksekusi adalah sebagai berikut:
Anda dapat melihat bahwa efeknya sangat jelas baik tanpa akselerasi maupun setelah akselerasi,Dibutuhkan sekitar 16 detik tanpa akselerasi dan hanya 0,1 detik setelah akselerasi!!!! |