【问题标题】:LinearRegression() with odds y概率为 y 的 LinearRegression()
【发布时间】:2020-09-11 13:58:36
【问题描述】:

我有以下 knn 模型的 train_sizes 和准确度:

train_sizes = [100, 200, 400, 800, 1600, 3200, 6400, 12800, 25600]
accuracies = [0.702, 0.791, 0.811, 0.866, 0.905, 0.927, 0.939, 0.952, 0.963]

我想用 x 计算赔率 (y)=y/(1-y):

# First we traspose the features
X = np.array(train_sizes)[:,np.newaxis]
y = np.array(accuracies)[:,np.newaxis]

#Transform Y, using odds(y)=y/(1-y)
odds_y=y/(1-y)
regression_model = LinearRegression()
regression_model.fit(X, odds_y)
Accuracy_oddsy = regression_model.predict([[60000],[120000],[1000000]])
print('Accuracy for n = 60000, 120000, and 1000000 are:', Accuracy_oddsy)

但我的准确度计算似乎有误,因为它们远远超过 1。您能帮我更改代码以使用赔率 (y) 预测准确度吗?谢谢!

【问题讨论】:

    标签: python-3.x scikit-learn linear-regression


    【解决方案1】:

    您需要将odds_y 转换回y

    Accuracy_oddsy/(1+Accuracy_oddsy)
    

    输出:

    array([[0.98329271],
           [0.99111439],
           [0.99887043]])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-01
      • 2021-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-10
      • 2013-02-05
      • 2021-05-11
      相关资源
      最近更新 更多