如何使用无监督学习通过 BayesianRidge 实现 cross_val_score?

How to implement cross_val_score with BayesianRidge using an unsupervised learning?

我是 sklearn 的新手。
我的 objective 是使用 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

正确的做法是怎样的?

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

Image Source

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