¿Cómo puedo realizar modelado de aprendizaje automático utilizando el script Python JMP18?Hola,
Estoy trabajando en la creación de un modelo LightGBM utilizando un script Python JMP (JMP18).
Mi configuración actual es la siguiente:
- Variables X: archivo "train1.csv", columnas D1 a D1776
- Variable Y: archivo "y1.csv", columna "Actividad"
- Objetivo de predicción "Actividad": archivo "test1.csv", columnas D1 a D1776
- Nota: Archivo original "train_original.csv", columnas Actividad hasta D1776, de Kaggle.com ( Predicción de una respuesta biológica)
Agradecería si alguien pudiera brindarme orientación sobre los siguientes problemas:
- No se puede realizar el modelado de LightGBM en el entorno de Python JMP18
A continuación, incluí mi script de Python de JMP para su referencia. Consulte lo siguiente para obtener más detalles.
¡Gracias de antemano por tu tiempo! : )
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)
Modelado predictivo y aprendizaje automáticoRe: ¿Cómo puedo realizar modelado de aprendizaje automático utilizando el script Python JMP18?
¡Disculpen por esta pregunta!
¡Los pandas de Python y lightGBM funcionan bien en el script de Python JMP18! : )
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: ¿Cómo puedo realizar modelado de aprendizaje automático (LGBM) utilizando el script Python JMP18?Oh... El código 'head()' funciona bien después de considerarlo como un entorno de terminal, no como el cuaderno Jupyter.
y1 = pd.read_csv('D:/steve.kim/Kaggle/BI Biological Response/y1.csv')
print(y1.head()) ¡Entonces puedo obtener el resultado del código del registro incorporado!
Así que creo que puedo resolver el resto de cosas también.
Activity
0 1
1 1
2 1
3 1
4 1