RANDOM FOREST
Pada blog sebelumnya, kita sudah mempelajari tentang REGRESSION yang bisa dibaca disini. Saat kita memproses dataset, ada satu metode yang sering dipake yaitu RANDOM FOREST. Apa itu random forest? Daripada otak klean ngeleg, mending gua jelasin pake hal yang simpel dah.
RANDOM FOREST TU APA BANG?
Kalian kira ini pohon yang ditanem random gitu? Yak SALAH- Eh oke, jadi Random Forest itu metode machine learning yang isinya kumpulan decision tree. Jadi banyak "pohon" bikin prediksi, terus hasilnya di-voting buat ambil keputusan paling akurat.
GUNANYA APA BANG?
Gunanya itu buat kita pake untuk prediksi kategori (klasifikasi) dan prediksi angka (regression) dengan hasil yang cukup akurat.
CONTOH CODE NYA GMN TU BANG?
Nahh, ni gw kasi kodenya ni MAKDUARRRRR
#Klasifikasi kelayakan konsumsi untuk air.
from sklearn.model_selection import train_test_split as tts
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeRegressor
from sklearn.ensemble import RandomForestClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.svm import SVC
x = df.drop(['Potability'],axis=True)
y = df['Potability']
x_train,x_test,y_train,y_test = tts(x,y,test_size=0.32, random_state = 50)
print(x.describe(),"\n","\n", y.describe())
RFC = RandomForestClassifier()
RFC.fit(x_train,y_train)
y_RFC = RFC.predict(x_test)
Acc_rfc= accuracy_score(y_RFC,y_test)
print( Acc_rfc)
print(classification_report(y_RFC,y_test))
cmr= confusion_matrix(y_test,y_RFC)
sns.heatmap(cmr/np.sum(cmr), annot= True, fmt= '0.2%', cmap= 'coolwarm')
#Prediksi apakah air layak minum dari beberapa parameter.
new_data = pd.DataFrame([{
'ph': 9.445130,
'Hardness': 145.805402,
'Solids': 13168.529156,
'Chloramines': 9.444471,
'Sulfate': 310.583374,
'Conductivity': 592.659021,
'Organic_carbon': 8.606397,
'Trihalomethanes': 77.577460,
'Turbidity': 3.875165
}])
predicted = RFC.predict(new_data)
print("Potability:", predicted[0]) # 0 = tidak layak, 1 = layak
Ciao~ @GTx
Tidak ada komentar:
Posting Komentar