CursosEmpresasBlogLiveConfPrecios

Guía práctica de algoritmos de machine learning con scikit-learn

Clase 12 de 17 • Curso de Introducción a Machine Learning

Contenido del curso

Introducción a machine learning

  • 1

    Curso actualizado

    00:05 min
  • 2
    Algoritmos de Machine Learning: Preparación y Aplicación de Datos

    Algoritmos de Machine Learning: Preparación y Aplicación de Datos

    02:03 min
  • 3
    Introducción al Machine Learning: Historia y Conceptos Básicos

    Introducción al Machine Learning: Historia y Conceptos Básicos

    04:01 min
  • 4
    Introducción a la Ciencia de Datos: Carga y Visualización de Conjuntos

    Introducción a la Ciencia de Datos: Carga y Visualización de Conjuntos

    13:00 min
  • 5
    Algoritmos Supervisados y No Supervisados en Machine Learning

    Algoritmos Supervisados y No Supervisados en Machine Learning

    05:46 min
  • 6

    Procesamiento y Análisis de Datos para Machine Learning

    01:42 min

Algoritmos simples de machine learning

  • 7
    Modelos de Machine Learning: Uso, Implementación y Evaluación

    Modelos de Machine Learning: Uso, Implementación y Evaluación

    04:16 min
  • 8
    Regresión Lineal: Predicción y Evaluación de Modelos Numéricos

    Regresión Lineal: Predicción y Evaluación de Modelos Numéricos

    04:56 min
  • 9
    Regresión Logística: Clasificación y Predicción de Probabilidades

    Regresión Logística: Clasificación y Predicción de Probabilidades

    04:31 min
  • 10
    Clasificadores de Bosque Aleatorio: Conceptos y Aplicaciones

    Clasificadores de Bosque Aleatorio: Conceptos y Aplicaciones

    05:47 min
  • 11
    Aprendizaje No Supervisado: Clustering con K-means

    Aprendizaje No Supervisado: Clustering con K-means

    08:38 min
  • 12

    Guía práctica de algoritmos de machine learning con scikit-learn

    Viendo ahora

Deep learning

  • 13
    Fundamentos de Redes Neuronales y Deep Learning

    Fundamentos de Redes Neuronales y Deep Learning

    07:57 min
  • 14
    Mejora de Redes Neuronales: Ajuste, Overfitting y Dropout

    Mejora de Redes Neuronales: Ajuste, Overfitting y Dropout

    03:37 min
  • 15
    Entrenamiento Efectivo de Redes Neuronales: Arquitectura y Tasa de Aprendizaje

    Entrenamiento Efectivo de Redes Neuronales: Arquitectura y Tasa de Aprendizaje

    07:38 min

