auto-sklearn案例解析二
来源:互联网 发布:知行中学在大连市排名 编辑:程序博客网 时间:2024/05/18 00:20
度量函数-metrics
auto-sklearn的度量函数是对sklearn度量函数的封装,我们即可以使用autosklearn已经封装好的metrics函数,也可以使用autosklearn的metrics函数封装器make_scorer函数
封装我们自己的么metrics函数
使用autosklearn已经封装好的metrics函数
如果仅仅是获取的话,最简易的一种方式是直接去找源代码.你可以直接输入并点击autosklearn.metrics
从而进入该方法的__Init__.py
文件,在其中的第180行有使用make_scorer函数
进行封装的源代码:
# Standard regression scores r2 = make_scorer('r2', sklearn.metrics.r2_score) mean_squared_error = make_scorer('mean_squared_error', sklearn.metrics.mean_squared_error, greater_is_better=False) ...... # Score functions that need decision values roc_auc = make_scorer('roc_auc', sklearn.metrics.roc_auc_score, greater_is_better=True, needs_threshold=True) ......
二其中的r2
则是autosklearn分类器的默认参数.如果我们想要使用这些函数的话,也十分的简单.下面就是一个使用正确率的函数
cls.fit(X_train, y_train, metric=autosklearn.metrics.accuracy)
不过根据autosklearn中的example,我们还可以使用以下代码直接获取相应的metrics函数的名字
# Print a list of available metrics print("Available CLASSIFICATION metrics autosklearn.metrics.*:") print("\t*" + "\n\t*".join(autosklearn.metrics.CLASSIFICATION_METRICS)) print("Available REGRESSION autosklearn.metrics.*:") print("\t*" + "\n\t*".join(autosklearn.metrics.REGRESSION_METRICS))
利用autosklearn的封装器,封装我们自己的metrics函数
如同前面所写,我们使用make_scorer封装我们自己的评价函数:
def accuracy(solution, prediction): # function defining accuracy return np.mean(solution == prediction) def accuracy_wk(solution, prediction, dummy): # function defining accuracy and accepting an additional argument assert dummy is None return np.mean(solution == prediction) accuracy_scorer = autosklearn.metrics.make_scorer(name="accu_add", score_func=accuracy, # 此处使用上面的那一个函数都可以 greater_is_better=True, needs_proba=False, needs_threshold=False, dummy=None) cls = autosklearn.classification.\ AutoSklearnClassifier(time_left_for_this_task=60, per_run_time_limit=30, seed=1) cls.fit(X_train, y_train, metric=accuracy_scorer)
如前面所示,封装我们自己的评价函数或者说度量函数一共分为两步
- 第一步,设置一个函数,参数最起码为二,格式如上
- 第二步,使用make_scorer() 方法,制作我们自己的 scorer
其他常用函数
print(automl.show_models())
:该语句的作用是展示最后我们获取的最佳模型 print(automl.sprint_statistics())
:该语句的作用是展示模型的状态,该语句输出如下
auto-sklearn results: Dataset name: digits Metric: accuracy Best validation score: 0.991011 Number of target algorithm runs: 25 Number of successful target algorithm runs: 0 Number of crashed target algorithm runs: 0 Number of target algorithms that exceeded the memory limit: 0 Number of target algorithms that exceeded the time limit: 0 **中文对照:** uto-sklearn结果: 数据集名称:数字 度量:准确性 最好的验证分数:0.991011 目标算法的运行次数:25 成功的目标算法的数量:0 目标算法的崩溃次数:0 超过内存限制的目标算法数量:0 超过时间限制的目标算法的数量:0
中文翻译即学习笔记链接
- 官网首页
- AutoSklearn手册
- autosklearn案例解析一 -
阅读全文
2 0
- auto-sklearn案例解析二
- auto-sklearn案例解析一
- auto-sklearn手册
- auto-sklearn简介
- 【Auto-sklearn】MacOS安装笔记
- sklearn与GBDT入门案例
- sklearn之train_test_split()解析
- sklearn.utils.shuffle解析
- sql执行计划解析案例(二)
- 注解(二)——解析注解案例
- Auto Complete解析
- sklearn 常用api(二)
- Sklearn用户手册(五):回归二
- sklearn 数据集(二)
- sklearn之SVM二分类
- STL源码剖析学习原因案例解析(二)
- java事务全解析(二)--失败的案例
- 居中解析margin:0 auto;
- vue真难啊
- 飞康,你行的!
- frp内网穿透基本应用
- 一. 4位计数器的设计与仿真验证(2)
- 用网卡实现网络安装虚拟机部署
- auto-sklearn案例解析二
- GCD 定时器
- pipe的使用
- 【基于PCA的人脸识别算法】从QR分解到PCA,再到人脸识别
- 前端--编辑器有哪些?
- Android应用如何跳转到应用市场详情页面
- timit实例的运行
- 接口声明变量的一个实际例子
- CS229学习笔记之线性回归与梯度下降