Untuk meningkatkan akurasi model, ada dua pendekatan yang umum digunakan.
- Memperbaiki data input.
- Melakukan parameter tuning.
Pada modul ini kita akan membahas bagaimana melakukan parameter tuning secara sederhana.
Tahap Parameter tuning secara sederhana adalah:
- Menentukan parameter
- Menjalankan model
- Mengukur Error
- Simpan Error
Kita jalankan dalam beberapa percobaan, lalu pilih error yang paling rendah.
Untuk implementasinya kita akan buat parameter grid yang memiliki range dari 50-500 dengan interval 50. Jadi kita akan melakukan parameter tuning dari nilai 50, 100, 150 dan seterusnya sampai 500.
Dari hasil akhir, diketahui nilai parameter n_estimator yang paling baik adalah 50.
#Parameter grid
from sklearn.model_selection import ParameterGrid
param_grid = {'n_estimators': range(50,500, 50)}
grid = ParameterGrid(param_grid)
#Parameter Tuning
#List where to store the results
f1score = []
#Loop
for params in grid:
#build the model
model = RandomForestClassifier(n_estimators= params['n_estimators'],
random_state = 1502)
model.fit(X_train, y_train)
#Predictions
predictions = model.predict(X_test)
#accuracy assessment
f1 = f1_score(y_test, predictions)
#store the results
f1score.append(f1)
#Best Parameters
best_params = grid[np.argmax(f1)]
print(best_params)
{'n_estimators': 50}
Sampai disini kita sudah selesai mempelajari Random Forest. File Google Colab dapat dilihat di Random Forest.ipynb.
Latihan
Untuk latihan, kita akan melakukan prediksi pendapatan customer. Data yang digunakan adalah marketing_campaigns.csv.
Untuk solusi dapat lihat di Random Forest Challenge.ipynb.
Sampai disini Tutorial Random Forest Menggunakan Python sudah selesai, semoga bermanfaat.