Cara menggunakan lembar contekan scikit-learn

Scikit-learn adalah pustaka pembelajaran mesin perangkat lunak gratis untuk bahasa pemrograman Python. Ini fitur berbagai klasifikasi, regresi, algoritma pengelompokan, dan alat yang efisien untuk penambangan data dan analisis data. Itu dibangun di atas NumPy, SciPy, dan Matplotlib

Bagian
1.
2.
3.
4.
5.
6.
7.
8.
9.

Contoh Dasar

Kode di bawah ini menunjukkan langkah-langkah dasar menggunakan scikit-learn untuk membuat dan menjalankan model pada sekumpulan data

Langkah-langkah dalam kode termasuk. memuat data, membagi menjadi set pelatihan dan pengujian, menskalakan set, membuat model, menyesuaikan model pada data, menggunakan model terlatih untuk membuat prediksi pada set pengujian, dan terakhir mengevaluasi kinerja model

>>> from sklearn import neighbors, datasets, preprocessing
>>> from sklearn.model_selection import train_test_split
>>> from sklearn.metrics import accuracy_score
>>> iris = datasets.load_iris()
>>> X,y = iris.data[:,:2], iris.target
>>> X_train, X_test, y_train, y_test = train_test_split(X,y)
>>> scaler = preprocessing_StandardScaler().fit(X_train)
>>> X_train = scaler.transform(X_train)
>>> X_test = scaler.transform(X_test)
>>> knn = neighbors.KNeighborsClassifier(n_neighbors = 5)
>>> knn.fit(X_train, y_train)
>>> y_pred = knn.predict(X_test)
>>> accuracy_score(y_test, y_pred)

Memuat Data

Data Anda harus numerik dan disimpan sebagai array NumPy atau matriks jarang SciPy. Tipe lain yang mengonversi ke array numerik, seperti Pandas DataFrame juga dapat diterima

>>> import numpy as np
>>> X = np.random.random((10,5))
array([[0.21069686, 0.33457064],
[0.23887117, 0.6093155 ],
[0.48848537, 0.62649292]])
>>> y = np.array(['A','B','A'])array(['A', 'B', 'A'])
_

Data Pelatihan dan Uji

Membagi set data menjadi set pelatihan dan pengujian untuk variabel X dan y

>>> from sklearn.model_selection import train_test_split
>>> X_train,X_test,y_train,y_test = train_test_split(X,y, random_state = 0)

Pra-pemrosesan Data

Menyiapkan data sebelum model dipasang

Standardisasi

Standarisasikan fitur-fiturnya dengan menghapus rata-rata dan penskalaan ke varian satuan

>>> from sklearn.preprocessing import StandardScaler
>>> scaler = StandardScaler().fit(X_train)
>>> standarized_X = scaler.transform(X_train)
>>> standarized_X_test = scaler.transform(X_test)

Normalisasi

Setiap sampel (mis. e. setiap baris matriks data) dengan setidaknya satu komponen bukan nol diskalakan ulang secara independen dari sampel lain sehingga normanya sama dengan satu

>>> from sklearn.preprocessing import Normalizer
>>> scaler = Normalizer().fit(X_train)
>>> normalized_X = scaler.transform(X_train)
>>> normalized_X_test = scaler.transform(X_test)
_

Binarisasi

Binarisasi data (atur nilai fitur ke 0 atau 1) sesuai ambang batas

>>> from sklearn.preprocessing import Binarizer
>>> binarizer = Binarizer(threshold = 0.0).fit(X)
>>> binary_X = binarizer.transform(X_test)

Mengkodekan Fitur Kategorikal

Enkode label target dengan nilai antara 0 dan n_classes-1

>>> from sklearn import preprocessing
>>> le = preprocessing.LabelEncoder()
>>> le.fit_transform(X_train)
_

Memasukkan Nilai yang Hilang

Trafo imputasi untuk melengkapi nilai yang hilang

>>> from sklearn.impute import SimpleImputer
>>> imp = SimpleImputer(missing_values = 0, strategy = 'mean')
>>> imp.fit_transform(X_train)

