auto-sklearn案例解析二
生活随笔
收集整理的這篇文章主要介紹了
auto-sklearn案例解析二
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
度量函數-metrics
auto-sklearn的度量函數是對sklearn度量函數的封裝,我們即可以使用autosklearn已經封裝好的metrics函數,也可以使用autosklearn的metrics函數封裝器make_scorer函數封裝我們自己的么metrics函數
使用autosklearn已經封裝好的metrics函數
如果僅僅是獲取的話,最簡易的一種方式是直接去找源代碼.你可以直接輸入并點擊autosklearn.metrics從而進入該方法的__Init__.py文件,在其中的第180行有使用make_scorer函數進行封裝的源代碼:
# 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分類器的默認參數.如果我們想要使用這些函數的話,也十分的簡單.下面就是一個使用正確率的函數
cls.fit(X_train, y_train, metric=autosklearn.metrics.accuracy)不過根據autosklearn中的example,我們還可以使用以下代碼直接獲取相應的metrics函數的名字
# 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函數
如同前面所寫,我們使用make_scorer封裝我們自己的評價函數:
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, # 此處使用上面的那一個函數都可以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()):該語句的作用是展示模型的狀態,該語句輸出如下
中文翻譯即學習筆記鏈接
- 官網首頁
- AutoSklearn手冊
- autosklearn案例解析一
- -
總結
以上是生活随笔為你收集整理的auto-sklearn案例解析二的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: auto-sklearn案例解析一
- 下一篇: sklearn中的分类决策树