Python Numpy: операнды не могли транслироваться вместе с формами

Я получаю эту ошибку «операнды не могут быть переданы вместе с фигурами» для этого кода

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)

Ошибка в строке print mse(x,y)

Ошибка ValueError:

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

person shivram    schedule 13.01.2015    source источник


Ответы (1)


Изменить форму 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)
person mty    schedule 13.01.2015
comment
отлично работает! Но я пытаюсь, чтобы и model.score, и mse возвращали одно и то же значение, чего не происходит. - person shivram; 13.01.2015
comment
Да, возможно, стоит проверить определение оценки здесь. - person mty; 14.01.2015