Scikit learn TypeError:不可损坏的类型
我用sklearn编写了一小段代码来做线性回归 我创建了一个2列csv文件(列名称X,Y和一些数字)和 当我读取文件时,我看到内容被正确读取-如下所示 但是,当我尝试使用命令Scikit learn TypeError:不可损坏的类型,scikit-learn,sklearn-pandas,Scikit Learn,Sklearn Pandas,我用sklearn编写了一小段代码来做线性回归 我创建了一个2列csv文件(列名称X,Y和一些数字)和 当我读取文件时,我看到内容被正确读取-如下所示 但是,当我尝试使用命令datafile[:,:]或datafile[:,-1]引用列时,出现“unhable type”错误 当我尝试使用X作为响应,Y作为sklearn线性回归中的预测值时,我得到的值误差如下所示 我在网上查看了一下,但无法找出我的代码或文件有什么问题。请帮忙 import pandas as pd datafile=pd.re
datafile[:,:]
或datafile[:,-1]
引用列时,出现“unhable type”错误
当我尝试使用X作为响应,Y作为sklearn线性回归中的预测值时,我得到的值误差如下所示
我在网上查看了一下,但无法找出我的代码或文件有什么问题。请帮忙
import pandas as pd
datafile=pd.read_csv('samplelinear.csv')
datafile
X Y
0 0 1.440000
1 1 33.220000
. . .
print datafile.__class__
<class 'pandas.core.frame.DataFrame'>
datafile[:,:]
TypeError: unhashable type
datafile[:,:1]
TypeError: unhashable type
from sklearn.linear_model import LinearRegression
model=LinearRegression()
model.fit(datafile.X,datafile.Y)
ValueError: Found arrays with inconsistent numbers of samples: [ 1 14]
将熊猫作为pd导入
datafile=pd.read\u csv('samplelinear.csv')
数据文件
xy
0 0 1.440000
1 1 33.220000
. . .
打印数据文件__
数据文件[:,:]
TypeError:不可损坏的类型
数据文件[:,:1]
TypeError:不可损坏的类型
从sklearn.linear\u模型导入线性回归
模型=线性回归()
model.fit(datafile.X,datafile.Y)
ValueError:找到样本数不一致的数组:[1 14]
如果要使用切片语法从数据帧中进行选择,则必须使用
data.iloc[:,:1]
对于第二个问题,X输入需要是一个矩阵,而不是一个向量,因此要么包含更多列,要么使用以下语法:
model.fit(pd.DataFrame(datafile.X), datafile.Y)
另一个较短的数据帧切片选项是:
data.ix[:,:1]
这已经被弃用了,我认为是支持iloc的位置切片和loc的标签切片。谢谢Michael的评论。这是准确的。