コード例 #1
0
def random_forest():
    preprocessor = pp.PreprocessingLE()
    model = RandomForestClassifier(random_state=pp.RANDOM_STATE,
                                   n_jobs=-1,
                                   max_depth=8,
                                   min_samples_leaf=1,
                                   min_samples_split=14,
                                   max_features=7)
    pipeline = Pipeline([("preprocessor", preprocessor), ("model", model)])
    return pipeline
コード例 #2
0
def xgboost():
    pipeline = Pipeline([("preprocessor", pp.PreprocessingLE()),
                         ("model",
                          XGBClassifier(use_label_encoder=False,
                                        scale_pos_weight=1,
                                        subsample=0.8,
                                        colsample_bytree=0.8,
                                        objective="binary:logistic",
                                        n_estimators=1000,
                                        learning_rate=0.01,
                                        n_jobs=-1,
                                        eval_metric="logloss",
                                        min_child_weight=6,
                                        max_depth=6,
                                        reg_alpha=0.05))])
    return pipeline
コード例 #3
0
from sklearn.pipeline import Pipeline
from sklearn.base import BaseEstimator, TransformerMixin

import random
seed = 100
np.random.seed(seed)
random.seed(seed)

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)
コード例 #4
0
ファイル: 4-XGBoost.py プロジェクト: AriVergara/datos-2c2020
import random
seed = 100
np.random.seed(seed)
random.seed(seed)

X, y = utils.importar_datos()

# ### Modelo 1

# - Label encoder para las categóricas
# - Hiperparámetros por defecto (se setean dos para que no tire warnings)

# Como primera aproximación, se utiliza el preprocesador utilizado en Random Forest (que usa Label Encoding para las variables categóricas) dado que este modelo también se encuentra basado en árboles. Se utilizan los parámetros por deafault.

pipeline = Pipeline([
    ("preprocessor", pp.PreprocessingLE()),
    ("model", XGBClassifier(use_label_encoder=False, eval_metric='logloss'))
])

# #### Metricas

utils.metricas_cross_validation(X, y, pipeline)

# ### Modelo 2

# - Se utiliza OHE para las categoricas
# - Se imputan los missings con la mediana en la edad
# - Se separa en dos bins la edad y el precio de ticket (se probó y da mejores resultados que no haciendolo).

pipeline = Pipeline([
    ("preprocessor", pp.PreprocessingXGBoost()),