sklearn 中 learning_curve 函数中估计器参数的值应该是多少?
Posted
技术标签:
【中文标题】sklearn 中 learning_curve 函数中估计器参数的值应该是多少?【英文标题】:what should be the value of the estimator parameter in learning_curve function in sklearn? 【发布时间】:2018-12-11 15:14:51 【问题描述】:我正在尝试制作学习曲线,我想使用的算法是 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 算法,它的价值应该是多少。
【问题讨论】:
我不太明白你所说的“它应该是什么价值”是什么意思? 使用最近邻算法的估计器参数的值应该是多少 使用K最近邻算法的估计器参数值应该是多少 那么值完全取决于您的任务和数据 【参考方案1】:来自learning curve
docs:
estimator:实现“fit”和“predict”方法的对象类型
所以,如果你在回归设置中,你应该使用
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 可用算法,如文档中明确提到的(上面提供的链接)。
【讨论】:
以上是关于sklearn 中 learning_curve 函数中估计器参数的值应该是多少?的主要内容,如果未能解决你的问题,请参考以下文章