import pandas as pd
import numpy as np
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split # Este modelo nos ayudara a hacer la división entre el modelo de training y de test
df = pd.read_csv('/work/cancerdata.csv')
df.head()
X = df.iloc[:,2:] # Variables numéricas. En este modelo representan las variables independientes que explicaran la variable categórica.
Y = df.iloc[:,1] # Variable Categórica. La que queremos predecir. La que nos indicara si el cancer es benigno o maligno.
X.head()
Y.value_counts()
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 0.3, random_state = 4)
modelo = DecisionTreeClassifier()
modelo.fit(X_train, Y_train)
resultado = modelo.score(X_test, Y_test)
print(resultado) # con esto vamos a ver cual es la precisión de nuestro modelo en porcentaje.
# Validación cruzada k fold
from sklearn.model_selection import KFold
modelo = DecisionTreeClassifier()
kfold_validacion = KFold(10) # Acá indicamos cuantos fold queremos. En nuestro caso elegimos 10.and
from sklearn.model_selection import cross_val_score
resultados = cross_val_score(modelo, X, Y, cv = kfold_validacion)
print(resultados)
resultados.mean() # para ver el promedio de los resultados