亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

自定義估計器無法通過 cross_val_score 進行深度復制

自定義估計器無法通過 cross_val_score 進行深度復制

交互式愛情 2023-08-08 17:07:51
我有一個自己實現的自定義估計器,但無法使用,我相信這與我的方法cross_val_score()有關。predict()這是完整的錯誤跟蹤:    Traceback (most recent call last):  File "/Users/joann/Desktop/Implementac?o?es ML/Adaboost Classifier/test.py", line 30, in <module>    ada2_score = cross_val_score(ada_2, X, y, cv=5)  File "/Users/joann/opt/anaconda3/lib/python3.7/site-packages/sklearn/model_selection/_validation.py", line 390, in cross_val_score    error_score=error_score)  File "/Users/joann/opt/anaconda3/lib/python3.7/site-packages/sklearn/model_selection/_validation.py", line 236, in cross_validate    for train, test in cv.split(X, y, groups))  File "/Users/joann/opt/anaconda3/lib/python3.7/site-packages/joblib/parallel.py", line 1004, in __call__    if self.dispatch_one_batch(iterator):  File "/Users/joann/opt/anaconda3/lib/python3.7/site-packages/joblib/parallel.py", line 835, in dispatch_one_batch    self._dispatch(tasks)  File "/Users/joann/opt/anaconda3/lib/python3.7/site-packages/joblib/parallel.py", line 754, in _dispatch    job = self._backend.apply_async(batch, callback=cb)  File "/Users/joann/opt/anaconda3/lib/python3.7/site-packages/joblib/_parallel_backends.py", line 209, in apply_async    result = ImmediateResult(func)  File "/Users/joann/opt/anaconda3/lib/python3.7/site-packages/joblib/_parallel_backends.py", line 590, in __init__    self.results = batch()  File "/Users/joann/opt/anaconda3/lib/python3.7/site-packages/joblib/parallel.py", line 256, in __call__    for func, args, kwargs in self.items]我的predict(self, X)方法返回一個大小向量n_samples以及參數的預測X。我還做了一個score()功能如下:def score(self, X, y):     scr_pred = self.predict(X)         return sum(scr_pred == y) / X.shape[0]該方法只是計算給定樣本的模型的準確性。如果我使用此score()方法或設置 across_val_score(... , scoring="accuracy")它不起作用。
查看完整描述

1 回答

?
有只小跳蛙

TA貢獻1824條經驗 獲得超8個贊

然而,您的問題陳述在這里并不清楚,但是查看錯誤,您似乎正在嘗試多類分類。

這里的問題是,您的代碼中可能在某些時候沒有正確完成預處理,因為錯誤是從 inverse_binarize_thresholding 記錄的,這是由于 sklearn 預處理的以下功能而引發的:

def?_inverse_binarize_thresholding(y,?output_type,?classes,?threshold):???
????if?output_type?==?"binary"?and?y.ndim?==?2?and?y.shape[1]?>?2:?
???????????raise?ValueError("output_type='binary',?but?y.shape?=?{0}".?
???????????????????????????????????format(y.shape))

您的代碼中必須缺少一些轉換或預處理,并且您必須正確使用 LabelBinarizer

查看完整回答
反對 回復 2023-08-08
  • 1 回答
  • 0 關注
  • 194 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號