0
私はそれが私が知っている予測子を持つデータセットを使用してextreme gradient boosting algorithm
(Xgboost)
で実行しているテストデータを持っています。予測力、モデルの予測は関係なく、予測値の値の定数であるにもかかわらず:テストの$ pred_resが同じ値を持っていることをXgboostは、異なる説明変数に関係なく、同じ予測結果をもたらします。
library(data.table)
require(xgboost)
library(Matrix)
sparse_matrix_train = sparse.model.matrix(clicked~.-1, data = train)
sparse_matrix_train2 = sparse.model.matrix(clicked~., data = test)
bst <- xgboost(data = sparse_matrix2, label = test2$clicked, max.depth = 2,
eta = 0.3, nthread = 20, nround = 5,objective = "binary:logistic")
sparse_matrix_test = sparse.model.matrix(~., data = test)
test$pred_res<- predict(bst, sparse_matrix_test)
お知らせ:
test$pred_res
[1] 0.2937567 0.2937567 0.2937567 0.2937567 0.2937567 0.2937567 0.2937567 0.2937567 0.2937567
[10] 0.2937567
誰かがelaborてくださいすることができこれを食べましたか?
データは
train <- structure(list(clicked = c(0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L,
1L), prediction = c(0.116741800132, 0.148609212057, 0.27496222789,
0.0284488735744, 0.234446058524, 0.405107420156, 0.122376142849,
0.126600568099, 0.0636921765101, 0.385909171908), pred_res = c(0.293756693601608,
0.293756693601608, 0.293756693601608, 0.343792468309402, 0.293756693601608,
0.293756693601608, 0.293756693601608, 0.293756693601608, 0.293756693601608,
0.293756693601608)), .Names = c("clicked", "prediction", "pred_res"),
row.names = c(NA, -10L), class = c("data.table", "data.frame"),
.internal.selfref = <pointer: 0x1547c18>)
test <- structure(list(prediction = c(0.0553382017171, 0.158500277487,
0.155315011347, 0.118212821075, 0.0795492263212, 0.0272566752275,
0.159516005352, 0.218685440776, 0.0562459472969, 0.178293801444),
pred_res = c(0.293756693601608, 0.293756693601608, 0.293756693601608,
0.293756693601608, 0.293756693601608, 0.293756693601608, 0.293756693601608,
0.293756693601608, 0.293756693601608, 0.293756693601608)),
.Names = c("prediction","pred_res"), row.names = c(NA, -10L),
class = c("data.table","data.frame"), .internal.selfref = <pointer: 0x1547c18>)
助けてくれてありがとう、私の編集を参照してください –
あなたの編集を見ることができませんでした。 –
申し訳ありませんが、あなたの編集を見ることができませんでした。エラーを再現しやすい方法で質問を書くことをお勧めしますか?あなたの「列車」と「テスト」セットなどは掘り起こすことができますが、なぜ他の人が手助けしやすくなるのでしょうか?したがって、最初のライブラリ(xgboost)、次に 'train'をdata.frameまたはmatrix形式のいずれかに設定し、次に使用したコードと同様に 'test'を設定します。理想的には、質問をRにコピー&ペーストして出力を見ることができるはずです。あなたの質問とデータでそれをやってください。今ここに立っているので、あなたは私が何を意味しているか見ることができます。 –