auto-sklearn案例解析二
度量函數(shù)-metrics
auto-sklearn的度量函數(shù)是對(duì)sklearn度量函數(shù)的封裝,我們即可以使用autosklearn已經(jīng)封裝好的metrics函數(shù),也可以使用autosklearn的metrics函數(shù)封裝器make_scorer函數(shù)封裝我們自己的么metrics函數(shù)
使用autosklearn已經(jīng)封裝好的metrics函數(shù)
如果僅僅是獲取的話,最簡(jiǎn)易的一種方式是直接去找源代碼.你可以直接輸入并點(diǎn)擊autosklearn.metrics從而進(jìn)入該方法的__Init__.py文件,在其中的第180行有使用make_scorer函數(shù)進(jìn)行封裝的源代碼:
# Standard regression scoresr2 = 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 valuesroc_auc = make_scorer('roc_auc', sklearn.metrics.roc_auc_score,greater_is_better=True, needs_threshold=True)......二其中的r2則是autosklearn分類器的默認(rèn)參數(shù).如果我們想要使用這些函數(shù)的話,也十分的簡(jiǎn)單.下面就是一個(gè)使用正確率的函數(shù)
cls.fit(X_train, y_train, metric=autosklearn.metrics.accuracy)不過(guò)根據(jù)autosklearn中的example,我們還可以使用以下代碼直接獲取相應(yīng)的metrics函數(shù)的名字
# Print a list of available metricsprint("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函數(shù)
如同前面所寫(xiě),我們使用make_scorer封裝我們自己的評(píng)價(jià)函數(shù):
def accuracy(solution, prediction):# function defining accuracyreturn np.mean(solution == prediction)def accuracy_wk(solution, prediction, dummy):# function defining accuracy and accepting an additional argumentassert dummy is Nonereturn np.mean(solution == prediction)accuracy_scorer = autosklearn.metrics.make_scorer(name="accu_add",score_func=accuracy, # 此處使用上面的那一個(gè)函數(shù)都可以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)如前面所示,封裝我們自己的評(píng)價(jià)函數(shù)或者說(shuō)度量函數(shù)一共分為兩步
- 第一步,設(shè)置一個(gè)函數(shù),參數(shù)最起碼為二,格式如上
- 第二步,使用make_scorer() 方法,制作我們自己的 scorer
其他常用函數(shù)
print(automl.show_models()):該語(yǔ)句的作用是展示最后我們獲取的最佳模型
print(automl.sprint_statistics()):該語(yǔ)句的作用是展示模型的狀態(tài),該語(yǔ)句輸出如下
中文翻譯即學(xué)習(xí)筆記鏈接
- 官網(wǎng)首頁(yè)
- AutoSklearn手冊(cè)
- autosklearn案例解析一
- -
總結(jié)
以上是生活随笔為你收集整理的auto-sklearn案例解析二的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: auto-sklearn案例解析一
- 下一篇: sklearn中的分类决策树