如何在scikit中计算回归的成本函数学习



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

这是我的代码:

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:UsersselaiAnaconda3libsite-packagespandascoreops__init__.py", line 450, in masked_arith_op
assert is_scalar(y), type(y)
AssertionError: <class 'sklearn.linear_model.base.LinearRegression'>

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))))

最新更新