SlideShare a Scribd company logo
1/8
November 14, 2021
Scikit-Learn Cheat Sheet untuk Data Science
softscients.com/2021/11/14/scikit-learn-cheat-sheet-untuk-data-science/
30 Views
Scikit-learn adalah library machine learning open source untuk bahasa pemrograman
Python. Ini fitur berbagai klasifikasi, regresi, algoritma pengelompokan, dan alat yang
efisien untuk data mining dan analisis data. Ini dibangun di atas NumPy, SciPy, dan
Matplotlib. Pada buku yang telah saya terbitkan pernah dibahas koq, ini tambahan juga,
maka saya berikan judul Scikit-Learn Cheat Sheet untuk Data Science.
Kode di bawah ini menunjukkan langkah-langkah dasar menggunakan scikit-learn untuk
membuat dan menjalankan model pada satu set data. Langkah-langkah dalam kode
meliputi: memuat data, membelah menjadi kereta api dan set uji, menskalakan set,
membuat model, menyesuaikan model pada data, menggunakan model terlatih untuk
membuat prediksi pada set tes, dan akhirnya mengevaluasi kinerja model. Seperti biasa
kita akan menggunakan dataset iris. Begini kode yang kita akan gunakan secara sekilas.
2/8
from sklearn import neighbors, datasets, preprocessing
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from sklearn.preprocessing import StandardScaler
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 = 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)
Loading Data
Contents
1 Loading Data
2 Training and Test Data
3 Preprocessing Data
3.1 1. Standardization
3.2 2. Normalization
3.3 3. Binarization
3.4 4. Encoding Categorical Features
3.5 5. Imputing Missing Values
3.6 6. Generating Polynomial Features
4 Create Model
4.1 Supervised Learning Models
4.2 Unsupervised Learning Models
5 Model Fitting
5.1 Supervised learning
5.2 Unsupervised learning
6 Prediction
7 Evaluasi Kinerja Model
7.1 Classification Metrics
7.2 Regression Metrics
7.3 Clustering Metrics
7.4 Cross-Validation
8 Tuning Model
8.1 Grid Search
8.2 Randomized Parameter Optimization
3/8
Data mu harus bertipe numerik dan disimpan sebagai array NumPy atau matriks
cadangan SciPy. Jenis lain yang dikonversi ke array numerik, seperti Pandas DataFrame
juga dapat diterima. Tapi saya lebih suka menggunakan Numpy saja
>>> 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'])
Training and Test Data
Membagi dataset menjadi pelatihan dan set uji untuk variabel X dan y. Oiya hati-hati ya,
python adalah bahasa case sensitif jadi huruf besar dan kecil itu beda tidak seperti
bahasa basic
>>> from sklearn.model_selection import train_test_split
>>> X_train,X_test,y_train,y_test = train_test_split(X,y, random_state = 0)
Oiya pengaturan split dataset diatas, bisa kalian berikan opsi seperti berapa ratio yang
digunakan, disini
See also Python Pandas Merging DataFrames
Preprocessing Data
Siapkan data sebelum model difit kan/proses, ada banyak cara yang digunakan
tergantung tipe data apakah numerik, kategorikal, ataupun range. Dibahas juga cara
menangani missing value.
1. Standardization
Standarisasi adalah fitur dengan menghapus rata-rata dan penskalaan ke varians unit.
>>> from sklearn.preprocessing import StandardScaler
>>> scaler = StandardScaler().fit(X_train)
>>> standarized_X = scaler.transform(X_train)
>>> standarized_X_test = scaler.transform(X_test)
2. Normalization
Setiap sampel (yaitu setiap baris matriks data) dengan setidaknya satu komponen non-
nol diskalakan ulang secara independen dari sampel lain sehingga normanya sama
dengan satu/jumlah totalnya 1.
>>> from sklearn.preprocessing import Normalizer
>>> scaler = Normalizer().fit(X_train)
>>> normalized_X = scaler.transform(X_train)
>>> normalized_X_test = scaler.transform(X_test)
4/8
3. Binarization
Data binarize (mengatur nilai fitur ke 0 atau 1) sesuai dengan ambang batas.
>>> from sklearn.preprocessing import Binarizer
>>> binarizer = Binarizer(threshold = 0.0).fit(X)
>>> binary_X = binarizer.transform(X_test)
4. Encoding Categorical Features
Label target Encode dengan nilai antara 0 dan n_classes-1.
>>> from sklearn import preprocessing
>>> le = preprocessing.LabelEncoder()
>>> le.fit_transform(X_train)
5. Imputing Missing Values
Pengisian data yang kosong dengan nilai reratanya, biasanya data yang sangat besar
bisa terjadi banyak missing value.
>>> from sklearn.impute import SimpleImputer
>>> imp = SimpleImputer(missing_values = 0, strategy = 'mean')
>>> imp.fit_transform(X_train)
6. Generating Polynomial Features
Hasilkan matriks fitur baru yang terdiri dari semua kombinasi polinomial dari fitur dengan
derajat kurang dari atau sama dengan tingkat yang ditentukan.
>>> from sklearn.preprocessing import PolynomialFeatures
>>> poly = PolynomialFeatures(5)
>>> poly.fit_transform(X)
Create Model
Membuat model dengan algoritma supervised and unsupervised learning. Untuk
penjelasan masing-masing algoritma, sudah saya jabarkan dengan beragam bahasa,
kalian bisa searching sendiri di website ini. Ataupun mengajukan pertanyaan via email
jika ulasan di website ini kurang memuaskan.
Supervised Learning Models
Algoritma machine learning terawasi yang artinya target sudah ditentukan dari awal.
Adapun target disini bisa berupa kelas, angka, dan jumlah cluster bila algoritma tersebut
termasuk clustering
Linear Regression
>>> from sklearn.linear_model import LinearRegression
>>> lr = LinearRegression(normalize = True)
Support Vector Machines (SVM)
5/8
>>> from sklearn.svm import SVC
>>> svc = SVC(kernel = 'linear')
Naive Bayes
>>> from sklearn.naive_bayes import GaussianNB
>>> gnb = GaussianNB()
KNN
>>> from sklearn import neighbors
>>> knn = neighbors.KNeighborsClassifier(n_neighbors = 5)
Unsupervised Learning Models
Algoritma ini bekerja dengan memerlukan target akan tetapi machine belajar sendiri
dalam menentukan target berdasarkan paramater tertentu. Seperti jarak antar anggota,
jarak antar cluster, serta ambang batas.
Principal Component Analysis (PCA)
>>> from sklearn.decomposition import PCA
>>> pca = PCA(n_components = 0.95)
K means
>>> from sklearn.cluster import KMeans
>>> k_means = KMeans(n_clusters = 3, random_state = 0)
Model Fitting
Model fitting yaitu menguji perhitungan algoritma. Bila menggunakan Scikit maka
method/function yang dipanggil yaitu fit(). Semuanya sama baik menggunakan
supervised dan unsupervised learning.
See also Append Array
Supervised learning
Fit model data
>>> lr.fit(X, y)
>>> knn.fit(X_train,y_train)
>>> svc.fit(X_train,y_train)
Unsupervised learning
Fit model data
>>> k_means.fit(X_train)
Fit data dan lakukan transform
>>> pca_model = pca.fit_transform(X_train)
6/8
Prediction
Prediksi test menggunakan model yang sudah training
Prediksi label/target
#Supervised Estimators
>>> y_pred = lr.predict(X_test)
#Unsupervised Estimators
>>> y_pred = k_means.predict(X_test)
Estimasi probabilitas
>>> y_pred = knn.predict_proba(X_test)
Evaluasi Kinerja Model
Untuk mengukur/evaluasi kinerja model ada banyak cara yang digunakan tergantung
kasus seperti klasifikasi atau regresi dan clustering
Classification Metrics
Accuracy Score
>>> knn.score(X_test,y_test)
>>> from sklearn.metrics import accuracy_score
>>> accuracy_score(y_test,y_pred)
Classification Report
>>> from sklearn.metrics import classification_report
>>> print(classification_report(y_test,y_pred))
Confusion Matrix
>>> from sklearn .metrics import confusion_matrix
>>> print(confusion_matrix(y_test,y_pred))
Regression Metrics
Untuk pembahasan pengukuran regression metrics disini
Mean Absolute Error
>>> from sklearn.metrics import mean_absolute_error
>>> mean_absolute_error(y_test,y_pred)
Mean Squared Error
>>> from sklearn.metrics import mean_squared_error
>>> mean_squared_error(y_test,y_pred)
R² Score
7/8
>>> from sklearn.metrics import r2_score
>>> r2_score(y_test, y_pred)
Clustering Metrics
Adjusted Rand Index
>>> from sklearn.metrics import adjusted_rand_score
>>> adjusted_rand_score(y_test,y_pred)
Homogeneity
>>> from sklearn.metrics import homogeneity_score
>>> homogeneity_score(y_test,y_pred)
V-measure
>>> from sklearn.metrics import v_measure_score
>>> v_measure_score(y_test,y_pred)
Cross-Validation
Score Evaluasi dengan cross-validation
>>> from sklearn.model_selection import cross_val_score
>>> print(cross_val_score(knn, X_train, y_train, cv=4))
Tuning Model
Tuning / menemukan nilai parameter yang benar yang akan memaksimalkan akurasi
prediksi model. Ada 2 cara yang digunakan yaitu
1. pencarian menggunakan iterasi tertentu, misalkan jika paramater tersebut
mempunyai pengaturan jumlah minimal keanggotaan, maka bisa dicoba dengan
membuat pengaturan 1 sampai n keanggotaan
2. random menggunakan nilai acak tertentu jadi tidak semuanya dicoba satu-persatu
Grid Search
Pencarian lengkap atas nilai parameter tertentu untuk estimator. Contoh di bawah ini
mencoba untuk menemukan jumlah cluster yang tepat untuk menentukan knn untuk
memaksimalkan akurasi model. Biasanya dilakukan menggunakan teknik looping, tapi
dalam keadaan tertentu paramater function menerima argument array sehingga tidak
perlu membuat looping tersendiri. Contoh dibawah ini array [1:3] sebagai pencarian yang
terbaik berdasarkan jumlah minimal tetangga pada KNN
>>> from sklearn.model_selection import GridSearchCV
>>> params = {'n_neighbors': np.arange(1,3), 'metric':['euclidean','cityblock']}
>>> grid = GridSearchCV(estimator = knn, param_grid = params)
>>> grid.fit(X_train, y_train)
>>> print(grid.best_score_)
>>> print(grid.best_estimator_.n_neighbors)
8/8
Menggunakan GridSearchCV untuk menentukan paramater terbaik di KNN
See also Quadratic Programming
Randomized Parameter Optimization
Pencarian acak pada hiperparameter. Berbeda dengan Pencarian Grid, tidak semua nilai
parameter dicoba, melainkan sejumlah pengaturan parameter tetap diambil sampelnya
dari distribusi yang ditentukan. Jumlah pengaturan parameter yang dicoba diberikan oleh
n_iter.
>>> from sklearn.model_selection import RandomizedSearchCV
>>> params = {'n_neighbors':range(1,5), 'weights':['uniform','distance']}
>>> rsearch = RandomizedSearchCV(estimator = knn, param_distributions = params, cv
= 4, n_iter = 8, random_state = 5)
>>> rseach.fit(X_train, y_train)
>>> print(rsearch.best_score_)
Scikit-learn adalah library yang sangat berguna untuk berbagai model machine learning.
Bagian-bagian di atas memberikan proses langkah demi langkah dasar untuk melakukan
analisis pada model yang berbeda. Namun, jika kalian ingin mempelajari lebih lanjut, lihat
dokumentasi untuk Scikit-Learn, karena masih ada banyak fungsi bermanfaat yang dapat
kalian pelajari.
Akhirnya selesai juga pembahasan mengenai Scikit-Learn Cheat Sheet untuk Data
Science. Happy coding

More Related Content

DOCX
Latihan java depandi
PDF
Asyiknya Belajar Struktur Data di Planet C++
PPTX
Pertemuan vi (Function Java)
PPTX
Pertemuan V
DOCX
Cara membuat fungsi dan prosedur pada java
PDF
PDF
Function c++
PPTX
Function
Latihan java depandi
Asyiknya Belajar Struktur Data di Planet C++
Pertemuan vi (Function Java)
Pertemuan V
Cara membuat fungsi dan prosedur pada java
Function c++
Function

What's hot (20)

DOCX
Tugas struktur data
PPTX
Procedur
PDF
Perkenalan Pemrograman C++
DOCX
Bab8.array
PPT
Function
PPT
PPT
Pertemuan II Function
DOCX
Membuat program kalkulator sederhana dengan matlab
PDF
C programming language notes (4)
DOC
Dasar Pemrograman materi kuliah
PDF
Pemrograman C++ - Fungsi dan Prosedur
PDF
Algoritma dan Struktur Data - fungsi dan prosedur c++
DOCX
Laporan 1 penngantar program r
PPT
Pelatihan Bahasa R
DOCX
Laporan praktikum modul vii
DOCX
Pembahasan ujian teori pemrograman pascal bagian 1
PPT
modul Java dasar fundamental (OOP)
PDF
My javanote04
PDF
Pemograman berorientasi objek
DOCX
Lapopran praktikum struktur data pertemuan 3 Merge_Sort
Tugas struktur data
Procedur
Perkenalan Pemrograman C++
Bab8.array
Function
Pertemuan II Function
Membuat program kalkulator sederhana dengan matlab
C programming language notes (4)
Dasar Pemrograman materi kuliah
Pemrograman C++ - Fungsi dan Prosedur
Algoritma dan Struktur Data - fungsi dan prosedur c++
Laporan 1 penngantar program r
Pelatihan Bahasa R
Laporan praktikum modul vii
Pembahasan ujian teori pemrograman pascal bagian 1
modul Java dasar fundamental (OOP)
My javanote04
Pemograman berorientasi objek
Lapopran praktikum struktur data pertemuan 3 Merge_Sort
Ad

