当你这样做
y = np.random.rand(10),y是 一个维数组
中
[10,]。它是行向量还是列向量都没有关系。它只是一个只有一个维度的向量。
它是“ numpy哲学 ”的一部分。而sklearn取决于numpy。
至于您的评论:
为什么sklearn无法自动理解,如果我将其传递给n_samples = n和n_features = 1的形状(n,)
sklearn 可能无法 仅基于X数据推断
n_samples=n and n_features=1(
n_samples=1 andn_features=n)是否绕过()。如果传递了y,则可以这样做,这可以使清楚
n_samples。
但这意味着更改所有依赖于这种语义的代码,并且可能会破坏很多事情,因为这 严重sklearn
依赖于numpy
操作。
您可能还需要检查以下讨论类似问题的链接。
- https://github.com/scikit-learn/scikit-learn/issues/4509
- https://github.com/scikit-learn/scikit-learn/issues/4512
- https://github.com/scikit-learn/scikit-learn/issues/4466
- https://github.com/scikit-learn/scikit-learn/pull/5152



