Search code examples
python-2.7numpymean-square-error

Python Numpy : operands could not be broadcast together with shapes


I am getting this error "operands could not be broadcast together with shapes" for this code

import numpy as np
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
beantown = load_boston()
x=beantown.data
y=beantown.target
model = LinearRegression()
model = model.fit(x,y)

def mse(truth, predictions): 
    return ((truth - predictions) ** 2).mean(None)
print model.score(x,y)
print mse(x,y)

The error is on the line print mse(x,y)

Error is ValueError:

operands could not be broadcast together with shapes (506,13) (506,)

Solution

  • Reshape y:

    from sklearn.datasets import load_boston
    from sklearn.linear_model import LinearRegression
    beantown = load_boston()
    x = beantown.data
    y = beantown.target
    y = y.reshape(y.size, 1)
    model = LinearRegression()
    model = model.fit(x, y)
    
    
    def mse(truth, predictions):
        return ((truth - predictions) ** 2).mean(None)
    print model.score(x, y)
    print mse(x, y)