机器学习-CrossValidation交叉验证
来源:互联网 发布:安卓网络机顶盒论坛 编辑:程序博客网 时间:2024/04/29 12:13
概念
“交叉验证法”(cross validation)是一种很好并准确的用于评估模型的方法。它先将数据集
- 优点:K-CV可以有效的避免过学习以及欠学习状态的发生,最后得到的结果也比较具有说服性.
- 缺点:K值的选取很重要
python实现
from sklearn import cross_validationfrom sklearn.model_selection import train_test_splitfrom sklearn.ensemble.gradient_boosting import GradientBoostingClassifier # 训练/测试数据分割X_train, X_test, y_train, y_test = train_test_split(X_all, y_all, test_size=0.3, random_state=42)# 定义GBDT模型gbdt = GradientBoostingClassifier(init=None, learning_rate=0.05, loss='deviance', max_depth=5, max_features=None, max_leaf_nodes=None, min_samples_leaf=1, min_samples_split=2, min_weight_fraction_leaf=0.0, n_estimators=500, random_state=None, subsample=1.0, verbose=0, warm_start=False)# 训练学习gbdt.fit(X_train, y_train)importances = gbdt.feature_importances_# 预测及AUC评测y_pred_gbdt = gbdt.predict_proba(X_test.toarray())[:, 1]gbdt_auc = roc_auc_score(y_test, y_pred_gbdt)print('The AUC of GBDT: %.5f' % gbdt_auc)# cross_validationprint('--------------------------------cross_validation----------------------------')score = cross_validation.cross_val_score(gbdt_auc, X_all, y_all, cv=5, scoring='roc_auc')sum = 0for sc in score: sum += scprint('GBDT 平均AUC:')print(sum / score.shape)print('交叉验证各维AUC:') print(score)这里以gbdt模型为例X_all:训练集y_all:标签cv: 交叉验证的次数scoring: 评估指标,可以自定义,也有很多默认选项 例如‘accuracy’, 就是返回准确率 [‘accuracy‘, ‘adjusted_rand_score‘, ‘average_precision‘, ‘f1‘, ‘f1_macro‘, ‘f1_micro‘, ‘f1_samples‘, ‘f1_weighted‘, ‘log_loss‘, ‘mean_absolute_error‘, ‘mean_squared_error‘, ‘median_absolute_error‘, ‘precision‘, ‘precision_macro‘, ‘precision_micro‘, ‘precision_samples‘, ‘precision_weighted‘, ‘r2‘, ‘recall‘, ‘recall_macro‘, ‘recall_micro‘, ‘recall_samples‘, ‘recall_weighted‘, ‘roc_auc‘]
阅读全文
2 0
- 机器学习-CrossValidation交叉验证
- 机器学习-CrossValidation交叉验证
- 机器学习-CrossValidation交叉验证Python实现
- 机器学习-CrossValidation交叉验证Python实现
- 机器学习-CrossValidation交叉验证Python实现
- 机器学习--k-折交叉验证(k-fold crossValidation)
- 交叉验证(CrossValidation)
- 交叉验证(CrossValidation)解析
- 交叉验证(CrossValidation)
- 交叉验证(CrossValidation)方法
- Sklearn-CrossValidation交叉验证
- 交叉验证(CrossValidation)
- 交叉验证(CrossValidation)方法思想
- 转:Sklearn-CrossValidation交叉验证
- 机器学习--交叉验证
- 机器学习--交叉验证
- 机器学习-交叉验证
- k-折交叉验证(k-fold CrossValidation)
- Java程序员的技术进阶成长路线
- 本地Blast2GO安装
- git branch 命令
- lua如何在游戏中保存上一次游戏状态
- DB2-DML SQL学习
- 机器学习-CrossValidation交叉验证
- 【怎样写代码】工厂三兄弟之抽象工厂模式(七):“开闭原则”的倾斜性
- java读取Properties文件
- lua和java的相互调用
- IBM服务器配置raid 5
- .net Core 2.0使用NLog
- 重装win7系统
- CSU
- 第一个JMS(Java Service Message)实例