日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

auto-sklearn案例解析二

發布時間:2025/3/21 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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()):該語句的作用是展示模型的狀態,該語句輸出如下

auto-sklearn results:Dataset name: digitsMetric: accuracyBest validation score: 0.991011Number of target algorithm runs: 25Number of successful target algorithm runs: 0Number of crashed target algorithm runs: 0Number of target algorithms that exceeded the memory limit: 0Number of target algorithms that exceeded the time limit: 0**中文對照:**uto-sklearn結果:數據集名稱:數字度量:準確性最好的驗證分數:0.991011目標算法的運行次數:25成功的目標算法的數量:0目標算法的崩潰次數:0超過內存限制的目標算法數量:0超過時間限制的目標算法的數量:0

中文翻譯即學習筆記鏈接

  • 官網首頁
  • AutoSklearn手冊
  • autosklearn案例解析一
  • -
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的auto-sklearn案例解析二的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。