Menghasilkan Fitur Polinomial

Hasilkan matriks fitur baru yang terdiri dari semua kombinasi polinomial fitur dengan derajat kurang dari atau sama dengan derajat yang ditentukan

>>> from sklearn.preprocessing import PolynomialFeatures
>>> poly = PolynomialFeatures(5)
>>> poly.fit_transform(X)
_

Buat Model Anda

Penciptaan berbagai model pembelajaran terawasi dan tidak terawasi

Model Pembelajaran Terbimbing
  • Regresi linier
>>> from sklearn.linear_model import LinearRegression
>>> lr = LinearRegression(normalize = True)
_
  • Mesin Vektor Dukungan (SVM)
>>> import numpy as np
>>> X = np.random.random((10,5))
array([[0.21069686, 0.33457064],
[0.23887117, 0.6093155 ],
[0.48848537, 0.62649292]])
>>> y = np.array(['A','B','A'])array(['A', 'B', 'A'])
_0
  • Naif Bayes
>>> import numpy as np
>>> X = np.random.random((10,5))
array([[0.21069686, 0.33457064],
[0.23887117, 0.6093155 ],
[0.48848537, 0.62649292]])
>>> y = np.array(['A','B','A'])array(['A', 'B', 'A'])
_1
  • KNN
>>> import numpy as np
>>> X = np.random.random((10,5))
array([[0.21069686, 0.33457064],
[0.23887117, 0.6093155 ],
[0.48848537, 0.62649292]])
>>> y = np.array(['A','B','A'])array(['A', 'B', 'A'])
_2Model Pembelajaran Tanpa Pengawasan
  • Analisis Komponen Utama (PCA)
>>> import numpy as np
>>> X = np.random.random((10,5))
array([[0.21069686, 0.33457064],
[0.23887117, 0.6093155 ],
[0.48848537, 0.62649292]])
>>> y = np.array(['A','B','A'])array(['A', 'B', 'A'])
_3
  • K berarti
>>> import numpy as np
>>> X = np.random.random((10,5))
array([[0.21069686, 0.33457064],
[0.23887117, 0.6093155 ],
[0.48848537, 0.62649292]])
>>> y = np.array(['A','B','A'])array(['A', 'B', 'A'])
_4

Pemasangan Model

Menyesuaikan model pembelajaran yang diawasi dan tidak diawasi ke dalam data

Pembelajaran yang diawasi
  • Sesuaikan model dengan data
>>> import numpy as np
>>> X = np.random.random((10,5))
array([[0.21069686, 0.33457064],
[0.23887117, 0.6093155 ],
[0.48848537, 0.62649292]])
>>> y = np.array(['A','B','A'])array(['A', 'B', 'A'])
_5 Pembelajaran tanpa pengawasan
  • Sesuaikan model dengan data
>>> import numpy as np
>>> X = np.random.random((10,5))
array([[0.21069686, 0.33457064],
[0.23887117, 0.6093155 ],
[0.48848537, 0.62649292]])
>>> y = np.array(['A','B','A'])array(['A', 'B', 'A'])
_6
  • Sesuaikan dengan data, lalu ubah
>>> import numpy as np
>>> X = np.random.random((10,5))
array([[0.21069686, 0.33457064],
[0.23887117, 0.6093155 ],
[0.48848537, 0.62649292]])
>>> y = np.array(['A','B','A'])array(['A', 'B', 'A'])
_7

Ramalan

Memprediksi set tes menggunakan model terlatih

  • Prediksikan label
>>> import numpy as np
>>> X = np.random.random((10,5))
array([[0.21069686, 0.33457064],
[0.23887117, 0.6093155 ],
[0.48848537, 0.62649292]])
>>> y = np.array(['A','B','A'])array(['A', 'B', 'A'])
_8
  • Perkirakan probabilitas label
