XGBoost: Fit/Predict
Saatnya membuat model XGBoost pertama Anda! Seperti yang ditunjukkan Sergey dalam video, Anda dapat menggunakan paradigma scikit-learn .fit() / .predict() yang sudah Anda kenal untuk membangun model XGBoost, karena pustaka xgboost memiliki API yang kompatibel dengan scikit-learn!
Di sini, Anda akan bekerja dengan data churn. Himpunan data ini berisi data imajiner dari sebuah aplikasi ride-sharing dengan perilaku pengguna selama bulan pertama penggunaan aplikasi di sejumlah kota imajiner, serta apakah mereka masih menggunakan layanan tersebut 5 bulan setelah pendaftaran. Data ini telah dimuat untuk Anda ke dalam DataFrame bernama churn_data — jelajahi di Shell!
Tujuan Anda adalah menggunakan data bulan pertama untuk memprediksi apakah pengguna aplikasi akan tetap menggunakan layanan pada bulan ke-5. Ini adalah skenario umum untuk masalah prediksi churn. Untuk melakukannya, Anda akan membagi data menjadi himpunan pelatihan dan uji, melatih model xgboost kecil pada himpunan pelatihan, dan mengevaluasi kinerjanya pada himpunan uji dengan menghitung akurasinya.
pandas dan numpy telah diimpor sebagai pd dan np, dan train_test_split telah diimpor dari sklearn.model_selection. Selain itu, array untuk fitur dan target telah dibuat sebagai X dan y.
Latihan ini adalah bagian dari kursus
Extreme Gradient Boosting dengan XGBoost
Petunjuk latihan
- Impor
xgboostsebagaixgb. - Buat himpunan pelatihan dan uji sehingga 20% data digunakan untuk pengujian. Gunakan
random_statebernilai123. - Instansiasi
XGBoostClassifiersebagaixg_clmenggunakanxgb.XGBClassifier(). Tetapkann_estimatorsmenjadi10estimator danobjective'binary:logistic'. Jangan khawatir dulu tentang artinya; Anda akan mempelajari parameter ini nanti dalam kursus. - Latih
xg_clpada himpunan pelatihan (X_train, y_train)menggunakan metode.fit(). - Prediksi label himpunan uji (
X_test) menggunakan metode.predict()dan klik 'Kirim Jawaban' untuk mencetak akurasi.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Import xgboost
____
# Create arrays for the features and the target: X, y
X, y = churn_data.iloc[:,:-1], churn_data.iloc[:,-1]
# Create the training and test sets
X_train, X_test, y_train, y_test= ____(____, ____, test_size=____, random_state=123)
# Instantiate the XGBClassifier: xg_cl
xg_cl = ____.____(____='____', ____=____, seed=123)
# Fit the classifier to the training set
____
# Predict the labels of the test set: preds
preds = ____
# Compute the accuracy: accuracy
accuracy = float(np.sum(preds==y_test))/y_test.shape[0]
print("accuracy: %f" % (accuracy))