Similar to scikit-learn cheat sheet untuk data science (10)

PDF
Mobile Price Prediction
PPTX
Modul-11-MembangunModel-v3 dengan M.pptx
DOCX
ML.docx
DOCX
ML.docx
PPTX
Klasifikasi pada Prediksi Risiko Penyakit Kardiovaskular Menggunakan Metode D...
PPTX
Klasifikasi pada Prediksi Risiko Penyakit Kardiovaskular Menggunakan Metode D...
PPTX
Full - Fase EF - Modul 4 - Pemrograman Kecerdasan Artifisial.pptx
PPTX
SEMABARANGbhgfgfdgffffffssgfsgfdsds.pptx
PPTX
PPT-Data Mining-Pertemuan 4 metode metode data mining ZZ.pptx
PPTX
Pemodelan Data .pptx
Mobile Price Prediction
Modul-11-MembangunModel-v3 dengan M.pptx
ML.docx
ML.docx
Klasifikasi pada Prediksi Risiko Penyakit Kardiovaskular Menggunakan Metode D...
Klasifikasi pada Prediksi Risiko Penyakit Kardiovaskular Menggunakan Metode D...
Full - Fase EF - Modul 4 - Pemrograman Kecerdasan Artifisial.pptx
SEMABARANGbhgfgfdgffffffssgfsgfdsds.pptx
PPT-Data Mining-Pertemuan 4 metode metode data mining ZZ.pptx
Pemodelan Data .pptx
Ad

