también esta el paquete seaborn para hacer los boxplot.
import seaborn as sns
sns.boxplot(hearth.sex, hearth.chol, hue = hearth.target)
Aprender los conceptos clave
Todo lo que aprenderás sobre MA con Scikit-Learn
¿Cómo aprenden las máquinas?
Problemas que podemos resolver con Scikit-learn
Las matemáticas que vamos a necesitar
Iniciar un proyecto con sklearn
Configuración de nuestro entorno Python
Instalación de librerías en Python
Datasets que usaremos en el curso
Optimización de features
¿Cómo afectan nuestros features a los modelos de Machine Learning?
Introducción al PCA
Preparación de datos para PCA e IPCA
Implementación del algoritmo PCA e IPCA
Kernels y KPCA
¿Qué es la regularización y cómo aplicarla?
Implementación de Lasso y Ridge
Explicación resultado de la implementación
ElasticNet: Una técnica intermedia
Regresiones robustas
El problema de los valores atípicos
Regresiones Robustas en Scikit-learn
Preparación de datos para la regresión robusta
Implementación regresión robusta
Métodos de ensamble aplicados a clasificación
¿Qué son los métodos de ensamble?
Preparación de datos para implementar métodos de ensamble
Implementación de Bagging
Implementación de Boosting
Clustering
Estrategias de Clustering
Implementación de Batch K-Means
Implementación de Mean-Shift
Optimización paramétrica
Validación de nuestro modelo usando Cross Validation
Implementación de K-Folds Cross Validation
Optimización paramétrica
Implementación de Randomized
Bonus: Auto Machine Learning
Salida a producción
Revisión de nuestra arquitectura de código
Importar y exportar modelos con Sklearn
Creación de una API con Flask para el modelo
Cierre del curso
Material adicional para consultar
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 10
Preguntas 0
también esta el paquete seaborn para hacer los boxplot.
import seaborn as sns
sns.boxplot(hearth.sex, hearth.chol, hue = hearth.target)
Consiste en considerar a zonas muy densas como clusters, mientras que los puntos que carecen de ‘vecinos’ no pertenecen a ningún conjunto y por lo tanto se clasifican como ruido (o outliers).
Una ventaja de está técnica es que no se requiere que se especifique el número de clusters (como en K-means, por ejemplo), en cambio se debe especificar un número mínimo de datos que constituye un cluster y un parámetro epsilon que está relacionado con el espacio entre vecinos.
En la siguiente imagen pueden ver un ejemplo gráfico de esta técnica:
Mas información en:
https://dashee87.github.io/data science/general/Clustering-with-Scikit-with-GIFs/
Si quieren visualizar rápidamente para su dataset los datos atípicos. Pandas permite hacer con facilidad. Dejo el código para el caso del dataset hearth. Claramente se debe entender que para las variables indicadoras no tendría mucho sentido considerarlo.
num_features = hearth[['age', 'trestbps', 'thalach', 'oldpeak']]
num_features
plt.figure(figsize=(10,7))
num_features.boxplot(grid=False)
En este artículo se explica por que se toma el valor 1.5*IQR para calcular los valores atípicos:
https://towardsdatascience.com/why-1-5-in-iqr-method-of-outlier-detection-5d07fdc82097
El grafico de caja de una buena forma para detectar los valores atípicos en un set de datos, a su vez también es aconsejable (dependiendo del caso) eliminarlos para que nuestro análisis sea lo más confiable posible.
Me explicó, si sabemos que el promedio de autos que cruza una calle x
de cuadra a cuadra es de aproximadamente de 10 segundos
, un auto que tenga un tiempo de 100 segundo
o de 10 minutos
, claramente nos está indicando que tenemos un problema con ese dato.
¿Por qué son problemáticos?
1.- Pueden generar sesgos importantes en los modelos de ML.
2.- A veces contienen información relevante sobre la naturaleza de los datos.
3.- Detección temprana de fallos.
¿Cómo identificarlos?
A través de métodos estadísticos:
Este es el mejor profesor de platzi hasta ahora.
Los datos atipicos, son muy crueles con los modelos lieneales, o que se midan con distancia. En solociones tipo tree, no le importa tanto los atipicos, ni los valores null. Los arboles son mero amor
n_cols = len(dt_heart.columns)
plt.figure(figsize=(10,50))
for i, col in enumerate(dt_heart.columns):
plt.subplot(n_cols,2,2*i+1)
sns.boxplot(data=dt_heart[col])
plt.subplot(n_cols,2,2*i+2)
sns.violinplot(data=dt_heart[col])
🤓Hice un video y lo cargue en youtube donde pueden ver el proceso de eliminación de valores atípicos, con la metodología que el profe explica en el video.👀
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.