小编dan*_*014的帖子

如何在scikit-learn中创建/自定义自己的得分手功能?

我使用支持向量回归作为GridSearchCV中的估算器.但我想改变错误函数:而不是使用默认值(R平方:确定系数),我想定义我自己的自定义错误函数.

我尝试用一​​个make_scorer,但它没有用.

我阅读了文档并发现可以创建自定义估算器,但我不需要重新制作整个估算器 - 只有错误/评分函数.

我认为我可以通过将可调用者定义为得分者来实现,就像在文档中所说的那样.

但我不知道如何使用估算器:在我的情况下SVR.我是否必须切换到分类器(例如SVC)?我将如何使用它?

我的自定义错误功能如下:

def my_custom_loss_func(X_train_scaled, Y_train_scaled):
    error, M = 0, 0
    for i in range(0, len(Y_train_scaled)):
        z = (Y_train_scaled[i] - M)
        if X_train_scaled[i] > M and Y_train_scaled[i] > M and (X_train_scaled[i] - Y_train_scaled[i]) > 0:
            error_i = (abs(Y_train_scaled[i] - X_train_scaled[i]))**(2*np.exp(z))
        if X_train_scaled[i] > M and Y_train_scaled[i] > M and (X_train_scaled[i] - Y_train_scaled[i]) < 0:
            error_i = -(abs((Y_train_scaled[i] - X_train_scaled[i]))**(2*np.exp(z)))
        if X_train_scaled[i] > M and Y_train_scaled[i] …
Run Code Online (Sandbox Code Playgroud)

python scikit-learn

30
推荐指数
2
解决办法
2万
查看次数

标签 统计

python ×1

scikit-learn ×1