質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Python

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

データマイニング

データマイニングは、購買履歴やクレジットカードの利用履歴、電話の通話履歴など企業にある大量のデータを解析して、その中に隠れたパターンやルールを探し出す技術です。DMと略されることもあります。

Q&A

0回答

929閲覧

Python LightGBMの実装方法

minyo

総合スコア3

Python

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

データマイニング

データマイニングは、購買履歴やクレジットカードの利用履歴、電話の通話履歴など企業にある大量のデータを解析して、その中に隠れたパターンやルールを探し出す技術です。DMと略されることもあります。

0グッド

0クリップ

投稿2021/10/25 11:47

編集2021/10/25 11:49

LightGBMを使用し、パソコンのスペックから、パソコンの価格を予想したいです。
パソコンの価格がNanの列の予想を行いたいです。データの前処理の段階で、Nanを0に置換しています。
価格以外の欠損値を含むデータは削除しています。
最後のテストデータにおける予測の部分で、価格が分からないデータの価格を予測できるの思うのですが、上手く予測できません。LightGBMで学習後の、予測方法について教えていただきたいです。

Pythonここに言語を入力

1#all_price!=1の行の抽出 2train_df = data_df[data_df.all_price!=0] 3#data_dfを学習データとテストデータに分ける 4train_X = data_df[data_df["all_price"]!=0].drop("all_price",axis=1).reset_index(drop=True) 5train_Y = train_df["all_price"] 6test_X = data_df[data_df["all_price"]==0].drop("all_price",axis=1).reset_index(drop=True) 7 8!pip install lightgbm 9import lightgbm as lgb 10from sklearn.model_selection import train_test_split 11from sklearn.model_selection import KFold 12#学習データの20%を検証データとする 13X_train,X_valid,y_train,y_valid = train_test_split(train_X,train_Y,test_size=0.2) 14#カテゴリ変数の指定 15categories = ["memory","storage","OS","CPU","CPUscore","weight","time","size"] 16lgb_train = lgb.Dataset(X_train,y_train,categorical_feature=categories) 17lgb_eval = lgb.Dataset(X_valid,y_valid,categorical_feature=categories,reference=lgb_train) 18#ハイパーパラメータの設定 19lgbm_params = {"objective":"binary", 20 "random_seed":1234 21 } 22model_lgb = lgb.train(lgbm_params, 23 lgb_train, 24 valid_sets=lgb_eval, 25 num_boost_round=100, 26 early_stopping_rounds=20, 27 verbose_eval=10) 28#クロスバリデーションで学習する 29folds = 3 30kf = KFold(n_splits=folds) 31#予測精度の計測 32from sklearn.metrics import accuracy_score 33models = [] 34 35for train_index,val_index in kf.split(train_X): 36 X_train = train_X.iloc[train_index] 37 X_valid = train_X.iloc[val_index] 38 y_train = train_Y.iloc[train_index] 39 y_valid = train_Y.iloc[val_index] 40 41 lgb_train = lgb.Dataset(X_train,y_train, 42 categorical_feature = categories 43 ) 44 lgb_eval = lgb.Dataset(X_valid,y_valid, 45 categorical_feature = categories, 46 reference = lgb_train) 47 model_lgb = lgb.train(lgbm_params,lgb_train, 48 valid_sets = lgb_eval, 49 num_boost_round = 100, 50 early_stopping_rounds = 20, 51 verbose_eval = 10, 52 ) 53#テストデータにおける予測 54preds = [] 55for model in models: 56 pred = model.predict(test_X) 57 preds.append(pred)

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2021/10/29 22:40

import 部分と、最小限のサンプル(CSV)を掲載できますか? CSVであれば、以下のようにすれば中身を掲載できます。 ```CSV 1,2,3 4,5,6 ```
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問