如何在scikit-learn中计算成本函数以进行回归

问题描述

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

这是我的代码

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...