Python [module sklearn]:尝试规范化数据时出错

时间:2015-03-17 19:51:20

标签: python python-3.x normalization

我有以下数组:

myarray

array([4805, 5019, 5066, 5033, 5089, 5068, 5103, 5111, 5098, 5112, 5036,
   5010])

我正在尝试使用sklearn函数

来规范化数据
sklearn.preprocessing.normalize(myarray)

我收到以下错误消息

/...python3.4/site-packages/sklearn/preprocessing/data.py in normalize(X, norm, axis, copy)

551             norms[norms == 0.0] = 1.0
552         elif norm == 'l2':
--->553         norms = row_norms(X)
554             norms[norms == 0.0] = 1.0
555         X /= norms[:, np.newaxis]

/.../python3.4/site-packages/sklearn/utils/extmath.py in row_norms(X, squared)
 63         norms = csr_row_norms(X)
 64     else:
---> 65         norms = np.einsum('ij,ij->i', X, X)
 66 
 67     if not squared:

ValueError: einstein sum subscripts string contains too many subscripts for operand 0

我将数组转换为pandas.Series但我仍然收到相同的错误消息。

非常感谢任何建议。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。我在这个领域没有很多经验,但我认为这是因为normalize需要一个矩阵。如果您要对列表进行规范化,请查看Normalizing a list of numbers in Python