More from softscients (16)

PDF
belajar statistik
PDF
neural network training dan particle swarm optimization
PDF
pengolahan sinyal digital dengan matlab
PDF
pengolahan citra digital dengan java
PDF
tutorial algoritma genetika bagian 1
PDF
penjelasan konsep oop object oriented programming
PDF
cara membuat aplikasi gui di matlab
PDF
setup widget dan work directory matlab
PDF
Belajar Pemrograman Matlab
PDF
konversi warna dengan matlab
PDF
kriptografi metode hill cipher
PDF
mengapa customer churn rate penting
PDF
pengantar metode numerik
PDF
cara hitung manual uji normalitas dengan uji kolmogorov-smirnov
PDF
pengenalan huruf dengan pca
PDF
steganografi gambar dan teks
belajar statistik
neural network training dan particle swarm optimization
pengolahan sinyal digital dengan matlab
pengolahan citra digital dengan java
tutorial algoritma genetika bagian 1
penjelasan konsep oop object oriented programming
cara membuat aplikasi gui di matlab
setup widget dan work directory matlab
Belajar Pemrograman Matlab
konversi warna dengan matlab
kriptografi metode hill cipher
mengapa customer churn rate penting
pengantar metode numerik
cara hitung manual uji normalitas dengan uji kolmogorov-smirnov
pengenalan huruf dengan pca
steganografi gambar dan teks

