偽陰性よりも偽陽性のコストが高いバイナリ変数を分類したいと考えています。
rpart
パッケージでは、損失行列 を使用します。負の例を正として誤分類するコストを追加するparms = list(loss=matrix(c(0,1,5,0),nrow=2))
と、正の例を負として誤分類するコストの 5 倍になります。
どうすればそれを行うことができXGboost
ますか?
偽陰性よりも偽陽性のコストが高いバイナリ変数を分類したいと考えています。
rpart
パッケージでは、損失行列 を使用します。負の例を正として誤分類するコストを追加するparms = list(loss=matrix(c(0,1,5,0),nrow=2))
と、正の例を負として誤分類するコストの 5 倍になります。
どうすればそれを行うことができXGboost
ますか?
xgboostパッケージを使用していると仮定すると、watchlist
パラメーターを使用できます。これは のリストでxgb.DMatrix
、それぞれに名前が付けられています。eval.metric パラメータを使用できます。複数の評価指標も使用できます。
watchlist <- list(train=dtrain, test=dtest)
bst <- xgb.train(data=dtrain, max.depth=2, eta=1, nthread = 2,
eval.metric = "error", eval.metric = "logloss", nround=2,
watchlist=watchlist, objective = "binary:logistic")
xgboost github ページのメトリックの広範なリストがニーズに十分でない場合は、独自のメトリックを生成できると言われています。