Ini adalah bagian kedua dari seri Scikit-learn, yaitu sebagai berikut:

  • Bagian 1 — Pendahuluan
  • Bagian 2 — Pembelajaran yang Diawasi di Scikit-Learn (artikel ini)
  • Bagian 3 — Pembelajaran Tanpa Pengawasan di Scikit-Learn

Tautan ke bagian satu : https://medium.com/@deepanshugaur1998/scikit-learn-part-1-introduction-fa05b19b76f1

Tautan ke bagian ketiga : https://medium.com/@deepanshugaur1998/scikit-learn-beginners-part-3-6fb05798acb1

Pembelajaran yang Diawasi Dalam Scikit-Learn

Halo lagi !

Rekap Pembelajaran yang Diawasi :

T. Apa yang dimaksud dengan pembelajaran yang diawasi?

Dalam pembelajaran mesin, ini adalah jenis sistem yang menyediakan data masukan dan keluaran yang diinginkan. Data masukan dan keluaran diberi label untuk klasifikasi guna memberikan dasar pembelajaran untuk prediksi data di masa depan.

Sekarang, seperti pada bagian sebelumnya dari seri ini, kita telah melihat ikhtisar tentang apa yang ditawarkan oleh scikit learn dalam hal pembelajaran yang diawasi, tetapi dalam kali ini kita akan memahami bagaimana kita memulai dengan perpustakaan yang canggih ini.

Memulai…..

mari kita perhatikan contoh model regresi linier sederhana :

Tujuan matematis model ini adalah untuk meminimalkan jumlah sisa kuadrat antara respons yang diamati dalam kumpulan data, dan hasil yang diprediksi dengan pendekatan linier.

from sklearn.linear_model import LinearRegression #import statement
clf=LinearRegression() #we created a classifier from an object named    LinearRegression.
clf.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2]) #fitting a classifier on a data
clf.coef_  # calculated the slope
OUTPUT : array([ 0.5,  0.5])

Seperti yang Anda lihat, hanya ada kode kecil yang dapat membantu Anda memulai dengan algoritma luar biasa ini. Luar biasa bukan? Anda bahkan dapat mencoba prediksi pada set pengujian dengan menggunakan fungsi '.pred'.
Untuk pemahaman lebih mendalam tentang model linier ini, pertimbangkan untuk mencoba sendiri dengan mengambil contoh.
Contoh mudahnya dapat ditemukan di sini :



Mendukung Mesin Vektor Di Sklearn

Ikuti kode di bawah ini untuk memulai svm di scikit-learn :

from sklearn import svm
X = [[0, 0], [1, 1]] # dataset
y = [0, 1]
clf = svm.SVC() # classifier is created
clf.fit(X, y) # fitting classifier on dataset
OUTPUT : SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
  decision_function_shape='ovr', degree=3, gamma='auto', kernel='rbf',
  max_iter=-1, probability=False, random_state=None, shrinking=True,
  tol=0.001, verbose=False)

Parameter yang Anda lihat dalam tanda kurung dapat diubah sesuai dengan kumpulan data yang diberikan kepada Anda.
Setelah Anda merasa nyaman menulis kode yang disebutkan di atas, coba sendiri dengan mengubah parameternya.

clf.predict([[1., 0.]]) # predicting values 
OUTPUT : array([1])

Penurunan Gradien Stokastik Di Sklearn

Algoritma Stochastic Gradient Descent adalah algoritma sederhana yang digunakan dalam pembelajaran diskriminatif pengklasifikasi linier pada kumpulan data besar dan juga mudah disesuaikan dengannya.

Kode :

from sklearn.linear_model import SGDClassifier
X = [[0., 0.], [1., 1.]]
y = [0, 1]
clf = SGDClassifier(loss=”hinge”, penalty=”l2") #hyperparameters
clf.fit(X, y)
OUTPUT : SGDClassifier(alpha=0.0001, average=False, class_weight=None, epsilon=0.1,
       eta0=0.0, fit_intercept=True, l1_ratio=0.15,
       learning_rate='optimal', loss='hinge', max_iter=5, n_iter=None,
       n_jobs=1, penalty='l2', power_t=0.5, random_state=None,
       shuffle=True, tol=None, verbose=0, warm_start=False)

Naif Bayes Di Sklearn

Pengklasifikasi Naive Bayes menghitung probabilitas untuk setiap faktor. Kemudian ia memilih hasil dengan probabilitas tertinggi.
Pengklasifikasi ini mengasumsikan fitur-fiturnya independen. Oleh karena itu, kata 'naif' digunakan.
Ini adalah salah satu algoritma paling umum dalam pembelajaran mesin.

Kode :

from sklearn import datasets
iris = datasets.load_iris() # loading the dataset
from sklearn.naive_bayes import GaussianNB
gnb = GaussianNB()
y_pred = gnb.fit(iris.data, iris.target).predict(iris.data) #fitting and predicting on same line.
OUTPUT : 
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2]

Regresi Pohon Keputusan di Sklearn

Pohon Keputusan adalah jenis lain dari algoritme pembelajaran mesin terawasi yang datanya terus dipecah berdasarkan parameter tertentu.
Semakin banyak data, semakin akurat modelnya.
Pohon keputusan adalah salah satu algoritme yang paling banyak digunakan dari semua algoritme pembelajaran yang diawasi dan menemukan penerapan besar di industri.

Kode :

from sklearn import tree
X = [[0, 0], [1, 1]]
Y = [0, 1]
clf = tree.DecisionTreeClassifier()
clf = clf.fit(X, Y)
clf.predict([[2., 3.]])
OUTPUT : array([1])

Metode Ensemble Dalam SkLearn

Ini berisi metode mengantongi dan hutan acak.

Hutan Acak

Algoritme pembelajaran mesin canggih lainnya yang menghasilkan hasil luar biasa bahkan tanpa penyetelan hyper-parameter.
Ini juga merupakan salah satu algoritma yang paling banyak digunakan, karena kesederhanaannya dan fakta bahwa ia dapat digunakan untuk tugas klasifikasi dan regresi.

Kode :

from sklearn.ensemble import RandomForestClassifier
X = [[0, 0], [1, 1]]
Y = [0, 1]
clf = RandomForestClassifier(n_estimators=10)
clf = clf.fit(X, Y)
pred = clf.predict([[2., 3.]])
print(pred)
OUTPUT : [1]

Apa yang telah kita pelajari?

Sekarang kita telah mempelajari cara mengimplementasikan setiap algoritme yang diawasi menggunakan scikit learn.
Masih banyak fitur yang dimiliki setiap algoritme dalam scikit learn yang hanya dapat dikuasai dengan berlatih.
Jadi, berhentilah membuang-buang waktu dan pikiran Anda langsung ke dokumentasi resmi scikit learn untuk algoritma yang diawasi dan pastikan Anda memahami setiap algoritma secara matematis serta dengan berlatih pada kumpulan data yang berbeda.
Tautan :
http://scikit-learn.org/stable /supervised_learning.html

Catatan : Bagian selanjutnya dari seri ini akan membahas pembelajaran tanpa pengawasan, jadi pastikan Anda tidak melewatkannya.