>>> import numpy as np
>>> X = np.random.random((10,5))
array([[0.21069686, 0.33457064],
[0.23887117, 0.6093155 ],
[0.48848537, 0.62649292]])
>>> y = np.array(['A','B','A'])array(['A', 'B', 'A'])
_9

Evaluasi Performa Model Anda

Berbagai metrik regresi dan klasifikasi yang menentukan seberapa baik performa model pada set pengujian

Metrik Klasifikasi
  • Skor Akurasi
>>> from sklearn.model_selection import train_test_split
>>> X_train,X_test,y_train,y_test = train_test_split(X,y, random_state = 0)
0
  • Laporan Klasifikasi
>>> from sklearn.model_selection import train_test_split
>>> X_train,X_test,y_train,y_test = train_test_split(X,y, random_state = 0)
1
  • Matriks Kebingungan
>>> from sklearn.model_selection import train_test_split
>>> X_train,X_test,y_train,y_test = train_test_split(X,y, random_state = 0)
2Metrik Regresi
  • Berarti Kesalahan Mutlak
>>> from sklearn.model_selection import train_test_split
>>> X_train,X_test,y_train,y_test = train_test_split(X,y, random_state = 0)
_3
  • Kesalahan Kuadrat Rata-Rata
>>> from sklearn.model_selection import train_test_split
>>> X_train,X_test,y_train,y_test = train_test_split(X,y, random_state = 0)
_4
  • Skor R²
>>> from sklearn.model_selection import train_test_split
>>> X_train,X_test,y_train,y_test = train_test_split(X,y, random_state = 0)
5Metrik Pengelompokan
  • Indeks Rand yang Disesuaikan
>>> from sklearn.model_selection import train_test_split
>>> X_train,X_test,y_train,y_test = train_test_split(X,y, random_state = 0)
6
  • Homogenitas
>>> from sklearn.model_selection import train_test_split
>>> X_train,X_test,y_train,y_test = train_test_split(X,y, random_state = 0)
7
  • Ukuran V
>>> from sklearn.model_selection import train_test_split
>>> X_train,X_test,y_train,y_test = train_test_split(X,y, random_state = 0)
8Validasi Silang
  • Evaluasi skor dengan validasi silang
>>> from sklearn.model_selection import train_test_split
>>> X_train,X_test,y_train,y_test = train_test_split(X,y, random_state = 0)
_9

Sesuaikan Model Anda

Menemukan nilai parameter yang benar yang akan memaksimalkan akurasi prediksi model

Pencarian Kisi

Pencarian menyeluruh atas nilai parameter yang ditentukan untuk estimator. Contoh di bawah mencoba menemukan jumlah cluster yang tepat untuk menentukan knn guna memaksimalkan akurasi model

>>> from sklearn.preprocessing import StandardScaler
>>> scaler = StandardScaler().fit(X_train)
>>> standarized_X = scaler.transform(X_train)
>>> standarized_X_test = scaler.transform(X_test)
0Pengoptimalan Parameter Acak

Pencarian acak pada hyperparameter. Berbeda dengan Pencarian Kisi, tidak semua nilai parameter dicoba, melainkan sejumlah pengaturan parameter diambil sampelnya dari distribusi yang ditentukan. Jumlah pengaturan parameter yang dicoba diberikan oleh n_iter

>>> from sklearn.preprocessing import StandardScaler
>>> scaler = StandardScaler().fit(X_train)
>>> standarized_X = scaler.transform(X_train)
>>> standarized_X_test = scaler.transform(X_test)
1

Scikit-learn adalah perpustakaan yang sangat berguna untuk berbagai model pembelajaran mesin. Bagian di atas memberikan proses langkah demi langkah dasar untuk melakukan analisis pada model yang berbeda. Namun jika Anda ingin mempelajari lebih lanjut, lihat dokumentasi untuk Scikit-Learn, karena masih banyak fungsi berguna yang dapat Anda pelajari

Bergabunglah dengan daftar email saya dengan 5k+ orang untuk mendapatkan "Buklet Lembar Curang Python Lengkap untuk Ilmu Data" secara GRATIS