问题描述
我正在尝试进行线性回归,但不知道计算成本函数:
这是我的代码:
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'>
解决方法
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))))