【问题标题】:How to implement cross_val_score with BayesianRidge using an unsupervised learning?如何使用无监督学习使用 BayesianRidge 实现 cross_val_score?
【发布时间】:2019-11-29 05:27:33
【问题描述】:

我是sklearn的新手。
我的目标是使用cross_val_scoreBayesianRidge 估计器来估计数据集的分数。它应该使用unsupervised learning 来实现。下面的代码取自sklearn,但排除了target variabley
数据取自from sklearn.datasets import fetch_california_housing

estimator = BayesianRidge()
score_full_data = pd.DataFrame(cross_val_score(br_estimator, X=X, y=None, scoring='neg_mean_squared_error', cv=5), columns=['Data'])

我收到了TypeError: fit() missing 1 required positional argument: 'y'
预期结果是:

Data
0   -0.408433
1   -0.636009
2   -0.614910
3   -1.089616
4   -0.407541

正确的做法是怎样的?

【问题讨论】:

    标签: python scikit-learn bayesian


    【解决方案1】:

    它不起作用,因为您正在使用 supervised 学习分类器并尝试将其用作 unsupervised 分类器。你不能仅仅因为你没有提供target变量,即y,就期望BayesianRidge分类器的底层实现发生改变。如果您查看文档here,您会发现y 不是可选参数。图片来自链接供参考:

    Image Source

    其次,这首先不是一个无监督学习问题。您提到的这个数据集用于回归。所以在这里使用无监督学习是没有意义的。

    【讨论】:

    • 谢谢,@Mohammed Kashif。最初的问题是因为我没有variable vectory. 我只有原始数据X。如果我使用 train_test_split() 函数从 X 构建 y 是否正确?
    • @k.ko3n 不,那仍然是不正确的。您不能从X 构建y。您还在使用您在上题中提到的住房数据集吗?
    • 我使用问题中的示例和数据仅用于学习。对于我的实际任务,我正在使用我的数据,但只有X 可用。我不知道如何或从哪里获得y
    • @k.ko3n 您能否提供有关数据集的更多详细信息?不是值,而是有关列的信息以及您要解决的问题。据我了解,在这种情况下您需要使用无监督分类器,但我需要更多说明才能进一步帮助您。如果您可以将这些详细信息作为单独的问题发布,我可以为您提供帮助,那就更好了。
    • 我在新帖子中重新表述了这个问题。 stackoverflow.com/questions/57154209/…。感谢您的关注。
    猜你喜欢
    • 2017-12-08
    • 2014-04-20
    • 2017-06-27
    • 2013-03-24
    • 2019-02-20
    • 2011-06-11
    • 2018-10-01
    • 2016-07-18
    • 2010-12-22
    相关资源
    最近更新 更多