Recently uploaded (20)

PPTX
9ICP - Hubungan antara Pancasila dengan UUD 1945Bhinneka Tunggal Ika.pptx
PPTX
Modul 2. Berpikir Komputasional sebagai Dasar Koding untuk Kecerdasan Artifis...
PDF
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
PPTX
PENGIMBASAN PEMBELAJARAN MENDALAM (DEEP LEARNING)
PPT
Teknologi-Pangan-Pertemuan-820728132309-.ppt
PDF
883668952-KP-4-Modul-2-Kerangka-Pembelajaran-Mendalam.pdf
PDF
lembar kerja LMS tugas pembelajaran mendalam
PDF
Materi Seminar AITalks: AI dan Konseling GPT
PPTX
Presentasi_Pembelajaran_Mendalam_Lengkap.pptx
DOCX
CONTOH RANCANGAN MODUL PROYEK KOKURIKULER SMA 1.docx
PPTX
Bahan Tayang OJT Pembelajaran Mendalam KS
DOCX
Modul Ajar Pembelajaran Mendalam Senbud Seni Tari Kelas XII Terbaru 2025
PPTX
PPT SURAT AL FIL LOMBA MAPSI SEKOLAH DASAR
DOCX
Lembar Kerja Mahasiswa Information System
PPTX
PPT MATERI KODING DAN KECERDASAN ARTIFISIAL UNTUK PEMBELAJARAN
DOCX
Modul Ajar Deep Learning PAI & BP Kelas 12 SMA Terbaru 2025
PDF
Gangguan Penglihatan Mata - presentasi biologi
PPTX
MATERI MPLS TENTANG KURIKULUM DAN KEGIATAN PEMBELAJARAN
DOCX
Modul Ajar Pembelajaran Mendalam Senbud Seni Teater Kelas 12 Terbaru 2025
DOCX
Modul Ajar Deep Learning Biologi Kelas 10 SMA Terbaru 2025
9ICP - Hubungan antara Pancasila dengan UUD 1945Bhinneka Tunggal Ika.pptx
Modul 2. Berpikir Komputasional sebagai Dasar Koding untuk Kecerdasan Artifis...
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
PENGIMBASAN PEMBELAJARAN MENDALAM (DEEP LEARNING)
Teknologi-Pangan-Pertemuan-820728132309-.ppt
883668952-KP-4-Modul-2-Kerangka-Pembelajaran-Mendalam.pdf
lembar kerja LMS tugas pembelajaran mendalam
Materi Seminar AITalks: AI dan Konseling GPT
Presentasi_Pembelajaran_Mendalam_Lengkap.pptx
CONTOH RANCANGAN MODUL PROYEK KOKURIKULER SMA 1.docx
Bahan Tayang OJT Pembelajaran Mendalam KS
Modul Ajar Pembelajaran Mendalam Senbud Seni Tari Kelas XII Terbaru 2025
PPT SURAT AL FIL LOMBA MAPSI SEKOLAH DASAR
Lembar Kerja Mahasiswa Information System
PPT MATERI KODING DAN KECERDASAN ARTIFISIAL UNTUK PEMBELAJARAN
Modul Ajar Deep Learning PAI & BP Kelas 12 SMA Terbaru 2025
Gangguan Penglihatan Mata - presentasi biologi
MATERI MPLS TENTANG KURIKULUM DAN KEGIATAN PEMBELAJARAN
Modul Ajar Pembelajaran Mendalam Senbud Seni Teater Kelas 12 Terbaru 2025
Modul Ajar Deep Learning Biologi Kelas 10 SMA Terbaru 2025

