[Tutorial Python] Membuat Klasifikasi Bunga Iris Dengan Python (2)

Pada artikel Membuat Klasifikasi Bunga Iris Dengan Python (2), kamu akan belajar bagaimana cara melakukan training dan validating data.

Training Data

Untuk dapat mengetahui nama orang yang kita temui, kamu harus terlebih dahulu berkenalan dengan mereka. Setelah berkenalan, data tersebut akan tersimpan dalam memori otak kamu. Nah, saat bertemu dengan orang lain, kamu akan mencoba mengingat data yang tersimpan dalam memori otak, dan membandingkan data ini dengan wajah yang sedang kamu temui. Jika kamu menemukan wajah yang sama, kamu akan langsung mengetahui siapa nama orang yang kamu temui ini.

Dalam machine learning, proses ‘berkenalan‘ ini disebut proses training data. Proses ini akan menghasilkan pengetahuan mengenai pola-pola dan informasi tiap kelas pada dataset. Kamu harus terlebih dahulu membagi dataset menjadi 2 bagian yakni, data training dan data testing. Dalam percobaan ini, 80% data akan menjadi data training, sedangkan 20% sisanya akan menjadi validation data

array = iris.values    
X = array[:,0:4]    
Y = array[:,4]    
validation_size = 0.20    
seed = 7    
X_train, X_validation, Y_train, Y_validation = cross_validation.train_test_split(X, Y, test_size=validation_size,random_state=seed)    
num_folds = 10    // sesuaikan dengan nilai K yang kamu inginkan
num_instances = len(X_train)    
seed = 7    
scoring = 'accuracy' 

Untuk melakukan klasifikasi, ada beberapa algoritma yang bisa kamu gunakan. Algoritma yang berbeda, akan menghasilkan hasil akurasi yang berbeda pula. Tujuan bagian ini adalah menemukan algoritma yang memiliki akurasi paling tinggi

Terdapat 5 algoritma yang populer yang biasa digunakan untuk klasifikasi
1. Linear regression algorithm
2. Logistic regression
3. Decision tree classifier
4. Gaussian Naïve Base
5. Support Vector Machine

Namun, apabila kamu belum mengenal 5 algoritma ini, tidak perlu khawatir. Pada artikel selanjutnya, TASOfficial akan membahas selayang pandang mengenai kelimanya.

Pyhton sudah menyediakan fungsi untuk algoritma-algoritma ini. Kamu cukup memanggil fungsi, dan hasil akan langsung tampil. Keren kan?

models = []    
models.append(('LR', LogisticRegression()))    
models.append(('LDA', LinearDiscriminantAnalysis()))    
models.append(('CART', DecisionTreeClassifier()))    
models.append(('NB', GaussianNB()))    
models.append(('SVM', SVM()))    
results = []    
names = []    
for name, model in models:    
kfold = cross_validation.KFold(n=num_instances, n_folds=num_folds, random_state=seed)    
cv_results = cross_validation.cross_val_score(model, X_train, Y_train, cv=kfold, scoring=scoring)    
results.append(cv_results)    
names.append(name)    
msg = "%s: %f (%f)" % (name, cv_results.mean(), cv_results.std()
print(msg)   

Dalam kasus klasifikasi bunga iris, algoritma SVM terbukti memiliki akurasi yang paling baik daripada algoritma algoritma yang lain.

Klasifikasi Bunga Iris

Validation

Tahapan selanjutnya adalah melakukan validation. Validation akan menguji kekuatan training data dengan testing data. Beberapa orang mungkin memiliki suara dan bentuk muka yang sama. Hal ini sering membuat kita bingung dan gagal mengenali mereka dengan baik. Nah, validation akan menguji seberapa pemahaman kita terhadap orang-orang yang telah kita temui sebelumnya.

svn = SVM()    
svn.fit(X_train, Y_train)    
predictions = svn.predict(X_validation)    
print(accuracy_score(Y_validation, predictions))    
print(confusion_matrix(Y_validation, predictions))    
print(classification_report(Y_validation, predictions))   

Hasil validation data training terhadap data testing adalah sebagai berikut :

Testing

Untuk menguji machine learning yang telah kita buat, kita harus melakukan percobaa dengan data baru. Percobaan ini dilakukan terhadap dua data baru

X_new = numpy.array([[3, 2, 4, 0.2], [  4.7, 3, 1.3, 0.2 ]])    
prediction = svn.predict(X_new)    
print("Prediction of Species: {}".format(prediction))   

Hasil prediksi adalah sebagai Iris virginica dan Iris Setosa

Baca Juga : APA YANG AKAN TERJADI JIKA TOKOPEDIA DAN GOJEK MERGER?

Itulah tutorial Membuat Klasifikasi Bunga Iris Dengan Python (2). Apabila kamu mengalami kesulitan, silahkan tinggalkan pertanyaan pada kolom komentar ya!

Artikel ini merupakan artikel terjemahan dengan sedikit pengubahan. Artikel asli dapat kamu akses melalui link berikut.