前提・実現したいこと
lightgbmでランキング学習をさせました。
発生している問題・エラーメッセージ
見よう見まねで実施して、lightgbmの学習は終わったのですが、
predictしたデータの味方がわかりません。
ランク学習のモチベーション
データを渡して、1−6位のどれに当たるかを予測したい。
作成したデータ
データ1、データ2、データ3、rank, QueryID
1234,30.00,40.00,0,540
1226,20.50,35.33,1,540
エラーメッセージ
python
1ソースコード 2```### 該当のソースコード 3 # LightGBM のハイパーパラメータ 4 lgbm_params = { 5 'task': 'train' , 6 'boosting_type': 'gbdt', 7 'objective': 'lambdarank', 8 'metric': 'ndcg', 9 'ndcg_eval_at': [1, 2, 3, 4, 5, 6], 10} 11 model = lgb.train( 12 lgbm_params, 13 lgb_train, 14 "評価用データを渡す 15 valid_sets = [lgb_train, lgb_val], 16 "最大で 1000 ラウンド学習する 17 num_boost_round=1000, 18 "学習を打ち切る 19 early_stopping_rounds=40) 20 21y_pred = model.predict( 22 raw_score = True, 23 data = x_val, 24 num_iteration=model.best_iteration) 25 26### 試したこと 27 28y_predと、教師データのDFを作成して読み込みましたが、そもそもaccuracy 55%程度のため、余計混乱しました。 29539、540がクエリID, -0.019...がy_pred , trueが教師データです。 30例えば540だとどれが、それぞれのpredがどのランクと予測されているのかを知りたいです。 31qid pred true 320 539 -0.019947 1 331 539 0.098026 5 342 539 -0.039070 0 354 540 0.113538 5 365 540 -0.095821 1 376 540 -0.029901 0 387 540 -0.078442 4 398 540 -0.094537 2 409 540 -0.043867 3 4110 541 0.019033 0 4211 541 0.002650 1 4312 541 -0.089829 2 4413 541 -0.042810 4 4514 541 0.059947 5 4615 541 -0.001685 3 47 48 49### 補足情報(FW/ツールのバージョンなど) 50 51ここにより詳細な情報を記載してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。