🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
XGBoost

XGBoostは、アンサンブル学習と決定木を組み合わせた手法です。弱学習器の構築時に、以前構築された弱学習器の結果を用いて弱学習器を構築。高度な汎化能力を持ち、勾配ブースティングとも呼ばれています。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

10486閲覧

LightGBMのエラー:「The number of features in data (3) is not the same as it was in training data (4).」

omixin

総合スコア58

XGBoost

XGBoostは、アンサンブル学習と決定木を組み合わせた手法です。弱学習器の構築時に、以前構築された弱学習器の結果を用いて弱学習器を構築。高度な汎化能力を持ち、勾配ブースティングとも呼ばれています。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/01/05 03:34

PythonにてLightGBMを試しています。
ランキング学習をさせるため、lambdarankを試しているのですが、設定ファイルを作っていざ読み込ませようとしたところ、表題のエラーが出てきてしまいうまくいきません。
まだサンプル(https://github.com/microsoft/LightGBM/tree/master/examples/lambdarank)でしか動かせていない状態で、自作ファイルでは動いていないという状況となっています。
どこを参照すればエラー解決になりそう、のようなヒントでもよいので教えていただけないでしょうか。

作成したファイルをzip圧縮したものを、こちらからもダウンロードできるようにしてあります。(保管期間は2日間)
・rank.train
・rank.train.query
・rank.test
・rank.test.query
https://xfs.jp/znzZH2

【補足:ランキング学習とは】

例えば、競馬でレースごとに各馬の順位などを予測するときに活用できます。
レースの各回ごとに各馬や騎手などのデータをひとまとまりとして学習し、そのひとまとまりの単位はqueryと呼ばれます。
レースごとに出場する馬の数が異なっていても学習できるように設計されています。
マイクロソフトが提供する、LightGBMでもobjective = lambdarank とすることでランキング学習を行うことができます。
ランキング学習では評価手法としてNDCG@Kがよく用いられ、LightGBM:lamdarankのデフォルト設定としてもmetric = ndcgが設定されています。
LightGBMのインストール設定やQuickStartについてもこちらの公式ページから確認できます。
https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html
ご参考にください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

lightgbmの学習時に使ったデータと予測時に使うデータのカラムは同じでなければなりません。
このエラーは、学習データには4カラムあったのに予測データには3カラムしかないと言っています

投稿2020/01/05 03:43

gnbrganchan

総合スコア438

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

omixin

2020/01/05 03:53

回答ありがとうございます。 確かにエラーはそういう意味になりますね... 作成したデータは確かにどちらも特徴量は4つまでを設定しているのですがなぜでしょう.. また、特徴量がnullの場合はサンプルにならって飛ばしているのですが、本当にこれが正しいのか、その記述を公式ページ内には確認できておりません。(例えば2番目の特徴量がnullの場合は[2:null]などのようにそのことをわざわざ書いたりはしません) そういった部分も参照できる場所があれば共有いただけると幸いです。。
omixin

2020/01/05 03:54

作成したファイルはリンクからダウンロードできると思います。中身も確認していただければわかると思うのですが。。 自分の設定ファイルの作り方がどこかおかしいのですよね、きっと。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問