Tôi đang cố gắng sử dụng trình phân loại XGBoosts để phân loại một số dữ liệu nhị phân. Khi tôi làm điều đơn giản và chỉ cần sử dụng giá trị mặc định (như sau)XGBoost XGBClassifier Mặc định trong Python
clf = xgb.XGBClassifier()
metLearn=CalibratedClassifierCV(clf, method='isotonic', cv=2)
metLearn.fit(train, trainTarget)
testPredictions = metLearn.predict(test)
tôi nhận được kết quả phân loại một cách hợp lý tốt.
Bước tiếp theo của tôi là thử điều chỉnh thông số của mình. Đoán từ hướng dẫn thông số tại ... https://github.com/dmlc/xgboost/blob/master/doc/parameter.md tôi muốn bắt đầu từ mặc định và làm việc từ đó ...
# setup parameters for xgboost
param = {}
param['booster'] = 'gbtree'
param['objective'] = 'binary:logistic'
param["eval_metric"] = "error"
param['eta'] = 0.3
param['gamma'] = 0
param['max_depth'] = 6
param['min_child_weight']=1
param['max_delta_step'] = 0
param['subsample']= 1
param['colsample_bytree']=1
param['silent'] = 1
param['seed'] = 0
param['base_score'] = 0.5
clf = xgb.XGBClassifier(params)
metLearn=CalibratedClassifierCV(clf, method='isotonic', cv=2)
metLearn.fit(train, trainTarget)
testPredictions = metLearn.predict(test)
Kết quả là tất cả những gì được dự đoán sẽ là một trong những điều kiện và không phải là khác.
tò mò nếu tôi đặt
params={}
mà tôi mong đợi để cho tôi giá trị mặc định giống như không ăn bất kỳ thông số, tôi nhận được điều tương tự xảy ra
Vì vậy, không ai biết những gì giá trị mặc định cho XGBclassifier là ? để tôi có thể bắt đầu điều chỉnh?
Câu hỏi này gặp phải hành vi tương tự nhưng không có câu trả lời cho http://stackoverflow.com/questions/33470477/xgboost-predict-method-returns-the-same-predicted-value-for-all- hàng –