Machine learning adalah bidang ilmu yang mempelajari cara membuat algoritma yang dapat belajar dari data dan membuat prediksi berdasarkan pola yang ditemukan. Dalam artikel ini, kita akan menggunakan random forest untuk memprediksi data dan membuat plot kontur untuk menganalisis hasil prediksi.
Contour Plot dengan Random Forest
Random forest adalah algoritma machine learning yang dapat digunakan untuk memprediksi data berdasarkan pola dalam dataset. Algoritma ini bekerja dengan cara membuat banyak tree decision dan menggabungkan hasilnya untuk membuat prediksi akhir.
Dalam contoh di atas, kita menggunakan random forest untuk memprediksi nilai estimated salary berdasarkan umur dan pendidikan seseorang. Kita menggunakan data dari file CSV yang berisi informasi tentang umur, pendidikan, dan estimated salary seseorang.
Kita pertama-tama membaca data dari file CSV dengan menggunakan pandas.
import pandas as pd
items = pd.read_csv('Data.csv')
Kemudian, kita membagi data menjadi dataset pelatihan dan dataset uji dengan menggunakan fungsi train_test_split
dari scikit-learn.
from sklearn.model_selection import train_test_split
label1_train, label1_test, label2_train, label2_test = train_test_split(label1, label2, test_size=0.25, random_state=0)
Kita lalu mengaplikasikan skala normalization pada dataset pelatihan dengan menggunakan fungsi StandardScaler
dari scikit-learn.
from sklearn.preprocessing import StandardScaler
scaling = StandardScaler()
label1_train = scaling.fit_transform(label1_train)
label1_test = scaling.transform(label1_test)
Selanjutnya, kita membuat model random forest dengan menggunakan kelas RandomForestClassifier
dari scikit-learn dan memprediksi nilai estimated salary pada dataset uji.
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier(n_estimators=10, criterion='gini', random_state=0)
model.fit(label1_train, label2_train)
prediction = model.predict(label1_test)
Kita lalu membuat plot kontur untuk menampilkan hasil prediksi dengan menggunakan fungsi contourf
dari matplotlib.
import matplotlib.pyplot as plt
grid1, grid2 = np.meshgrid(np.arange(start=label1[:, 0].min() - 1, stop=label1[:, 0].max() + 1, step=0.01),
np.arange(start=label1[:, 1].min() - 1, stop=label1[:, 1].max() + 1, step=0.01))
plt.contourf(grid1, grid2, model.predict(np.array([grid1.ravel(), grid2.ravel()]).T).reshape(grid1.shape),
alpha=0.75, cmap=ListedColormap([('lightblue', 'peachpuff'))])
Plot kontur ini menampilkan hasil prediksi random forest dalam bentuk kontur yang dapat membantu kita memahami pola yang ditemukan oleh algoritma.
Penggunaan Contour Plot untuk Menganalisis Hasil Prediksi
Contour plot yang kita buatkan dapat digunakan untuk menganalisis hasil prediksi random forest. Dalam plot ini, warna yang berbeda menunjukkan nilai estimated salary yang berbeda. Kita dapat melihat bahwa algoritma telah berhasil memprediksi pola dalam data dan membuat kelas-kelas yang jelas.
Dalam artikel ini, kita telah menggunakan random forest untuk memprediksi data dan membuat plot kontur untuk menganalisis hasil prediksi. Dengan menggunakan teknik ini, kita dapat memahami pola yang ditemukan oleh algoritma dan membuat keputusan yang lebih baik dalam berbagai aplikasi.
Referensi
- Scikit-learn Documentation: Random Forest
- Matplotlib Documentation: Contour Plot