Pada artikel ini, kita akan membahas analisis dataset iris yang terdiri atas 3 jenis bunga iris (Setosa, Versicolour, dan Virginica) serta melakukan klasifikasi dengan dua metode: Dua Klasifikasi (K-Nearest Neighbors, KNN) dan Neural Network MLP (Multi-Layer Perceptron).
Penggunaan K-Nearest Neighbors (KNN)
KNN adalah salah satu algoritma klasifikasi yang paling sederhana. Algoritma ini bekerja dengan cara mencari k neighborhood dari suatu data point baru berdasarkan jarak antara data point dan training data. Data point tersebut kemudian dikategorikan ke dalam kelas yang paling sering muncul di neighborhood-nya.
Kita akan menggunakan library scikit-learn untuk melakukan KNN. Pertama, kita perlu memuat dataset iris:
from sklearn.datasets import load_iris
iris = load_iris()
Lalu, kita membuat model KNN dengan 3 neighbors dan weights 'uniform':
from sklearn.neighbors import KNeighborsClassifier as KNN
knn_clf = KNN(n_neighbors=3, weights='uniform')
Selanjutnya, kita melakukan training dan tes dengan dataset iris:
X = iris.data[:, :2] # we only care about the first two features
y = iris.target
knn_clf.fit(X, y)
Untuk melihat hasil klasifikasi, kita akan membuat plot menggunakan library matplotlib:
import matplotlib.pyplot as plt
plt.figure()
plt.pcolormesh(xx, yy, Z, cmap=cmap_light)
plt.scatter(X[:, 0], X[:, 1], c=y, cmap=cmap_bold, edgecolor='k', s=20)
plt.xlim(xx.min(), xx.max())
plt.ylim(yy.min(), yy.max())
plt.title("2-Class classification (k = %i)" % (n_neighbors,))
plt.show()
Plot di atas menunjukkan klasifikasi 2-class menggunakan KNN. Setiap titik pada plot mewakili suatu bunga iris, dengan warna menunjukkan jenis bunga.
Penggunaan Neural Network MLP
MLP adalah salah satu algoritma neural network yang paling populer. Algoritma ini bekerja dengan cara membuat sebuah jaringan sintetis yang dapat mempelajari pola dari data training dan kemudian menggunakan jaringan tersebut untuk melakukan klasifikasi pada data baru.
Kita akan menggunakan library scikit-learn untuk melakukan MLP:
from sklearn.neural_network import MLPClassifier as MLP
mlp_clf = MLP(solver='lbfgs', alpha=1e-5, hidden_layer_sizes=(5, 2), random_state=1)
Lalu, kita melakukan training dan tes dengan dataset iris:
iris_data.data, iris_data.target
mlp_clf.fit(iris_data.data, iris_data.target)
Untuk melihat hasil klasifikasi, kita akan membuat plot menggunakan library matplotlib:
import matplotlib.pyplot as plt
plt.figure()
plt.pcolormesh(xx, yy, Z, cmap=cmap_light)
plt.scatter(X[:, 0], X[:, 1], c=y, cmap=cmap_bold, edgecolor='k', s=20)
plt.xlim(xx.min(), xx.max())
plt.ylim(yy.min(), yy.max())
plt.title("3-Class classification (hidden_layer_sizes = %s)" % (mlp_clf.hidden_layer_sizes,))
plt.show()
Plot di atas menunjukkan klasifikasi 3-class menggunakan MLP. Setiap titik pada plot mewakili suatu bunga iris, dengan warna menunjukkan jenis bunga.
Dalam artikel ini, kita telah melihat dua metode klasifikasi yang berbeda: K-Nearest Neighbors (KNN) dan Neural Network MLP. Kedua metode tersebut dapat digunakan untuk melakukan analisis dataset iris dan mendapatkan hasil klasifikasi yang sesuai.