JMP18 Python スクリプトを使用して機械学習モデリングを実行するにはどうすればよいですか?こんにちは、
私は、JMP Python スクリプト (JMP18) を使用して LightGBM モデルを作成中です。
現在の設定は次のとおりです。
- X 変数: "train1.csv" ファイル、列 D1 から D1776
- Y変数:「y1.csv」ファイル、「アクティビティ」列
- 予測ターゲット「アクティビティ」: 「test1.csv」ファイル、列 D1 から D1776
- 注: 元のファイル「train_original.csv」、列 Activity から D1776。Kaggle.com ( 生物学的反応の予測)より
以下の問題について誰かがアドバイスをくだされば幸いです。
- JMP18 Python環境ではLightGBMモデリングを実行できません
参考までに、以下に JMP Python スクリプトを記載しました。詳細については以下を参照してください。
事前にお時間をいただきありがとうございます! : )
import jmp
import jmputils
# update to latest version of pip (Package Installer of python) and setuptools then install numpy & pandas
jmputils.jpip('install --upgrade', 'pip setuptools')
jmputils.jpip('install', 'pandas numpy scikit-learn keras lightgbm')
# Import package
import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)
# Load data
train1 = pd.read_csv('D:/steve.kim/Kaggle/BI Biological Response/train1.csv')
y1 = pd.read_csv('D:/steve.kim/Kaggle/BI Biological Response/y1.csv')
test1 = pd.read_csv('D:/steve.kim/Kaggle/BI Biological Response/test1.csv')
train1.head() # No Result in JMP, but it's okay. It's fine to open the datatable using 'jmp.open'
y1.head() # No Result in JMP, but it's okay. It's fine to open the datatable using 'jmp.open'
# train1 = jmp.open('D:/steve.kim/Kaggle/BI Biological Response/train1.csv')
# y1 = jmp.open('D:/steve.kim/Kaggle/BI Biological Response/y1.csv')
# 01 Modeling training - Library import
from lightgbm import LGBMClassifier
# 02 Modeling training - LGBM Baseline model without hyperparameter tuning
lgb = LGBMClassifier()
# 03 Modeling training - define X (factors) and Y (responses) variables
lgb.fit(train1, y1) # lightgbm.basic.LightGBMError: Length of labels differs from the length of #data
# 04 Predict
predslgb = lgb.predict_proba(test1)
予測モデリングと機械学習Re: JMP18 Python スクリプトを使用して機械学習モデリングを実行するにはどうすればよいですか?
この質問については申し訳ありません!
Python pandas と lightGBM は JMP18 Python スクリプトで正常に動作しています! : )
import jmp
import jmputils
# update to latest version of pip (Package Installer of python) and setuptools then install numpy & pandas
jmputils.jpip('install --upgrade', 'pip setuptools')
jmputils.jpip('install', 'pandas numpy scikit-learn keras lightgbm')
# Checking package version
jmputils.jpip('list')
# Import package
import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)
# Any results you write to the current directory are saved as output.
import os
print (os.listdir("D:/steve.kim/Kaggle/BI Biological Response"))
# Load data
train_x = pd.read_csv('D:/steve.kim/Kaggle/BI Biological Response/train_x.csv')
print(train_x.head())
train_y = pd.read_csv('D:/steve.kim/Kaggle/BI Biological Response/train_y.csv')
print(train_y.head())
test_x = pd.read_csv('D:/steve.kim/Kaggle/BI Biological Response/test_x.csv')
print(test_x)
# Modeling
from lightgbm import LGBMClassifier
lgb = LGBMClassifier(colsample_bytree=0.6, subsample=0.8)
lgb.fit(train_x, train_y)
preds_lgb = lgb.predict_proba(test_x)
sub_lgb = pd.read_csv('D:/steve.kim/Kaggle/BI Biological Response/test_y.csv')
sub_lgb["Activity"] = preds_lgb[:,1]
print(sub_lgb.head())
test_answer = pd.read_csv('D:/steve.kim/Kaggle/BI Biological Response/test_answer.csv')
# Evaluation
from sklearn.metrics import mean_absolute_error, mean_squared_error, mean_absolute_percentage_error
print('LightGBM MAE')
print(mean_absolute_error(test_answer, sub_lgb))
print('LightGBM MSE')
print(mean_squared_error(test_answer, sub_lgb))Re: JMP18 Python スクリプトを使用して機械学習モデリング (LGBM) を実行するにはどうすればよいですか?ああ... コード 'head()' は、Jupyter ノートブックではなくターミナル環境として考えてみると、正常に動作しています。
y1 = pd.read_csv('D:/steve.kim/Kaggle/BI Biological Response/y1.csv')
print(y1.head()) すると、埋め込まれたログからコードの結果を取得できます。
だから残りの問題も解決できると思います。
Activity
0 1
1 1
2 1
3 1
4 1