Created
May 16, 2024 14:33
-
-
Save cslemes/bdd2bde59ff707232bbf043cce876d9f to your computer and use it in GitHub Desktop.
Treinando a arvore
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# %% | |
import pandas as pd | |
df = pd.read_csv("../data/dados_pontos.csv", | |
sep=";") | |
# %% | |
from sklearn import model_selection | |
features = df.columns[3:-1] | |
target = 'flActive' | |
X_train, X_test, y_train, y_test = model_selection.train_test_split(df[features], | |
df[target], | |
test_size=0.2, | |
random_state=42, | |
stratify=df[target] | |
) | |
print("Tx Resposta Treino:", y_train.mean()) | |
print("Tx Resposta Teste:", y_test.mean()) | |
# %% | |
from sklearn import tree, metrics | |
# Arqui a gente treina | |
arvore = tree.DecisionTreeClassifier(max_depth=10, | |
min_samples_leaf=50, | |
random_state=42) | |
arvore.fit(X_train, y_train) | |
# Aqui a gente prevê na propria base de treino | |
tree_pred_train = arvore.predict(X_train) | |
tree_acc_train = metrics.accuracy_score(y_train, tree_pred_train) | |
print("Arvore Train Acc :", tree_acc_train) | |
# Aqui a gente preve a base de teste | |
tree_pred_test = arvore.predict(X_test) | |
tree_acc_test = metrics.accuracy_score(y_test, tree_pred_test) #metrics.accuracy_score(y_test, tree_pred_train) | |
print("Arvore Test Acc:", tree_acc_test) | |
# probas | |
tree_proba_train = arvore.predict_proba(X_train)[:,1] | |
tree_acc_train_roc = metrics.roc_auc_score(y_train, tree_proba_train) | |
print("Arvore Train AUC:", tree_acc_train_roc) | |
tree_proba_test = arvore.predict_proba(X_test)[:,1] | |
tree_acc_test_roc = metrics.roc_auc_score(y_test, tree_proba_test) | |
print("Arvore Test AUC:", tree_acc_test_roc) | |
# %% | |
# Exemplo teo | |
y_test.mean() | |
y_teo = [0 for i in y_test] | |
acc_teo = metrics.accuracy_score(y_test, y_teo) | |
acc_teo | |
# %% |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment