X, y = utils.importar_datos()

# ### Modelo 1

# - Preprocesamiento con LaberEncoding
# - Hiperparametros por defecto

preprocessor = pp.PreprocessingLE()
model = tree.DecisionTreeClassifier(random_state=pp.RANDOM_STATE)

pipeline = Pipeline([("preprocessor", preprocessor), ("model", model)])

# #### Metricas

utils.metricas_cross_validation(X, y, pipeline)

# ### Modelo 2

# - Preprocesamiento con OneHotEncoding
# - Hiperparametros por defecto

preprocessor = pp.PreprocessingOHE()
model = tree.DecisionTreeClassifier(random_state=pp.RANDOM_STATE)

pipeline = Pipeline([("preprocessor", preprocessor), ("model", model)])

# #### Metricas

utils.metricas_cross_validation(X, y, pipeline)
示例#2
0
random.seed(seed)

X, y = utils.importar_datos()

# ### Modelo 1

# - Se utilizan únicamente las variables categóricas genero, tipo_sala y nombre_sede para realizar la clasificación
# - Se probó agregando las columnas `edad_isna` y `fila_isna` pero el modelo no mejoró sus resultados.

pipeline_1 = Pipeline([("preprocessor", pp.PreprocessingCategoricalNB1()), 
                     ("model", CategoricalNB())
                     ])

# #### Metricas

utils.metricas_cross_validation(X, y, pipeline_1)

# ### Modelo 2

# - Se transforman las variables numéricas (precio_ticket y edad) en bins para poder utilizar solamente CategoricalNB.
# - Se realizan las mismas transformaciones que en el modelo anterior sobre las variables categóricas.
# - Se eliminaron las variables amigos y parientes debido a que no mejoraban el score del modelo.

pipeline_2 = Pipeline([("preprocessor", pp.PreprocessingCategoricalNB2()), 
                     ("model", CategoricalNB())
                     ])

# #### Metricas

utils.metricas_cross_validation(X, y, pipeline_2)
示例#3
0
    estimadores = [('svm', svm()), ('xgboost', xgboost()),
                   ('random_forest', random_forest())]
    cv = utils.kfold_for_cross_validation()
    stacking = StackingClassifier(
        estimators=estimadores,
        final_estimator=GaussianNB(var_smoothing=var_smoothing),
        stack_method="predict_proba",
        cv=cv)
    return stacking


stacking = stacking_gaussian()

# #### Metricas

utils.metricas_cross_validation(X, y, stacking)

# ### Modelo 2

# - Mismo tipo de ensamble
# - Mismo estimador final que en el modelo 1, pero se busca un mejor hiperparámetro para el GaussianNB.
#

stacking = stacking_gaussian()

# +
#params = {
#    'final_estimator__var_smoothing': [1e-9, 1e-7, 1e-6, 1e-3, 5e-3, 1e-2, 0.1, 0.3],
#    'xgboost__model__use_label_encoder': [False],
#    'xgboost__model__scale_pos_weight': [1],
#    'xgboost__model__subsample': [0.8],