2 回答

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個(gè)贊
歡迎來(lái)到堆棧溢出!
錯(cuò)誤顯示LeaveOneOut() takes no arguments
,但是當(dāng)您實(shí)例化時(shí),LeaveOneOut
您將其len(X)
作為參數(shù)傳遞 (in?LeaveOneOut(len(X))
)。
如果您將scores
行更改為下面的行,它應(yīng)該可以工作:
scores?=?cross_val_score(model,?X,?y,?cv=LeaveOneOut())
但是,請(qǐng)注意scikit-learn 文檔中的警告:
注意:LeaveOneOut() 等同于 KFold(n_splits=n)...由于測(cè)試集數(shù)量很多(與樣本數(shù)量相同),這種交叉驗(yàn)證方法的成本可能非常高。對(duì)于大型數(shù)據(jù)集,應(yīng)該傾向于 KFold、ShuffleSplit 或 StratifiedKFold。
如果不清楚,建議使用例如 n=5 的 KFold,這通常會(huì)比 . 更好地為您服務(wù)LeaveOneOut
。

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊
或者,也可以使用
from sklearn.model_selection import cross_val_score
cross_val_score(model, X, y, cv=5)
from sklearn.model_selection import LeaveOneOut
scores = cross_val_score(model, X, y, cv=LeaveOneOut().split(X))
scores
添加回答
舉報(bào)