用 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))
| 算法 | 函数 |
|---|---|
| 自助聚合 | sklearn.ensemble.BaggingClassifier() |
| 提升 | sklearn.ensemble.AdaBoostClassifier() |
| XGBoost | xgboost.XGBClassifier() |
| 技术 | 偏差 | 方差 |
|---|---|---|
| 自助聚合(Bagging) | 增加 | 降低 |
| 提升(Boosting) | 降低 | 增加 |
关于机器学习中三大集成技术,下列哪项表述正确?请选择正确的一项:
关于机器学习中三大集成技术的判断题,正确答案是:
关于机器学习中三大集成技术,下列说法为:
用 Python 练习机器学习面试题