Arbol de Decision (Decision Tree Classifier) en Python

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ก.ค. 2024
  • Más tutoriales en datons.ai/
    ---
    La parte donde calculamos la Predicción Paso a Paso es lo más importante, ahí os explicamos cómo llega el árbol a determinar la probabilidad de que una persona use internet o no.
    Outline:
    00:00 Introducción
    00:27 Cargar Datos & Seleccionar Variables
    01:53 Entrenar Modelo & Visualizarlo
    04:34 Calcular Predicción Paso a Paso
    07:21 Interpretar Modelo
    08:38 Precisión: Realidad vs Predicción

ความคิดเห็น • 126

  • @ESdatons
    @ESdatons  2 ปีที่แล้ว +3

    Hay un error al cargar los datos porque he modificado mi cuenta de github.
    La línea de código para cargar los datos es la siguiente:
    df = pd.read_csv('raw.githubusercontent.com/jsulopz/data/main/uso_internet_espana.csv')
    Enlace datos: raw.githubusercontent.com/jsulopz/data/main/uso_internet_espana.csv
    Discuplen las molestias!

    • @earnowt7683
      @earnowt7683 2 ปีที่แล้ว +1

      gracias amigo , pero hay un problema,el link no funciona, si lo pudieras arreglar por favor te agredeceria

    • @ESdatons
      @ESdatons  2 ปีที่แล้ว +2

      raw.githubusercontent.com/jsulopz/data/main/uso_internet_espana.csv

    • @ESdatons
      @ESdatons  2 ปีที่แล้ว +2

      Gracias por comentarlo! Ya está solucionado jejeje

    • @earnowt7683
      @earnowt7683 2 ปีที่แล้ว

      Gracias

  • @frankpy9339
    @frankpy9339 2 ปีที่แล้ว +1

    GRAN VIDEO! EXPLICANDO CON CALMA Y SOBRE TODO SE NOTA SU DOMINIO DEL TEMA! NUEVO SUB

  • @robermarcos1791
    @robermarcos1791 2 ปีที่แล้ว +2

    Buen vídeo, todo claro y muy bien explicado. A seguir así 🔥🔥

  • @cristianivanvaldezsolis5160
    @cristianivanvaldezsolis5160 2 ปีที่แล้ว +3

    el mejor video que he visto del mundo mundial

    • @ESdatons
      @ESdatons  2 ปีที่แล้ว

      Muchas gracias fenómeno! Cualquier sugerencia es bienvenida 🙌🏼

  • @brunoandre1439
    @brunoandre1439 2 ปีที่แล้ว

    Muchas gracias! Muy bien explicado 👌🙌

  • @amaycalv
    @amaycalv 2 ปีที่แล้ว +1

    Excelente todo el proceso de Árbol de Decisión en Python muy bien explicado, se agradece, saludos y siempre LIKE

    • @ESdatons
      @ESdatons  2 ปีที่แล้ว

      Muchas gracias por tus palabras! Un saludo 😄

  • @seraphiaarks
    @seraphiaarks 2 ปีที่แล้ว

    Buenísimo, me ayudo un montón, muchísimas graciaaas!

  • @ricampo
    @ricampo ปีที่แล้ว +2

    Excelente!!! muy buen trabajo, da gusto ver materias tan bien dominadas y explicadas... asi se hace mucho mas facil el proceso de aprender, gracias mil y no dejes de publicar, tendras mucho exito con esto. Saludos desde Chile, Ricardo

    • @ESdatons
      @ESdatons  ปีที่แล้ว

      Muchas gracias por tus palabras bien hombre!
      Cómo has parado a ver el vídeo?
      Estás trabajando en algún proyecto de Machine Learning?

    • @ricampo
      @ricampo ปีที่แล้ว +1

      @@ESdatons No estoy en un proyecto laboral, solo estoy partiendo en un post titulo de Machine Learning y de verdad que de todo lo que he visto e investigado, tu video ha sido el mas claro, asi que tienes un don que explotar, adelante con tu proyecto que dara que hablar.

    • @ESdatons
      @ESdatons  ปีที่แล้ว

      Ah, comprendo!
      Si, la gran mayoría de mis clientes vienen de cursos / post títulos donde les enseñan Ciencia de Datos y me contratan para que les enseñe conceptos puntuales.
      Es una pena porque hay muchos profesores que no llegan a comprender lo que pasa por la mente de los alumnos y los alumnos se complican ma vida 10 veces más de lo necesario; y esto causa una frustración enorme.
      A través de prueba y error, tras muchas horas de clase, vi que todos tenemos las mismas trampas mentales para comprender los conceptos porque carecemos de una idea general de cómo funciona, por ejemplo, Machine Learning.
      Tras un tiempo me di cuenta de que siempre enseñaba lo mismo de la misma forma y entonces lo puse todo en un curso que estoy elaborando actualmente. Aunque en Inglés porque pienso que hay mayor alcance.
      Pero comentarios como el tuyo me hacen replantearme que haga más cosas en español.
      Tengo algunas cosas grabadas en español que intentaré hacer un curso. Si quieres háblame en el twitter y te doy acceso a los materiales twitter.com/jsulopzs

  • @joseporenga6311
    @joseporenga6311 2 ปีที่แล้ว +2

    Muy buen video, muy claro y fácil de entender

    • @ESdatons
      @ESdatons  2 ปีที่แล้ว

      Muchas gracias por tus palabras, Juan! Un abrazo 😄😄

  • @patriciodiaz2377
    @patriciodiaz2377 2 ปีที่แล้ว

    Bro muy buen vídeo te felicito porque explicas de una manera clara y concisa.

    • @ESdatons
      @ESdatons  2 ปีที่แล้ว +1

      Muchas gracias Patricio! Estos comentarios me ayudan a seguir motivado para sacar más vídeos!!!

  • @guillermoflores8933
    @guillermoflores8933 2 ปีที่แล้ว +1

    Buenas! Excelente video. Me gustó mucho como pudiste ir explicando paso a paso y aplicando razonamiento. Estoy haciendo un curso de Data Science y para los que no estamos acostumbrados al ámbito de la programación se nos hace un poco mas complicado pero la claridad que encontré en el video hizo que pudiera entender con mayor facilidad. Seguiré practicando y te ganaste un suscriptor. Saludos!

    • @ESdatons
      @ESdatons  2 ปีที่แล้ว +1

      Muchas gracias por tus palabras fenómeno! Me ayuda muchísimo a seguir motivado para hacer más vídeos 🙌🏼🙌🏼

  • @cescalan9
    @cescalan9 ปีที่แล้ว

    Muy buen video. Bien explicado cada paso. Gracias.

    • @ESdatons
      @ESdatons  ปีที่แล้ว

      Muchas gracias por tus palabras César! 🙌🏼

  • @allisonliviadominguez8894
    @allisonliviadominguez8894 9 หลายเดือนก่อน

    Muchas gracias por compartir esta información!!

    • @ESdatons
      @ESdatons  9 หลายเดือนก่อน

      Gracias por tu reconocimiento!!
      Justo ahora acabo de publicar un vídeo tutorial extra para que aprendas a desarrollar cualquier modelo de Machine Learning de manera creativa: th-cam.com/video/xV0Dx81VLpg/w-d-xo.html
      Ya me dices qué tal!!
      Un saludo!!

  • @JaySoon
    @JaySoon 2 หลายเดือนก่อน +2

    Me sirvió demasiado , muy bien explicado mil gracias

    • @ESdatons
      @ESdatons  2 หลายเดือนก่อน +1

      Me alegra saberlo, ánimo con los estudios!

  • @ppascasl
    @ppascasl 2 ปีที่แล้ว +1

    Excelente video, lo seguí paso a paso!!!

    • @ESdatons
      @ESdatons  2 ปีที่แล้ว +1

      Me alegra enormemente que le saques partido! Muchas gracias por tus palabras, le dan más significado y me motivan a seguir creando contenido! Saludos ❤️❤️

    • @ppascasl
      @ppascasl 2 ปีที่แล้ว

      Muchas gracias!

  • @grebolledo3c
    @grebolledo3c 2 ปีที่แล้ว

    Muy buena explicación!!!

    • @ESdatons
      @ESdatons  2 ปีที่แล้ว +1

      Muchas gracias por tus palabras Gustavo!! A seguir a tope!!! :D

  • @nicolasforero6187
    @nicolasforero6187 2 ปีที่แล้ว

    Muy bueno, muchas gracias

    • @ESdatons
      @ESdatons  ปีที่แล้ว

      Muchas gracias Nicolás!

  • @sergiohuanacchiritupa5404
    @sergiohuanacchiritupa5404 2 ปีที่แล้ว

    Genial !!!!!!!

  • @Lorena-qp2ou
    @Lorena-qp2ou 2 ปีที่แล้ว

    gracias por el vídeo :)

    • @ESdatons
      @ESdatons  2 ปีที่แล้ว

      A ti por la apreciación! Cualquier cosa que nos quieras sugerir para mejorar, bienvenida sea 🤗

  • @juanddv367
    @juanddv367 ปีที่แล้ว

    Excelente!

  • @didacster
    @didacster 2 ปีที่แล้ว +1

    eres un crack!

    • @ESdatons
      @ESdatons  2 ปีที่แล้ว

      muchas gracias fenómeno!! cómo te ha ayudado el video tutorial?

  • @cm_inge7731
    @cm_inge7731 ปีที่แล้ว +2

    Gracias.

    • @ESdatons
      @ESdatons  ปีที่แล้ว

      Un placer!

  • @ddiegor4531
    @ddiegor4531 2 ปีที่แล้ว

    Enormeeeeeeeeeeeeeeee!!!!!

  • @seguirparticipando
    @seguirparticipando ปีที่แล้ว

    muy bueno ojalá hagas más

    • @ESdatons
      @ESdatons  ปีที่แล้ว

      Alguna recomendación en particular?

    • @seguirparticipando
      @seguirparticipando ปีที่แล้ว

      @@ESdatons una hoja de ruta con tecnologías necesarias para entrar en el mundo de la AI, estaría bueno! Saludos desde Buenos Aires.

  • @mildredvirginialopezsegura5168
    @mildredvirginialopezsegura5168 2 ปีที่แล้ว

    Gracias

  • @diegoaristizabal3181
    @diegoaristizabal3181 2 ปีที่แล้ว +1

    wow, estaba buscando cobre y encontre oro!!!,
    gracias master!

    • @ESdatons
      @ESdatons  2 ปีที่แล้ว

      Gracias por tus palabras Diego!! Por qué necesitabas ver el vídeo? Quizás me ayude a crear más contenido de calidad jeje

    • @diegoaristizabal3181
      @diegoaristizabal3181 2 ปีที่แล้ว

      Saludos Jesús, estaba buscando información sobre árboles de decisión para presentar un examen importante, lo que no esperaba era encontrar la aplicación de arboles de decisión con python en un proyecto al mismo tiempo que lo explicaban. Muchas gracias por eso 👏👏👏

  • @yessi_verano8636
    @yessi_verano8636 2 ปีที่แล้ว

    Por favor y donde consigo la data para hacer las pruebas? Gracias

  • @jarabito11
    @jarabito11 ปีที่แล้ว

    Haz más de árbol de decisión porfa

    • @ESdatons
      @ESdatons  ปีที่แล้ว

      Qué te gustaría aprender concretamente?

  • @juanchito5800
    @juanchito5800 ปีที่แล้ว +1

    Hola, una pregunta, estaríamos usando el propio dataset de entrenamiento como validación? Buen video!

    • @ESdatons
      @ESdatons  ปีที่แล้ว +1

      Buenas! Sí, el objetivo de este vídeo es hacer un árbol de decisión solamente.
      Puedes mirar aquí si necesitas saber cómo se hace el train test split:
      blog.resolvingpython.com/03-train-test-split-for-model-selection

  • @karengonzalezcubero1525
    @karengonzalezcubero1525 4 หลายเดือนก่อน +1

    Muchas gracias me ha ayudado a entender el codigo, ese arbol de decision podriamos guardarlo como una imagen o pdf?

    • @ESdatons
      @ESdatons  4 หลายเดือนก่อน +1

      Tendrías que usar matplotlib con el comando plt.savefig()

  • @robinsonflores6482
    @robinsonflores6482 2 ปีที่แล้ว +1

    Muchas gracias, muy claro todo.
    Tengo una consulta, como puedo saber didácticamente si el modelo está sobre ajustado.

    • @ESdatons
      @ESdatons  2 ปีที่แล้ว +1

      1. Separa los datos en Train y Test con la función train_test_split(…)
      2. Entrena el modelo con fit(…)
      3. Puntuación del modelo en datos de train score(xtrain, ytrain)
      4. Puntuación del modelo en datos de test score(xtest, ytest)
      5. Si la diferencia del score entre train y yes es muy grande, existe overfitting

    • @robinsonflores6482
      @robinsonflores6482 2 ปีที่แล้ว +1

      Muchas gracias, efectivamente tengo 0.99 con entrenamiento y 0.92 con test

    • @ESdatons
      @ESdatons  2 ปีที่แล้ว +1

      Entonces tienes overfitting. Prueba a reducir el tamaño del árbol para que sea más genérico en los datos de testeo.
      DecisionTreeClassifier(max_depth=4)

    • @robinsonflores6482
      @robinsonflores6482 2 ปีที่แล้ว

      Muchas gracias,!!

  • @bajifist9727
    @bajifist9727 ปีที่แล้ว

    Amigo gracias por el video. Fue suepr claro, solo tebgo duda en em histograma los datos en color gris que significan?

    • @ESdatons
      @ESdatons  ปีที่แล้ว

      Gracias por tu apreciación, señor!
      Son las observaciones que se solapan de un grupo y de otro.
      Al final, deberías tener en cuenta la altura maxima en cada color para asociarlos al grupo correspondiente (solo son 2, no 3).

  • @robinsonflores6482
    @robinsonflores6482 2 ปีที่แล้ว +1

    Estimado, disculpa que te consulte, pero estoy trabajando con SMOTE para realizar un sobremuestreo. He realizado el procedimiento pero al generar un dataframe para los nuevos datos pierdo el nombre de las columnas originales. ¿Sabes que puedo hacer para mantenerlas? Muchas gracias,

    • @ESdatons
      @ESdatons  2 ปีที่แล้ว +1

      X = pd.DataFrame(X, columns=X.columns)

  • @rodrigoe4201
    @rodrigoe4201 9 หลายเดือนก่อน +1

    Saber del tema y saber explicar que mas se puede pedir? Muchas gracias!!!

    • @ESdatons
      @ESdatons  9 หลายเดือนก่อน

      Muchas gracias Rodrigo! ¿Qué otros temas te gustaría aprender sobre la programación?

    • @rodrigoe4201
      @rodrigoe4201 9 หลายเดือนก่อน +1

      @@ESdatons Hay tanto en tu canal y tan bien explicado que no se me ocurre un tema puntual que pedirte y te agradezco que ademas de ser un Maestro explicando tengas en cuenta a tus seguidores. En general solo porque es adonde quiero orientarme seria acerca de invertir en bolsa de valores, pantallazo de que es lo que hay, como se podrian predecir los precios, lectura de precios con API, como se usarian los algoritmos de clasificacion o regresion en estos casos etc. Desde Rosario Argentina un gran abrazo amigo y muchas gracias!!!

    • @ESdatons
      @ESdatons  9 หลายเดือนก่อน

      @@rodrigoe4201 pues también tengo un curso de trading algorítmico que justo explico lo que tú comentas.
      academy.datons.ai/c/finance-algorithmic-trading/
      Y otro por aquí en colaboración con LinkedIn Learning: www.linkedin.com/learning-login/share?forceAccount=false&redirect=https%3A%2F%2Fwww.linkedin.com%2Flearning%2Fpractical-python-for-algorithmic-trading%3Ftrk%3Dshare_ent_url%26shareId%3Daq0fB1IPTsu5vV3BnJVmyA%253D%253D
      Si aún no te has suscrito, te dejan un mes de prueba gratis.
      Ya por último, cada semana estoy haciendo workshops gratuitos en directo. Si quieres estar al tanto: stories.datons.ai/newsletter-es
      Buen recuerdo de los asados que me has traído jeje

  • @ricardoreynoso2104
    @ricardoreynoso2104 2 ปีที่แล้ว +1

    Buend video, se puede obtener el data set de algun lado?

    • @ESdatons
      @ESdatons  2 ปีที่แล้ว

      en el vídeo aparece la forma en que me lo descargo, al principio

  • @MagdielOliva
    @MagdielOliva 2 ปีที่แล้ว

    Tienes algún curso, estoy interesado en iniciarlo desde cero. Actualmente estoy sacando algunos cursos relacionados, pero me parece que eres muy didáctico.

    • @JesusRamirez-xp7vw
      @JesusRamirez-xp7vw 2 ปีที่แล้ว

      Misma pregunta, yo igual cuento con varios cursos que he comprado pero me es más fácil entender tu manera de explicar.
      Y una duda más
      Hay alguna manera de exportar el modelo a alguna aplicación?
      Así como las redes neuronales te arroja los pesos para poder implementar el algoritmo en X aplicación, habrá forma de realizar algo semejante con DecisionTreeClassifier?
      Saludos y muy buen trabajo.

    • @ESdatons
      @ESdatons  2 ปีที่แล้ว

      Muchas gracias por tus palabras! Me animan mucho a seguir generando contenido!!
      Esta playlist th-cam.com/video/YFYDvu-dSSg/w-d-xo.html es lo más parecido a un curso que tengo. Es probable que me ponga durante los próximos meses a grabar curso. Antes no he podido porque tenía mucha carga de trabajo.

    • @ESdatons
      @ESdatons  2 ปีที่แล้ว

      En el siguiente tutorial blog.pythonresolver.com/tutorial-or-machine-learning-model-deployment muestro cómo poner un modelo de Machine Learning en un servidor web. Aunque lo aplico a la Regresión Lineal, será lo mismo para el Árbol de Decisión.

  • @valcosta17
    @valcosta17 ปีที่แล้ว

    Muy buen vídeo Jesús Quería preguntarte como sería posible , por ejemplo, obtener el perfil de los usuarios que más han usado internet. Es decir, que el script devuelva las columnas de explicativas del último nodo que más ha supuesto que usen internet. Gracias

    • @ESdatons
      @ESdatons  ปีที่แล้ว

      Una forma rápida sería:
      1. Realizar las predicciones de la probabilidad .predict_proba() en el DataFrame
      2. Ordenar las filas según la probabilidad de mayor a menor.
      3. Obtener las 10 primeras filas y mirar a ojo cuáles son las características que más determinan que una persona use internet.
      Aunque el problema es más complejo porque en Machine Learning, hay muchos patrones a los que se llegan por diferentes caminos.

    • @ESdatons
      @ESdatons  ปีที่แล้ว

      Te recomendaría que revisases los Shapley Values.

  • @nicolasforero6187
    @nicolasforero6187 2 ปีที่แล้ว +1

    Una pregunta, cómo puedo hacer para separar cada rama del arbol y representarlo en una tabla, para ver cual es la ruta desde arriba hasta el ultimo cuadrito en todas las ramas?

    • @ESdatons
      @ESdatons  ปีที่แล้ว

      Para este tipo de consultas tendríamos que hacer una sesión de consultoría. Lo único que podría decirte es que investigues la función decision_path

  • @nicolasmontagut4644
    @nicolasmontagut4644 2 ปีที่แล้ว +2

    Hola, muy bien explicado entendí a la primera muchas cosas, tengo un problema al realizar el ejercicio con python desde el IDE Pycharm y Visual porque no me genera la figura del árbol solo me muestra los datos, hay alguna manera de obtener la figura generada del árbol?
    Gracias!

    • @jesuslopez3306
      @jesuslopez3306 2 ปีที่แล้ว +1

      Prueba a usar plt.show() debajo del plot_tree()

    • @nicolasmontagut4644
      @nicolasmontagut4644 2 ปีที่แล้ว +1

      @@jesuslopez3306 Muchas gracias, me sirvió a la primera tu solución 💪

    • @nicolasmontagut4644
      @nicolasmontagut4644 2 ปีที่แล้ว +1

      @@jesuslopez3306 sabes como puedo hacer el plt.show() pero a la grafica que hace con el sns.histplot(x=df.edad, hue=df.uso_internet) ??

    • @jesuslopez3306
      @jesuslopez3306 2 ปีที่แล้ว

      @@nicolasmontagut4644 justo debajo

  • @pensando7729
    @pensando7729 2 ปีที่แล้ว +1

    Una pregunta, que tipo de arbol de decision utiliza python, sabiendo que hay tipos como ID3,CART,CHAID, MARS
    ?

    • @ESdatons
      @ESdatons  2 ปีที่แล้ว

      Si pero con otras librerías www.analyticsvidhya.com/blog/2021/05/implement-of-decision-tree-using-chaid/

  • @andreanaranjo7389
    @andreanaranjo7389 2 ปีที่แล้ว

    Tengo un problema y es que desde el principio me muestra falla con la librería panda y no se si tenga algo que ver que estoy usanfo un jupyter. Lab online y que en el kernel solo me aparece la opción Pyolite y SQlite

    • @ESdatons
      @ESdatons  2 ปีที่แล้ว

      Este es un problema de la configuración de Jupyter. Deberías de desinstalar anaconda y volverlo a instalar si quieres una solución fácil y rápida.

  • @Alejolor
    @Alejolor ปีที่แล้ว

    Hola, ¿como haces para que te aparezca la la guía de toda la información que debes colocar dentro de una función, por ejemplo en el minuto 2:41 ?

    • @Alejolor
      @Alejolor ปีที่แล้ว +2

      Ya lo he encontrado, Shift+Tab

  • @ernestorivera707
    @ernestorivera707 2 ปีที่แล้ว

    buenas tardes, excelente video. No encuentro la base de datos, ¿me podría ayudar?, muchas gracias, dios te bendiga

    • @ESdatons
      @ESdatons  2 ปีที่แล้ว

      ya está solucionado! muchas gracias por hacérmelo saber!

  • @karengonzalezcubero1525
    @karengonzalezcubero1525 4 หลายเดือนก่อน

    como puedo sacar a que grupo o nodo pertenece cada registro?

    • @ESdatons
      @ESdatons  4 หลายเดือนก่อน +1

      Creo recordar que model.classes_
      Si no, busca presionando con el tabulador después del punto; model. y te aparecerá toda la información que puedes extraer del modelo.

  • @oswaldotirado3671
    @oswaldotirado3671 ปีที่แล้ว

    Disculpa, como se llama la pagina en donde estas programando ?

    • @ESdatons
      @ESdatons  ปีที่แล้ว

      Jupyter Lab

  • @miguemate25
    @miguemate25 ปีที่แล้ว

    Otra observación, al cargar el csv, me sale una columna adicional:
    Unnamed: 0
    Lo que hice fue borrarla con
    del(df['Unnamed: 0'])
    De repente fue porque se actualizó el archivo

    • @ESdatons
      @ESdatons  ปีที่แล้ว

      Gracias por avisar 🔝

  • @miguemate25
    @miguemate25 ปีที่แล้ว

    Muchas gracias por el video!! Una consulta, al ejecutar
    model.fit(X=explicativas, y =objetivo)
    Me sale el error
    ValueError: could not convert string to float: 'Mujer'
    Podrías ayudarme por favor?
    Muchas gracias!!

    • @ESdatons
      @ESdatons  ปีที่แล้ว

      Creo que se te olvidó ejecutar la celda de pd.get_dummies

    • @jhonfreddyortizgomez9412
      @jhonfreddyortizgomez9412 ปีที่แล้ว

      @@ESdatons tengo el mismo error de Miguel, si ejecuté el pd.get_dummies, sin embargo me arroja el problema de conversión
      ---------------------------------------------------------------------------
      ValueError Traceback (most recent call last)
      Input In [9], in ()
      ----> 1 model.fit(X=explicativas, y=objetivo)
      File ~\anaconda3\lib\site-packages\sklearn\tree\_classes.py:937, in DecisionTreeClassifier.fit(self, X, y, sample_weight, check_input, X_idx_sorted)
      899 def fit(
      900 self, X, y, sample_weight=None, check_input=True, X_idx_sorted="deprecated"
      901 ):
      902 """Build a decision tree classifier from the training set (X, y).
      903
      904 Parameters
      (...)
      934 Fitted estimator.
      935 """
      --> 937 super().fit(
      938 X,
      939 y,
      940 sample_weight=sample_weight,
      941 check_input=check_input,
      942 X_idx_sorted=X_idx_sorted,
      943 )
      944 return self
      File ~\anaconda3\lib\site-packages\sklearn\tree\_classes.py:165, in BaseDecisionTree.fit(self, X, y, sample_weight, check_input, X_idx_sorted)
      163 check_X_params = dict(dtype=DTYPE, accept_sparse="csc")
      164 check_y_params = dict(ensure_2d=False, dtype=None)
      --> 165 X, y = self._validate_data(
      166 X, y, validate_separately=(check_X_params, check_y_params)
      167 )
      168 if issparse(X):
      169 X.sort_indices()
      File ~\anaconda3\lib\site-packages\sklearn\base.py:578, in BaseEstimator._validate_data(self, X, y, reset, validate_separately, **check_params)
      572 if validate_separately:
      573 # We need this because some estimators validate X and y
      574 # separately, and in general, separately calling check_array()
      575 # on X and y isn't equivalent to just calling check_X_y()
      576 # :(
      577 check_X_params, check_y_params = validate_separately
      --> 578 X = check_array(X, **check_X_params)
      579 y = check_array(y, **check_y_params)
      580 else:
      File ~\anaconda3\lib\site-packages\sklearn\utils\validation.py:746, in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator)
      744 array = array.astype(dtype, casting="unsafe", copy=False)
      745 else:
      --> 746 array = np.asarray(array, order=order, dtype=dtype)
      747 except ComplexWarning as complex_warning:
      748 raise ValueError(
      749 "Complex data not supported
      {}
      ".format(array)
      750 ) from complex_warning
      File ~\anaconda3\lib\site-packages\pandas\core\generic.py:2064, in NDFrame.__array__(self, dtype)
      2063 def __array__(self, dtype: npt.DTypeLike | None = None) -> np.ndarray:
      -> 2064 return np.asarray(self._values, dtype=dtype)
      ValueError: could not convert string to float: 'Mujer'

    • @ESdatons
      @ESdatons  ปีที่แล้ว

      Te aseguraste de guardarlo de nuevo en la variable?
      explanatory = pd.get_dummies(…)?

    • @miguemate25
      @miguemate25 ปีที่แล้ว

      @@jhonfreddyortizgomez9412 de repente tienes el mismo error que yo!

    • @miguemate25
      @miguemate25 ปีที่แล้ว +1

      @@ESdatons Disculpa la demora en responder. Efectivamente, hubo problemas con el get_dummies. En el minuto 1:33 el punto rojo tapa cuando se define df=pd.get_dummies(data=df, drop_first=True).
      Yo solo había digitado:
      df=pd.get_dummies(data=df, drop_first=True)
      Muchas gracias nuevamente!

  • @mariabelenmartinezsanchez2052
    @mariabelenmartinezsanchez2052 2 ปีที่แล้ว +1

    Excelente explicación, pero tengo una duda, al ejecutar model.fit(X=explicativa, y=objetivo), me genera un error, no sé que hacer, me podrías ayudar porfavor

  • @richardalexanderjimenezrij2197
    @richardalexanderjimenezrij2197 2 ปีที่แล้ว +2

    Todo va bien pero al momento de obtener los datos no sale el árbol, alguien sabe como se puede solucionar ?

    • @jesuslopez3306
      @jesuslopez3306 2 ปีที่แล้ว

      Quizás tengas que hacer una nueva línea con:
      plt.show()

    • @richardalexanderjimenezrij2197
      @richardalexanderjimenezrij2197 2 ปีที่แล้ว

      @@jesuslopez3306 Lo hago y todo se queda igual, obtengo los datos pero sin el árbol

    • @jesuslopez3306
      @jesuslopez3306 2 ปีที่แล้ว

      @@richardalexanderjimenezrij2197 estás usando jupyter lab?

  • @Db.pp_04
    @Db.pp_04 11 หลายเดือนก่อน

    Me sale este error: "InvalidParameterError: The 'feature_names' parameter of plot_tree must be an instance of 'list' or None. Got Index(['edad', 'sexo_Mujer', 'estudios_Medios universitarios',
    'estudios_Primaria', 'estudios_Secundaria', 'estudios_Sin estudios',
    'estudios_Superiores'],
    dtype='object') instead."

    • @ESdatons
      @ESdatons  11 หลายเดือนก่อน

      La única explicación que se me ocurre es que hayas podido alterar la ejecución de comandos. Si pruebas a ejecutar todo desde el principio, probablemente te salga.

  • @BenjaminAlalachvilymitsva613
    @BenjaminAlalachvilymitsva613 ปีที่แล้ว

    no se entiende nada no podes expkicar mejor desde como se empieza loco

    • @ESdatons
      @ESdatons  ปีที่แล้ว

      Si no tienes instalado Jupyter Lab y estás comenzando a trabajar con Python, te recomendamos ver los tutoriales de esta playlist: th-cam.com/play/PL8HtbO24Pl3hiXO5LjIvJc86HyzWBvhZj.html

  • @juanchito5800
    @juanchito5800 ปีที่แล้ว +1

    Hola, una pregunta, estaríamos usando el propio dataset de entrenamiento como validación? Buen video!

    • @ESdatons
      @ESdatons  ปีที่แล้ว

      Si, este vídeo se centra en desarrollar el algoritmo del Árbol de Decisión.
      No tanto en la técnica de train test split. Pero puede que saque un vídeo sobre ello