scikit-learn cheat sheet untuk data science

  • 1. 1/8 November 14, 2021 Scikit-Learn Cheat Sheet untuk Data Science softscients.com/2021/11/14/scikit-learn-cheat-sheet-untuk-data-science/ 30 Views Scikit-learn adalah library machine learning open source untuk bahasa pemrograman Python. Ini fitur berbagai klasifikasi, regresi, algoritma pengelompokan, dan alat yang efisien untuk data mining dan analisis data. Ini dibangun di atas NumPy, SciPy, dan Matplotlib. Pada buku yang telah saya terbitkan pernah dibahas koq, ini tambahan juga, maka saya berikan judul Scikit-Learn Cheat Sheet untuk Data Science. Kode di bawah ini menunjukkan langkah-langkah dasar menggunakan scikit-learn untuk membuat dan menjalankan model pada satu set data. Langkah-langkah dalam kode meliputi: memuat data, membelah menjadi kereta api dan set uji, menskalakan set, membuat model, menyesuaikan model pada data, menggunakan model terlatih untuk membuat prediksi pada set tes, dan akhirnya mengevaluasi kinerja model. Seperti biasa kita akan menggunakan dataset iris. Begini kode yang kita akan gunakan secara sekilas.
  • 2. 2/8 from sklearn import neighbors, datasets, preprocessing from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score from sklearn.preprocessing import StandardScaler 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 = 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) Loading Data Contents 1 Loading Data 2 Training and Test Data 3 Preprocessing Data 3.1 1. Standardization 3.2 2. Normalization 3.3 3. Binarization 3.4 4. Encoding Categorical Features 3.5 5. Imputing Missing Values 3.6 6. Generating Polynomial Features 4 Create Model 4.1 Supervised Learning Models 4.2 Unsupervised Learning Models 5 Model Fitting 5.1 Supervised learning 5.2 Unsupervised learning 6 Prediction 7 Evaluasi Kinerja Model 7.1 Classification Metrics 7.2 Regression Metrics 7.3 Clustering Metrics 7.4 Cross-Validation 8 Tuning Model 8.1 Grid Search 8.2 Randomized Parameter Optimization
  • 3. 3/8 Data mu harus bertipe numerik dan disimpan sebagai array NumPy atau matriks cadangan SciPy. Jenis lain yang dikonversi ke array numerik, seperti Pandas DataFrame juga dapat diterima. Tapi saya lebih suka menggunakan Numpy saja >>> 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']) Training and Test Data Membagi dataset menjadi pelatihan dan set uji untuk variabel X dan y. Oiya hati-hati ya, python adalah bahasa case sensitif jadi huruf besar dan kecil itu beda tidak seperti bahasa basic >>> from sklearn.model_selection import train_test_split >>> X_train,X_test,y_train,y_test = train_test_split(X,y, random_state = 0) Oiya pengaturan split dataset diatas, bisa kalian berikan opsi seperti berapa ratio yang digunakan, disini See also Python Pandas Merging DataFrames Preprocessing Data Siapkan data sebelum model difit kan/proses, ada banyak cara yang digunakan tergantung tipe data apakah numerik, kategorikal, ataupun range. Dibahas juga cara menangani missing value. 1. Standardization Standarisasi adalah fitur dengan menghapus rata-rata dan penskalaan ke varians unit. >>> from sklearn.preprocessing import StandardScaler >>> scaler = StandardScaler().fit(X_train) >>> standarized_X = scaler.transform(X_train) >>> standarized_X_test = scaler.transform(X_test) 2. Normalization Setiap sampel (yaitu setiap baris matriks data) dengan setidaknya satu komponen non- nol diskalakan ulang secara independen dari sampel lain sehingga normanya sama dengan satu/jumlah totalnya 1. >>> from sklearn.preprocessing import Normalizer >>> scaler = Normalizer().fit(X_train) >>> normalized_X = scaler.transform(X_train) >>> normalized_X_test = scaler.transform(X_test)
  • 4. 4/8 3. Binarization Data binarize (mengatur nilai fitur ke 0 atau 1) sesuai dengan ambang batas. >>> from sklearn.preprocessing import Binarizer >>> binarizer = Binarizer(threshold = 0.0).fit(X) >>> binary_X = binarizer.transform(X_test) 4. Encoding Categorical Features Label target Encode dengan nilai antara 0 dan n_classes-1. >>> from sklearn import preprocessing >>> le = preprocessing.LabelEncoder() >>> le.fit_transform(X_train) 5. Imputing Missing Values Pengisian data yang kosong dengan nilai reratanya, biasanya data yang sangat besar bisa terjadi banyak missing value. >>> from sklearn.impute import SimpleImputer >>> imp = SimpleImputer(missing_values = 0, strategy = 'mean') >>> imp.fit_transform(X_train) 6. Generating Polynomial Features Hasilkan matriks fitur baru yang terdiri dari semua kombinasi polinomial dari fitur dengan derajat kurang dari atau sama dengan tingkat yang ditentukan. >>> from sklearn.preprocessing import PolynomialFeatures >>> poly = PolynomialFeatures(5) >>> poly.fit_transform(X) Create Model Membuat model dengan algoritma supervised and unsupervised learning. Untuk penjelasan masing-masing algoritma, sudah saya jabarkan dengan beragam bahasa, kalian bisa searching sendiri di website ini. Ataupun mengajukan pertanyaan via email jika ulasan di website ini kurang memuaskan. Supervised Learning Models Algoritma machine learning terawasi yang artinya target sudah ditentukan dari awal. Adapun target disini bisa berupa kelas, angka, dan jumlah cluster bila algoritma tersebut termasuk clustering Linear Regression >>> from sklearn.linear_model import LinearRegression >>> lr = LinearRegression(normalize = True) Support Vector Machines (SVM)
  • 5. 5/8 >>> from sklearn.svm import SVC >>> svc = SVC(kernel = 'linear') Naive Bayes >>> from sklearn.naive_bayes import GaussianNB >>> gnb = GaussianNB() KNN >>> from sklearn import neighbors >>> knn = neighbors.KNeighborsClassifier(n_neighbors = 5) Unsupervised Learning Models Algoritma ini bekerja dengan memerlukan target akan tetapi machine belajar sendiri dalam menentukan target berdasarkan paramater tertentu. Seperti jarak antar anggota, jarak antar cluster, serta ambang batas. Principal Component Analysis (PCA) >>> from sklearn.decomposition import PCA >>> pca = PCA(n_components = 0.95) K means >>> from sklearn.cluster import KMeans >>> k_means = KMeans(n_clusters = 3, random_state = 0) Model Fitting Model fitting yaitu menguji perhitungan algoritma. Bila menggunakan Scikit maka method/function yang dipanggil yaitu fit(). Semuanya sama baik menggunakan supervised dan unsupervised learning. See also Append Array Supervised learning Fit model data >>> lr.fit(X, y) >>> knn.fit(X_train,y_train) >>> svc.fit(X_train,y_train) Unsupervised learning Fit model data >>> k_means.fit(X_train) Fit data dan lakukan transform >>> pca_model = pca.fit_transform(X_train)
  • 6. 6/8 Prediction Prediksi test menggunakan model yang sudah training Prediksi label/target #Supervised Estimators >>> y_pred = lr.predict(X_test) #Unsupervised Estimators >>> y_pred = k_means.predict(X_test) Estimasi probabilitas >>> y_pred = knn.predict_proba(X_test) Evaluasi Kinerja Model Untuk mengukur/evaluasi kinerja model ada banyak cara yang digunakan tergantung kasus seperti klasifikasi atau regresi dan clustering Classification Metrics Accuracy Score >>> knn.score(X_test,y_test) >>> from sklearn.metrics import accuracy_score >>> accuracy_score(y_test,y_pred) Classification Report >>> from sklearn.metrics import classification_report >>> print(classification_report(y_test,y_pred)) Confusion Matrix >>> from sklearn .metrics import confusion_matrix >>> print(confusion_matrix(y_test,y_pred)) Regression Metrics Untuk pembahasan pengukuran regression metrics disini Mean Absolute Error >>> from sklearn.metrics import mean_absolute_error >>> mean_absolute_error(y_test,y_pred) Mean Squared Error >>> from sklearn.metrics import mean_squared_error >>> mean_squared_error(y_test,y_pred) R² Score
  • 7. 7/8 >>> from sklearn.metrics import r2_score >>> r2_score(y_test, y_pred) Clustering Metrics Adjusted Rand Index >>> from sklearn.metrics import adjusted_rand_score >>> adjusted_rand_score(y_test,y_pred) Homogeneity >>> from sklearn.metrics import homogeneity_score >>> homogeneity_score(y_test,y_pred) V-measure >>> from sklearn.metrics import v_measure_score >>> v_measure_score(y_test,y_pred) Cross-Validation Score Evaluasi dengan cross-validation >>> from sklearn.model_selection import cross_val_score >>> print(cross_val_score(knn, X_train, y_train, cv=4)) Tuning Model Tuning / menemukan nilai parameter yang benar yang akan memaksimalkan akurasi prediksi model. Ada 2 cara yang digunakan yaitu 1. pencarian menggunakan iterasi tertentu, misalkan jika paramater tersebut mempunyai pengaturan jumlah minimal keanggotaan, maka bisa dicoba dengan membuat pengaturan 1 sampai n keanggotaan 2. random menggunakan nilai acak tertentu jadi tidak semuanya dicoba satu-persatu Grid Search Pencarian lengkap atas nilai parameter tertentu untuk estimator. Contoh di bawah ini mencoba untuk menemukan jumlah cluster yang tepat untuk menentukan knn untuk memaksimalkan akurasi model. Biasanya dilakukan menggunakan teknik looping, tapi dalam keadaan tertentu paramater function menerima argument array sehingga tidak perlu membuat looping tersendiri. Contoh dibawah ini array [1:3] sebagai pencarian yang terbaik berdasarkan jumlah minimal tetangga pada KNN >>> from sklearn.model_selection import GridSearchCV >>> params = {'n_neighbors': np.arange(1,3), 'metric':['euclidean','cityblock']} >>> grid = GridSearchCV(estimator = knn, param_grid = params) >>> grid.fit(X_train, y_train) >>> print(grid.best_score_) >>> print(grid.best_estimator_.n_neighbors)
  • 8. 8/8 Menggunakan GridSearchCV untuk menentukan paramater terbaik di KNN See also Quadratic Programming Randomized Parameter Optimization Pencarian acak pada hiperparameter. Berbeda dengan Pencarian Grid, tidak semua nilai parameter dicoba, melainkan sejumlah pengaturan parameter tetap diambil sampelnya dari distribusi yang ditentukan. Jumlah pengaturan parameter yang dicoba diberikan oleh n_iter. >>> from sklearn.model_selection import RandomizedSearchCV >>> params = {'n_neighbors':range(1,5), 'weights':['uniform','distance']} >>> rsearch = RandomizedSearchCV(estimator = knn, param_distributions = params, cv = 4, n_iter = 8, random_state = 5) >>> rseach.fit(X_train, y_train) >>> print(rsearch.best_score_) Scikit-learn adalah library yang sangat berguna untuk berbagai model machine learning. Bagian-bagian di atas memberikan proses langkah demi langkah dasar untuk melakukan analisis pada model yang berbeda. Namun, jika kalian ingin mempelajari lebih lanjut, lihat dokumentasi untuk Scikit-Learn, karena masih ada banyak fungsi bermanfaat yang dapat kalian pelajari. Akhirnya selesai juga pembahasan mengenai Scikit-Learn Cheat Sheet untuk Data Science. Happy coding