我试着做一个学习曲线,我想使用的算法是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')error is - KNN()没有定义(这是显而易见的原因)。但我的问题是,如果我想使用knn算法,它应该是什么值。
发布于 2018-07-03 11:00:55
来自 docs
估值器:实现“fit”和“预测”方法的对象类型
因此,如果您处于回归设置中,则应使用
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参数中,您可以使用实现fit和predist方法的任何scikit-learn可用算法,如文档中明确提到的(上面提供的链接)。
https://stackoverflow.com/questions/51152330
复制相似问题