英文:
pycaret export train and test before and after transformation
问题
I am trying to build a ML model using pycaret. I used the below setup function
clf = setup(data=df.loc[:, df.columns != 'ID'], target='final_label', session_id=123, categorical_features=['Gender', 'Country'], fold_strategy='stratifiedkfold', fold=5, fold_shuffle=True, n_jobs=-1, create_clusters=False, polynomial_features=False, polynomial_degree=2, trigonometry_features=False, polynomial_threshold=0.1, remove_multicollinearity=True, multicollinearity_threshold=0.90)
This initializes the process with a list of variables from which I wish to extract transformed_train_set and transformed_test_set
I would like to export the train and test data before and after transformation, but pycaret doesn't have any way to export this data?
When I try the code below:
train_data = predict_model(rft, data=X_train, raw_score=True)
train_data['phase'] = 'train'
test_data = predict_model(rft, data=X_test, raw_score=True)
test_data['phase'] = 'test'
it throws an error:
NameError: name 'X_train' is not defined
英文:
I am trying to build a ML model using pycaret. I used the below setup function
clf = setup(data = df.loc[:, df.columns != 'ID'], target='final_label',session_id=123,
categorical_features=['Gender','Country'],
fold_strategy='stratifiedkfold',
fold=5, fold_shuffle=True, n_jobs=-1,
create_clusters=False,polynomial_features=False,
polynomial_degree=2, trigonometry_features=False, polynomial_threshold=0.1,
remove_multicollinearity=True, multicollinearity_threshold=0.90)
This initializes the process with list of variables from which I wish to extract transformed_train_set and transformed_test_set
I would like to export the train and test data before and after transformation but pycaret doesn't have any way to export this data?
When I try the code below:
train_data = predict_model(rft,data = X_train,raw_score=True)
train_data['phase'] = 'train'
test_data = predict_model(rft,data = X_test,raw_score=True)
test_data['phase'] = 'test'
it throws error:
NameError: name 'X_train' is not defined
答案1
得分: 2
你可以使用get_config(variable)
在转换前后导出训练和测试数据。
from pycaret.datasets import get_data
from pycaret.classification import *
data = get_data('diabetes', verbose=False)
s = setup(data, target='Class variable', session_id=123, normalize=True, verbose=False)
rf = create_model('rf')
# 获取所有可用参数
get_config()
X_train = get_config('X_train')
X_train_transformed = get_config('X_train_transformed')
X_test = get_config('X_test')
X_test_transformed = get_config('X_test_transformed')
train_data = predict_model(rf, data=X_train, raw_score=True)
train_data['phase'] = 'train'
train_transformed_data = predict_model(rf, data=X_train_transformed, raw_score=True)
train_transformed_data['phase'] = 'train_transformed'
test_data = predict_model(rf, data=X_test, raw_score=True)
test_data['phase'] = 'test'
test_transformed_data = predict_model(rf, data=X_test_transformed, raw_score=True)
test_transformed_data['phase'] = 'test_transformed'
请注意,这是代码的翻译部分。
英文:
You can export the train and test data before and after transformation using get_config(variable)
.
<!-- language: lang-py -->
from pycaret.datasets import get_data
from pycaret.classification import *
data = get_data('diabetes', verbose=False)
s = setup(data, target = 'Class variable', session_id = 123, normalize=True, verbose=False)
rf= create_model('rf')
# check all available param
get_config()
X_train = get_config('X_train')
X_train_transformed = get_config('X_train_transformed')
X_test = get_config('X_test')
X_test_transformed = get_config('X_test_transformed')
train_data = predict_model(rf, data = X_train,raw_score=True)
train_data['phase'] = 'train'
train_transformed_data = predict_model(rf, data = X_train_transformed,raw_score=True)
train_transformed_data['phase'] = 'train_transformed'
test_data = predict_model(rf, data = X_test,raw_score=True)
test_data['phase'] = 'test'
test_transformed_data = predict_model(rf, data = X_test_transformed,raw_score=True)
test_transformed_data['phase'] = 'test_transformed'
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论