我寫(xiě)了一個(gè) KNN 插補(bǔ)實(shí)現(xiàn),我希望 StratifiedKFold 來(lái)檢查使用什么 K 和什么距離矩陣。我收到一個(gè)錯(cuò)誤:它似乎沒(méi)有將我的估算器識(shí)別為回歸器(“評(píng)分”函數(shù)用于回歸)。我的代碼:skf = StratifiedKFold(n_splits=10, shuffle=False, random_state=12)NN = KnnImputation() # my own functiongridSearchNN = GridSearchCV(NN, param_grid=params, scoring='mean_squared_error', n_jobs=numIter, cv=skf.split(xTrain, yTrain), verbose=verbose)gridSearchNN.fit(xTrain, yTrain)錯(cuò)誤: File "........\dataImputation.py", line 63, in knnImputationMethod gridSearchNN.fit(xTrain, yTrain) File "C:\Users\...\Anaconda3\lib\site-packages\sklearn\model_selection\_search.py", line 651, in fit cv = check_cv(self.cv, y, classifier=is_classifier(estimator)) File "C:\Users\....\Anaconda3\lib\site-packages\sklearn\model_selection\_split.py", line 2068, in check_cv return _CVIterableWrapper(cv) File "C:\Users\....\Anaconda3\lib\site-packages\sklearn\model_selection\_split.py", line 1966, in __init__ self.cv = list(cv) File "C:\Users\...\Anaconda3\lib\site-packages\sklearn\model_selection\_split.py", line 331, in split for train, test in super(_BaseKFold, self).split(X, y, groups): File "C:\Users\...\Anaconda3\lib\site-packages\sklearn\model_selection\_split.py", line 100, in split for test_index in self._iter_test_masks(X, y, groups): File "C:\Users\...\Anaconda3\lib\site-packages\sklearn\model_selection\_split.py", line 681, in _iter_test_masks test_folds = self._make_test_folds(X, y) File "C:\Users\...\Anaconda3\lib\site-packages\sklearn\model_selection\_split.py", line 636, in _make_test_folds allowed_target_types, type_of_target_y))ValueError: Supported target types are: ('binary', 'multiclass'). Got 'continuous' instead.在“GridSearchCV”過(guò)程中,我看到它進(jìn)入“is_classifier”而不是“is_regressor”。有任何想法嗎?
1 回答

米琪卡哇伊
TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊
分層KFold
考慮組信息以避免構(gòu)建具有不平衡類(lèi)分布的折疊(對(duì)于二元或多類(lèi)分類(lèi)任務(wù))。
StratifiedKFold 僅適用于分類(lèi)數(shù)據(jù),不適用于回歸。
https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.KFold.html
替換StratifiedKFold
為KFold
您可以在此處查看來(lái)源:
https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/model_selection/_split.py#L570
添加回答
舉報(bào)
0/150
提交
取消