最后一次输出执行有错

来源:3-4 回归分析实战

明天也爱你

2018-07-24 18:38

哪位大神帮我看一下那个地方出错了

https://img4.mukewang.com/5b57018a0001920f06740442.jpg

***********************************************

import numpy as np

from numpy.linalg import inv

from numpy import dot

from numpy import mat

import pandas as pd;


dataset = pd.read_csv('data.csv')

#print(dataset)


temp = dataset.iloc[:,2:5]

temp['X0']=1    #截距

X=temp.iloc[:,[3,0,1,2]]    #读取temp的第3,0,1,2列

#print(X)

#iloc[m,n]  m-行  n-列

Y=dataset.iloc[:,1].values.reshape(150,1)

#print(Y)


theta = dot(dot(inv(dot(X.T,X)),X.T),Y)

print(theta)


theta=np.array([1.,1.,1.,1.]).reshape(4,1)

alpha=0.1   #学习速率

X0=X.iloc[:,0].values.reshape(150,1)

X1=X.iloc[:,1].values.reshape(150,1)

X2=X.iloc[:,2].values.reshape(150,1)

X3=X.iloc[:,3].values.reshape(150,1)

for i in range(10000):

    temp[0]=theta[0] + alpha*np.sum((Y-dot(X,theta))*X0)/150.0

    temp[1]=theta[1] + alpha*np.sum((Y-dot(X,theta))*X0)/150.0

    temp[2]=theta[2] + alpha*np.sum((Y-dot(X,theta))*X0)/150.0

    temp[3]=theta[3] + alpha*np.sum((Y-dot(X,theta))*X0)/150.0

    theta=temp

print(theta)

***************************************************************

写回答 关注

2回答

  • 慕码人8156331
    2018-08-31 16:06:34

    在'alpha=0.1   #学习速率' 之前 加上 temp=theta

  • 慕粉4213436
    2018-07-30 21:52:58

    看报错信息,长度不匹配。

    明天也爱你

    那怎么改呢?

    2018-07-31 17:35:40

    共 1 条回复 >

Python实现线性回归

掌握python进行线性回归分析的原理及编程实践

26151 学习 · 36 问题

查看课程

相似问题