Conclusiones

  • 16

    Curso de Fundamentos Prácticos de Machine Learning

    01:18 min
  • 17
    Resumen del Curso de Machine Learning y Habilidades Avanzadas

    Resumen del Curso de Machine Learning y Habilidades Avanzadas

    01:57 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads

      ¡Hola! Te doy la bienvenida a esta clase con un nuevo reto.

      Antes que nada espero que te haya ido excelente con el notebook del reto anterior y que hayas completado todos los ejercicios. Recuerda que cualquier duda puedes dejarla en comentarios de la clase para que toda la comunidad de Platzi pueda apoyarte.

      Notebook de algoritmos de machine learning

      En la notebook en Google Colab de esta clase encontrarás una guía para probar algoritmos de machine learning en código. Desde la carga de datos hasta entrenar el modelo y verificar su performance.

      Para estos ejemplos utilizaremos la librería de scikit-learn, una de las librerías con las que podemos comenzar a aprender el uso de algoritmos de machine learning de manera más sencilla.

      En los siguientes cursos de la ruta de la Escuela de Data Science profundizarás en el uso de scikit-learn y otras librerías de machine learning. ¡Comencemos con la base! 🧠

      Accede al notebook aquí.

      Crea una copia de este notebook en tu Google Drive o utilízalo en el entorno de Jupyter notebook que prefieras. Recuerda instalar las librerías necesarias para ejecutar el código si ejecutas tu notebook en un entorno local.

      Esta notebook no tiene ejercicios adicionales como la anterior, pero este el reto que tienes para esta clase:

      • Identifica en qué partes del código aplicamos los diferentes conceptos teóricos aprendidos en las clases anteriores.

      ¡Leo tus anotaciones en los comentarios y nos vemos en el próximo módulo!

        Daniel Pérez

        Daniel Pérez

        student•
        hace 4 años

        Para evitar la advertencia que se genera al ajustar el modelo de regresión logística, una de las posibles soluciones es incrementar el número de iteraciones (por default es de 100) al configurar la regresión:

        model_2 = linear_model.LogisticRegression(max_iter=110)
          Rafael Rivera

          Rafael Rivera

          student•
          hace 4 años

          Gracias, buen aporte

          Patricio Sánchez Fernández

          Patricio Sánchez Fernández

          student•
          hace 3 años

          Daniel, muchas gracias por el aporte.

        Jonathan Vásquez Alvarado

        Jonathan Vásquez Alvarado

        student•
        hace 4 años

        Así queda la gráfica del codo para confirmar que de 3 a 4 serían las mejores elecciones de clústeres.

        elbow_kmeans.png

        Les dejo el código:

        I = [] centroids = [] for c in range(2,11): k2model = KMeans(n_clusters=c, random_state=42) k2model.fit(data[["petal length (cm)", "petal width (cm)"]]) I.append(k2model.inertia_) centroids.append(k2model.cluster_centers_) f = plt.figure(figsize=(7,5)) ax = f.add_subplot(1,1,1) ax.scatter(x=np.arange(2,11), y=I) ax.plot(np.arange(2,11),I) ax.set_xlabel('Clusters') ax.set_ylabel('Inertia') ax.set_title('Elbow method for optimal k value') f.tight_layout()
          Rafael Rivera

          Rafael Rivera

          student•
          hace 4 años

          Super el aporte, precisamente estaba pensando eso.

          Gracias por compartir

          Julián Cárdenas

          Julián Cárdenas

          student•
          hace 3 años

          Buen aprote!

        David Coello

        David Coello

        student•
        hace 3 años

        Otra manera de realizar la visualización de "Elbow Method" es mediante KElbowVisualizer, dejo la documentación:

        https://www.scikit-yb.org/en/latest/api/cluster/elbow.html#yellowbrick.cluster.elbow.KElbowVisualizer

        Screenshot 2022-09-07 225744.png
        # instalamos la libreria !pip install yellowbrick #I mportamos libreria de elbow method from yellowbrick.cluster import KElbowVisualizer # Creamos el modelo kmodel = KMeans(random_state= 42) # Inicializamos el visualizador de elbow method visualizer = KElbowVisualizer(kmodel, k=(2,8)) # Ajustamos el modelo visualizer.fit(df_iris[['petal length (cm)', 'petal width (cm)']]) visualizer.show()
          Sebastian Gaviria

          Sebastian Gaviria

          student•
          hace 3 años

          !El mejor aporte! Mil gracias.

          Julián Cárdenas

          Julián Cárdenas

          student•
          hace 3 años

          Que buenos aportes están dando!

        Antonio Demarco Bonino

        Antonio Demarco Bonino

        student•
        hace 4 años

        Para hablar de modelos este video de Dot Csv es GENIAL: https://www.youtube.com/watch?v=Sb8XVheowVQ&t=438s&ab_channel=DotCSV

          Diego Jurado

          Diego Jurado

          student•
          hace 3 años

          Gracias por compartir el link

        Andres Gutiérrez Castillo

        Andres Gutiérrez Castillo

        student•
        hace 3 años

        no hagas eso mejor has esto

        • cargar el dataset en formato de dataframe:
        iris = datasets.load_iris(as_frame=True) data= iris.frame
        • hacer el hold-out de tu data(particionar):
        from sklearn.model_selection import train_test_split train, test = train_test_split( data, test_size=0.2, random_state=42)
        • creear un scatter plot + un linea que represente un modelo de regresion lineal, en un solo paso usando sns:
        import seaborn as sns sns.jointplot(data=data, x= "petal length (cm)", y="petal width (cm)", kind= 'reg' `` - si quieren aplicar la tecnica del codo para encontrar el numero de K ideal en el algoritmo K-means:

        el nombre completo de la funcion de coste es: whithin cluster sum of squares (WCSS)

        WCSS = [] for c in range(2,10): m_kmeans = KMeans(n_clusters = c) # 1 cargamos el modelo especificando el n_clusters m_kmeans.fit(data[["petal length (cm)", "petal width (cm)"]]) # 2 entrenamos el modelo con la data sacalada WCSS.append(m_kmeans.inertia_) # 3 guardamos el valor del WCSS

        plt.plot(range(len(WCSS)), WCSS, "rx-") plt.title('Encontrar el número correcto de clusters') plt.xlabel('Nº Clusters') plt.ylabel('WCSS') plt.show()

        Daniel Pérez

        Daniel Pérez

        student•
        hace 4 años

        Acá mi resultado del Modelo de K-Means con un k=3.

        Screen Shot 2021-12-20 at 12.51.04 PM.png
        Daniel Pérez

        Daniel Pérez

        student•
        hace 4 años

        Un resumen del proceso se regresión linear:

        0. Se separan los datos en 'training' y ' 'testing'.

        Para predecir Y ('petal width') a partir de X ('petal length'), queremos ajustar un modelo a:

        𝜃1 ∗ 𝑥 + 𝜃0 = 𝑦 ,

        la ecuación de la recta para generar nuestra regresión lineal.

        1. Ajustamos el modelo con la 'training data y calculamos el coeficiente y el riesgo (bias). En el ejemplo obtenemos: 0.41 ∗ X − 0.36 = Y
        2. Definimos un array con valores aleatorios de X (xvals) entre el mínimo y máximo de nuestro total de datos. Con estos datos y la ecuación hallada en 1, calculamos los Y (yvals). Graficamos y visualmente podemos ver la buena relación. Sin embargo:
        3. debemos calcular el MSE y R2 con la testing data. (Siempre queremos un MSE bajo y 𝑅2 cercano a 1. 𝑅2 está limitado de 0 (efectivamente no correlacionado) a 1 (relación perfecta).). En nuestro caso los valores son de MSE: 0.04 y R2: 0.94, por lo que podemos ver que existe una relación decente entre la longitud (X) y el ancho de los pétalos (Y).
        Rigoberto Acosta González

        Rigoberto Acosta González

        student•
        hace un año

        Mi aporte al reto:

        Fernando Callasaca Acuña

        Fernando Callasaca Acuña

        student•
        hace 3 años

        Para evaluar qué número de cluster colocar. Aquí les dejo mi aporte del gráfico del "codo".

        elbow_plot.png
        k = 5 train = data[["petal length (cm)", "petal width (cm)"]] inertia_list = [] for i in range(1,k+1): modelKMeans = KMeans(n_clusters = i, random_state=42) modelKMeans.fit(train) inertia_list.append(modelKMeans.inertia_) f = plt.figure(figsize=(7,5)) ax = f.add_subplot(1,1,1) ax.plot(np.arange(1,6,1), inertia_list, '-o', ms=15, mfc='green') ax.set_title('Elbow-plot - Diagrama de Codo') ax.set_xlabel('K - Cluster') ax.set_ylabel('Distorción del Score . inertia') ax.grid() f.tight_layout()
        Leandro Tenjo

        Leandro Tenjo

        student•
        hace 3 años

        Otra forma de crear el ElbowPlot 📉

        def medir_inertia(n_c=1, r_s=42): elbowplot_df = pd.DataFrame(columns=['n_clusters', 'inertia']) i = 1 while i <= n_c: k2model = KMeans(n_clusters=i, random_state=r_s) k2model.fit(iris_df[["petal length (cm)", "petal width (cm)"]]) elbowplot_df = elbowplot_df.append( {'n_clusters': i, 'inertia': k2model.inertia_}, ignore_index=True ) i+=1 return elbowplot_df medir_inertia(n_c=10).pipe( lambda df: sns.lineplot(data= df, x='n_clusters', y='inertia', marker='o') );
        KEyKicONTdUREREQDxD5ORERERAPEwomIiIhogFg4EREREQ0QCyciIiKiAWLhRERERDRALJyIiIiIBoiFExEREdEAsXAiIiIiGiAWTkREREQD9P8B0+OkE16VlN4AAAAASUVORK5CYII=.png
        Emmanuel Guerra Sánchez

        Emmanuel Guerra Sánchez

        student•
        hace 3 años

        De esta forma podemos visualizar la matriz de confunsión:

        from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay cm = confusion_matrix(ytest, ypred) print(cm) disp = ConfusionMatrixDisplay(confusion_matrix=cm) disp.plot()
        confunsion_matrix_iris.png
        Eliana Ossio

        Eliana Ossio

        student•
        hace un año

        PREGUNTA:

        Predicción con logistic regression:

        [2 2 2 1 0 0 0 0 2 1 2 0 0 1 1 2 1 1 2 2 2 0 2 0 0 2 2 1 0 0]

        Predicción con random forest:

        [2 2 1 1 0 0 0 0 2 1 2 0 0 1 1 2 1 1 2 2 2 0 2 0 0 2 2 1 0 0]

        He comparado las predicciones realizadas con logistic regression vs random forest, ambas tienen un Testing accuracy = 1.0. Son casi iguales, excepto por el tercer elemento que en la logistic regression es 2 y en random forest es 1. Si ambos tienen un testing accuracy de 1, no deberían ser exactamente iguales?. Por favor, hay una explicación para esto?

        Julian Crispin

        Julian Crispin

        student•
        hace 4 años

        Alguien sabe exactamente cual es la funcion del parametro "random_state" cuando se usa DataFrame.sample(). NO entiendo muy bien porque se le da el valor de 1234, o en que cambia si se le da otro valor. Gracias

          Violeta Sosa León

          Violeta Sosa León

          student•
          hace 4 años

          El random_state garantiza que tu train_set y tu test_set siempre tengan el mismo tamaño, pero como se organizan aleatoriamente, necesitas garantizar el mismo número aleatorio. El 1234 es un número X, pudo haber sido 7890, no importa. Lo importante es que sea el mismo. Usualmente la convención es usar 42.

        Nelson Mauricio Bravo Caballero

        Nelson Mauricio Bravo Caballero

        student•
        hace 2 años

        tengo una pregunta, despues de realizar el grafico del codo, en este caso deberiamos saber que k tiene que ser 3, ni 2 ni 4 o mas, pero en el grafico no es muy claro.

        "Idealmente, los modelos con menor inercia son mejores; sin embargo, con más grupos, la inercia a menudo seguirá disminuyendo marginalmente." entonces como se puede conocer puntualmente cual es el mejor K?

          Platzi

          Platzi

          student•
          hace 2 años

          Para encontrar el mejor K en K-means, se recomienda usar el gráfico del codo y buscar la 'curva' o 'codo' donde la disminución de la inercia cambia cási no. Si el gráfico no es claro, se podría emplear el 'silhouette score' buscando un valor cercano a uno.

        david jurado

        david jurado

        student•
        hace 2 años

        Puede ser una pregunta tonta, pero no la entiendo, por qué se usa para predecir la y? tipo ypred? y no la x?

          Platzi

          Platzi

          student•
          hace 2 años

          Linear regression predice 'y' en función del valor de 'x', porque 'y' es el resultado o la variable dependiente basada en la variable independiente 'x'. No se predice 'x' ya que es el valor conocido que usamos para predecir 'y'.

        Marco Antonio Latorre González

        Marco Antonio Latorre González

        student•
        hace 3 años

        Buen día, el programa corre sin errores pero al final no muestra las gráficas, que puede estar pasando?

        David Gallego

        David Gallego

        student•
        hace 3 años

        hola, en el punto 5 de k-means, me arroja un warning por 'n_init', no me queda claro donde ajustar este valor para que el warning no salga, me podrían dar una mano, muchas gracias.

          Dionicio Perez

          Dionicio Perez

          student•
          hace 3 años

          Hola, esto se debe a una modificación en el método que esta implementando sklearn. ¿Que es n_init? La documentación dice lo sigueinte:

          Número de veces que se ejecuta el algoritmo k-means con diferentes semillas de centroide. El resultado final es el mejor resultado de n_init ejecuciones consecutivas en términos de inercia. Se recomiendan varias ejecuciones para problemas dispersos de alta dimensión

          En versiones menor a la 1.4 el valor por defecto es 10, en versiones igual o superior el valor por defecto es 'auto'. Simplemente es un aviso. Si quieres eliminar este aviso agrega n_init='auto' en donde ejucutes KMeans

        Violeta Sosa León

        Violeta Sosa León

        student•
        hace 4 años

        En el código en el que usa el modelo de Random Forests, debería estar usando el y_pred del cfl y no el del ejercicio de logistic regression. Alguien podría aclarar esto?

          Emmanuel Guerra Sánchez

          Emmanuel Guerra Sánchez

          student•
          hace 3 años

          Debe ser un typo

        Jonathan Fernando Santana Quispillo

        Jonathan Fernando Santana Quispillo

        student•
        hace 4 años

        Para ver "qué tan bueno es el ajuste" se utiliza dos métricas de rendimiento: el error cuadrático medio (MSE) y R^2, se refiere al error y al acurrancy respectivamente.

          Axel Yaguana

          Axel Yaguana

          Team Platzi•
          hace 4 años

          ¡Exacto!

          RMSE (raíz del error cuadrático medio)

          Nos indica cuán dispersos están los datos de la curva que mejor describe el modelo. En otras palabras, es la desviación estándar de los residuos.

          R² (coeficiente de determinación)

          Responde a qué tanto se ajustan las predicciones con el modelo. O sea, cuánto de la variación de los datos observados es explicada por las predicciones.

          ❌NO elevamos nada al cuadrado.

          ❌NO es ρ (Pearson) elevado al cuadrado.

          Otra métrica interesante es ρ (coeficiente de correlación de Pearson)

          Nos cuenta sobre los patrones en los datos.

          ✔️Explica cuán correlacionadas están las dos variables.

          ❌NO indica qué tan bueno es el modelo.

        Cristian Omar Rubio Ceja

        Cristian Omar Rubio Ceja

        student•
        hace 2 años

        Pequeño aporte para entender mejor la confussion matrix

        # Add plot for the confusion matrix with seaborn import seaborn as sns sns.heatmap(confusion_matrix(ytest, ypred), annot=True, fmt='d', cmap='Greens') # Add labels to the plot plt.xlabel('Predicted label') plt.ylabel('True label') plt.title('Confusion Matrix') # Add name of the species species = ['Setosa', 'Versicolor', 'Virginica'] plt.xticks([0.5, 1.5, 2.5], species) plt.yticks([0.5, 1.5, 2.5], species) plt.show()