Wie kann ich mit dem JMP18-Python-Skript eine maschinelle Lernmodellierung durchführen?Hallo,
Ich arbeite an der Erstellung eines LightGBM-Modells mithilfe eines JMP-Python-Skripts (JMP18).
Mein aktuelles Setup ist wie folgt:
- X-Variablen: Datei „train1.csv“, Spalten D1 bis D1776
- Y-Variable: Datei „y1.csv“, Spalte „Aktivität“
- Prognoseziel „Aktivität“: Datei „test1.csv“, Spalten D1 bis D1776
- Hinweis: Originaldatei „train_original.csv“, Spalten „Aktivität“ bis „D1776“ von Kaggle.com ( Vorhersage einer biologischen Reaktion)
Ich wäre dankbar, wenn mir jemand bei den folgenden Problemen Hilfestellung geben könnte:
- LightGBM-Modellierung kann nicht in der JMP18-Python-Umgebung durchgeführt werden
Ich habe unten mein JMP-Python-Skript zu Ihrer Information beigefügt. Weitere Einzelheiten finden Sie im Folgenden.
Vielen Dank im Voraus für Ihre Zeit! : )
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)
Prädiktive Modellierung und maschinelles LernenBetreff: Wie kann ich mithilfe des JMP18-Python-Skripts ein maschinelles Lernmodell erstellen?
Entschuldigen Sie diese Frage!
Die Python-Pandas und LightGBM funktionieren gut im JMP18-Python-Skript! : )
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))Betreff: Wie kann ich mit dem JMP18-Python-Skript Machine Learning Modeling (LGBM) durchführen?Oh ... Der Code „head()“ funktioniert gut, wenn ich ihn als Terminalumgebung und nicht als Jupyter-Notebook betrachte!
y1 = pd.read_csv('D:/steve.kim/Kaggle/BI Biological Response/y1.csv')
print(y1.head()) dann kann ich das Codeergebnis aus dem eingebetteten Protokoll abrufen!
Ich denke also, dass ich auch den Rest lösen kann.
Activity
0 1
1 1
2 1
3 1
4 1