Implementasi Random Forest – Part 5

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.

Sharing is caring: