用 Python 練習機器學習面試題
Lisa Stuart
Data Scientist






線性關係假設(不正確)


高複雜度模型:




# import modules
from sklearn.ensemble import BaggingClassifier
from sklearn.ensemble import AdaBoostClassifier
from xgboost import XGBClassifier
from vecstack import stacking
# Create list: stacked_models
stacked_models = [BaggingClassifier(n_estimators=25, random_state=123), AdaBoostClassifier(n_estimators=25, random_state=123)]
# Stack the models: stack_train, stack_test
stack_train, stack_test = stacking(stacked_models, X_train, y_train, X_test, regression=False, mode='oof_pred_bag',
needs_proba=False, metric=accuracy_score, n_folds=4, stratified=True, shuffle=True, random_state=0, verbose=2)
# Initialize and fit 2nd level model
final_model = XGBClassifier(random_state=123, n_jobs=-1, learning_rate=0.1, n_estimators=10, max_depth=3)
final_model_fit = final_model.fit(stack_train, y_train)
# Predict: stacked_pred
stacked_pred = final_model.predict(stack_test)
# Final prediction score
print('Final prediction score: [%.8f]' % accuracy_score(y_test, stacked_pred))
| 演算法 | 函式 |
|---|---|
| 自助聚合(Bagging) | sklearn.ensemble.BaggingClassifier() |
| 提升法(Boosting) | sklearn.ensemble.AdaBoostClassifier() |
| XGBoost | xgboost.XGBClassifier() |
| 技術 | 偏差 | 變異 |
|---|---|---|
| Bootstrap aggregation(Bagging) | 增加 | 降低 |
| Boosting | 降低 | 增加 |
以下關於機器學習三大集成技術的敘述,哪一項是正確的? 請選出正確的敘述:
以下關於機器學習三大集成技術的敘述,哪一項是正確的? 正確答案是:
以下關於機器學習三大集成技術的敘述,哪一項是正確的?
用 Python 練習機器學習面試題