Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“如何避免错误”;TypeError:einsum的数据类型无效;用Python_Python_Python 2.7_Numpy_Pandas_Machine Learning - Fatal编程技术网

“如何避免错误”;TypeError:einsum的数据类型无效;用Python

“如何避免错误”;TypeError:einsum的数据类型无效;用Python,python,python-2.7,numpy,pandas,machine-learning,Python,Python 2.7,Numpy,Pandas,Machine Learning,我尝试将CSV文件加载到numpy数组,并在LogisticRegression等中使用该数组。现在,我遇到的错误如下所示: import numpy as np import pandas as pd from sklearn import preprocessing from sklearn.linear_model import LogisticRegression dataset = pd.read_csv('../Bookie_test.csv').values X =

我尝试将CSV文件加载到numpy数组,并在LogisticRegression等中使用该数组。现在,我遇到的错误如下所示:

import numpy as np
import pandas as pd

from sklearn import preprocessing
from sklearn.linear_model import LogisticRegression    

dataset =  pd.read_csv('../Bookie_test.csv').values
X = dataset[1:, 32:34]
y = dataset[1:, 14]

# normalize the data attributes
normalized_X = preprocessing.normalize(X)
# standardize the data attributes
standardized_X = preprocessing.scale(X)

model = LogisticRegression()
model.fit(X, y)
print(model)
# make predictions
expected = y
predicted = model.predict(X)
# summarize the fit of the model
print(metrics.classification_report(expected, predicted))
print(metrics.confusion_matrix(expected, predicted))
我有一个错误:

> C:\Anaconda32\lib\site-packages\sklearn\utils\validation.py:332:
> UserWarning: The normalize function assumes floating point values as
> input, got object   "got %s" % (estimator, X.dtype)) Traceback (most
> recent call last):   File
> "X:/test3.py", line 23, in
> <module>
>     normalized_X = preprocessing.normalize(X)   File "C:\Anaconda32\lib\site-packages\sklearn\preprocessing\data.py", line
> 553, in normalize
>     norms = row_norms(X)   File "C:\Anaconda32\lib\site-packages\sklearn\utils\extmath.py", line 65,
> in row_norms
>     norms = np.einsum('ij,ij->i', X, X) TypeError: invalid data type for einsum
>C:\Anaconda32\lib\site packages\sklearn\utils\validation.py:332:
>UserWarning:normalize函数假定浮点值为
>输入,获取对象“获取%s”%(估计器,X.dtype))回溯(most
>最近调用(最后一次):文件
>“X:/test3.py”,第23行,在
> 
>normalized_X=preprocessing.normalize(X)文件“C:\Anaconda32\lib\site packages\sklearn\preprocessing\data.py”,第行
>553,正常化
>norms=row_norms(X)文件“C:\Anaconda32\lib\site packages\sklearn\utils\extmath.py”,第65行,
>第四行规范
>norms=np.einsum('ij,ij->i',X,X)类型错误:einsum的数据类型无效
我是Python新手,不喜欢转换:

  • 将CSV加载到熊猫
  • 把熊猫变成裸体
  • 在逻辑回归中使用NumPy
  • 有没有简单的方法,比如:

  • 给熊猫的食物
  • 在ML方法中使用数据帧

  • 关于主要问题,感谢Evert的建议,我将进行检查

    关于#2:我发现了很棒的教程


    我不明白你问题的后半部分与前半部分有什么关系。错误信息非常清楚:“normalize函数假定浮点值作为输入,got object”,因此您应该检查您在数据集中读取的内容。文件中的所有内容是否都是数字,可以通过
    read\u csv
    正确解析为数字?在加载csv时是否有机会跳过/忽略非
    number
    ?文档提供了几十种读取\u csv的选项;你试过和他们玩吗?