Machine-Learning
什麼是無‘信息率’算法?
我計劃實施“無信息率”作為匯總統計的一部分。這個統計是在 r 中實現的(優化 SVM 以避免二元分類中的假陰性),但不是在 Python 中(至少我找不到參考)。
有沒有我可以參考的規範參考來實現這個算法?
我搜索了 Wikipedia 和各種 Google 搜索,但沒有找到參考。
更新 :
閱讀插入符號文檔https://cran.r-project.org/web/packages/caret/caret.pdf
" 計算總體準確率以及該準確率的 95% 置信區間(使用 binom.test)和單邊測試以查看準確率是否優於“無信息率”,後者被認為是數據中最大的類別百分比。”
假設你有回應和協變量為了, 和一些損失函數. 模型的無信息錯誤率是平均損失在所有組合和:
如果您有一個預測
predicted
向量和一個響應向量,您可以通過生成所有組合然後在這些結果向量上評估某些函數response
來計算無信息錯誤率。predicted``response``loss
在 R 中,假設 RMSE 損失,(使用
tidyr
庫)這看起來像:predicted <- 1:3 response <- 4:6 loss <- function(x, y) sqrt(mean((x - y)^2)) combos <- tidyr::crossing(predicted, response) loss(combos$predicted, combos$response)
在 Python 中,這看起來像
import numpy as np predicted = np.arange(1, 4) response = np.arange(4, 7) combos = np.array(np.meshgrid(predicted, response)).reshape(2, -1) def loss(x, y): return np.sqrt(np.mean((x - y) ** 2)) loss(combos[0], combos[1])