0

我正在尝试进行线性回归,但不知道计算成本函数:

这是我的代码:

lr = LinearRegression()

lr.fit(X_train,y_train)  #X_train les caractéristiques et Y_train les données cibles 


#coef a1 et intercept a0

print(lr.coef_)
print(lr.intercept_)


###cost function 

def cout_fonction(X_train,y_train):
    
    m=len(y_train)
    return 1/(2*m)*np.sum((lr.fit(X_train,y_train)-y_train)**2)


print(cout_fonction(X_train,y_train))

####

错误:

  File "C:\Users\selai\Anaconda3\lib\site-packages\pandas\core\ops\__init__.py", line 450, in masked_arith_op
    assert is_scalar(y), type(y)

AssertionError: <class 'sklearn.linear_model.base.LinearRegression'>
4

1 回答 1

2

IIUC,您想获得mean_squared_error. 只需导入并计算它:

from sklearn.metrics import mean_squared_error
print("MSE on train {:.3f}".format(mean_squared_error(y_train, lr.predict(X_train))))

于 2020-10-25T11:36:32.680 回答