【问题标题】:what should be the value of the estimator parameter in learning_curve function in sklearn?sklearn 中 learning_curve 函数中估计器参数的值应该是多少?
【发布时间】: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最近邻算法的估计器参数值应该是多少
  • 那么值完全取决于您的任务和数据

标签: python machine-learning scikit-learn data-science knn


【解决方案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 参数中,您可以使用任何实现 fitpredist 方法的 scikit-learn 可用算法,如文档中明确提到的(上面提供的链接)。

【讨论】:

    猜你喜欢
    • 2011-02-10
    • 2018-06-24
    • 1970-01-01
    • 2017-06-13
    • 2019-01-08
    • 2021-01-16
    • 2019-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多