【发布时间】:2014-07-10 12:04:32
【问题描述】:
我想使用 scikit-learn X0.15 中提供的 sklearn.learning_curves.py。在我克隆了这个版本之后,有几个函数不再起作用,因为 check_arrays() 将数组的维度限制为 2。
>>> from sklearn import metrics
>>> from sklearn.cross_validation import train_test_split
>>> import numpy as np
>>> X = np.random.random((10,2,2,2))
>>> y = np.random.random((10,2,2,2))
>>> X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=3)
>>> error "Found array with dim 4d. Expected <= 2"
使用相同的 X 和 y 我得到相同的错误。
>>> mse = metrics.mean_squared_error
>>> mse(X,y)
>>> error "Found array with dim 4d. Expected <= 2"
如果我转到 sklearn.utils.validation.py 并注释掉第 272、273 和 274 行,如下所示,一切正常。
# if array.ndim >= 3:
# raise ValueError("Found array with dim %d. Expected <= 2" %
# array.ndim)
为什么数组的维度限制为 2?
【问题讨论】: