Minggu, 03 Agustus 2025

RandomForest in Python

 RANDOM FOREST

Pada blog sebelumnya, kita sudah mempelajari tentang REGRESSION yang bisa dibaca disiniSaat kita memproses dataset, ada satu metode yang sering dipake yaitu RANDOM FORESTApa 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

Nah jadi gitu. Udah kan? Boleh lah Subreknya wak😋
Ciao~ @GTx




Tidak ada komentar:

Posting Komentar

WEB SCRAPPING IN PYTHON

WEB SCRAPPING Pada blog sebelumnya, kita sudah mempelajari tentang WordCloud yang bisa digunakan untuk voting, highlight keyword, atau bahka...