каким должно быть значение параметра оценки в функции learning_curve в sklearn? - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь создать кривую обучения, и алгоритм, который я хочу использовать, является алгоритмом knn. для этого должна быть оценочная стоимость. Его возможные значения или параметры не указаны в документации (и я не уверен, что это должно быть там).

вот мой код-

features = ['age','sex','cp','trestbps','chol','fbs','restecg','thalach','exang','oldpeak','slope','ca','thal']
target = 'num'

train_size, train_scores, validation_scores = learning_curve(estimator = KNN(), x=dataset[features], y=dataset[target], train_size=train_sizes, cv=5, scoring='confusion_matrix')

ошибка в том, что KNN () не определен (очевидно, почему). но мой вопрос, если я хочу использовать алгоритм KNN, какое это должно быть значение.

1 Ответ

0 голосов
/ 03 июля 2018

Из learning curve документов :

оценщик : тип объекта, который реализует методы «подгонки» и «прогнозирования»

Итак, если вы находитесь в режиме регрессии, вы должны использовать

from sklearn.neighbors import KNeighborsRegressor
# define the no. of nearest neighbors k
train_size, train_scores, validation_scores = learning_curve(estimator = KNeighborsRegressor(n_neighbors=k), [...])

если вы находитесь в настройке классификации, вы должны использовать

from sklearn.neighbors import KNeighborsClassifier
# define the no. of nearest neighbors k
train_size, train_scores, validation_scores = learning_curve(estimator = KNeighborsClassifier(n_neighbors=k), [...])

где, конечно, в обоих случаях вы также должны определить количество ближайших соседей k.

Общая идея заключается в том, что в аргументе estimator вы можете использовать любой доступный алгоритм scikit-learn, который реализует методы fit и predist, как четко указано в документации (ссылка приведена выше).

...