Aprender los conceptos clave

1

Todo lo que aprender谩s sobre MA con Scikit-Learn

2

驴C贸mo aprenden las m谩quinas?

3

Problemas que podemos resolver con Scikit-learn

4

Las matem谩ticas que vamos a necesitar

Iniciar un proyecto con sklearn

5

Configuraci贸n de nuestro entorno Python

6

Instalaci贸n de librer铆as en Python

7

Datasets que usaremos en el curso

Optimizaci贸n de features

8

驴C贸mo afectan nuestros features a los modelos de Machine Learning?

9

Introducci贸n al PCA

10

Preparaci贸n de datos para PCA e IPCA

11

Implementaci贸n del algoritmo PCA e IPCA

12

Kernels y KPCA

13

驴Qu茅 es la regularizaci贸n y c贸mo aplicarla?

14

Implementaci贸n de Lasso y Ridge

15

Explicaci贸n resultado de la implementaci贸n

16

ElasticNet: Una t茅cnica intermedia

Regresiones robustas

17

El problema de los valores at铆picos

18

Regresiones Robustas en Scikit-learn

19

Preparaci贸n de datos para la regresi贸n robusta

20

Implementaci贸n regresi贸n robusta

M茅todos de ensamble aplicados a clasificaci贸n

21

驴Qu茅 son los m茅todos de ensamble?

22

Preparaci贸n de datos para implementar m茅todos de ensamble

23

Implementaci贸n de Bagging

24

Implementaci贸n de Boosting

Clustering

25

Estrategias de Clustering

26

Implementaci贸n de Batch K-Means

27

Implementaci贸n de Mean-Shift

Optimizaci贸n param茅trica

28

Validaci贸n de nuestro modelo usando Cross Validation

29

Implementaci贸n de K-Folds Cross Validation

30

Optimizaci贸n param茅trica

31

Implementaci贸n de Randomized

32

Bonus: Auto Machine Learning

Salida a producci贸n

33

Revisi贸n de nuestra arquitectura de c贸digo

34

Importar y exportar modelos con Sklearn

35

Creaci贸n de una API con Flask para el modelo

36

Cierre del curso

37

Material adicional para consultar

No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Aprende Ingl茅s, Programaci贸n, AI, Ciberseguridad y mucho m谩s.

Antes: $249

Currency
$209
Suscr铆bete

Termina en:

4 D铆as
11 Hrs
17 Min
44 Seg

El problema de los valores at铆picos

17/37
Recursos

Aportes 14

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

tambi茅n esta el paquete seaborn para hacer los boxplot.

import seaborn as sns
sns.boxplot(hearth.sex, hearth.chol, hue = hearth.target)
  • DBSCAN: Density-Based Spatial Clustering of Applications with Noise.

Consiste en considerar a zonas muy densas como clusters, mientras que los puntos que carecen de 鈥榲ecinos鈥 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

Clase 17: El problema de los valores at铆picos

  • Un valor at铆pico es cualquier medici贸n que se encuentre por fuera del comportamiento general de una muestra de datos.
  • Pueden indicar variabilidad, errores de medici贸n o novedades.

驴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:

  1. Z - Score: Mide la distancia (en desviaciones est谩ndar) de un punto dado a la media.
  2. T茅cnicas de clustering como DBSCAN.
  3. Si q< Q1-1.5IQR 贸 q > Q3+1.5IQR

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.

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

Este es el mejor profesor de platzi hasta ahora.

DBSCAN (Density-Based Spatial Clustering of Applications with Noise) es un algoritmo de agrupamiento que tambi茅n se puede utilizar para identificar datos at铆picos. A diferencia de los Z-scores, DBSCAN se basa en la densidad de los puntos de datos en el espacio para identificar 谩reas densas de puntos y puntos aislados que se considerar谩n at铆picos.

Aqu铆 tienes un ejemplo para ilustrar el uso de DBSCAN en la identificaci贸n de datos at铆picos:

from sklearn.cluster import DBSCAN
import numpy as np

# Datos de ejemplo (coordenadas x, y)
data = np.array([[1, 1], [1, 2], [2, 2], [8, 7], [8, 8], [25, 80]])

# Crear objeto DBSCAN y ajustar el modelo
dbscan = DBSCAN(eps=3, min_samples=2)
dbscan.fit(data)

# Obtener las etiquetas de los clusters y los valores 煤nicos
labels = dbscan.labels_
unique_labels = np.unique(labels)

# Identificar los 铆ndices de los datos at铆picos (etiqueta -1)
outlier_indices = np.where(labels == -1)[0]

# Imprimir los resultados
print("Etiquetas de los clusters:", labels)
print("Datos at铆picos:", data[outlier_indices])

En este ejemplo, los datos de ejemplo son coordenadas bidimensionales (x, y) que representan puntos en un espacio. Utilizamos DBSCAN con un valor de eps=3 para especificar la distancia m谩xima entre dos puntos para considerarlos vecinos y min_samples=2 para especificar el n煤mero m铆nimo de puntos necesarios para formar un cl煤ster.

El algoritmo DBSCAN asigna etiquetas a los puntos de datos, donde -1 representa los datos at铆picos. Utilizamos np.where para identificar los 铆ndices de los datos at铆picos basados en la etiqueta -1 y luego los extraemos de los datos originales.

Al ejecutar el c贸digo, obtendr谩s las etiquetas de los clusters asignadas por DBSCAN y los datos at铆picos identificados.

Recuerda que los resultados de DBSCAN pueden depender de los par谩metros eps y min_samples, por lo que es importante ajustarlos adecuadamente para tu conjunto de datos espec铆fico.

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])
Tengo una duda, realizando el box plot con la columna "family" no logro ubicar las lineas con las ecuaciones * q1 -1.5\*iqr * q3 +1.5\*iqr ![](https://static.platzi.com/media/user_upload/box-9316080c-b53d-4c1a-9fd7-d830ed5bcd30.jpg) ![](https://static.platzi.com/media/user_upload/code-49285361-13b6-45d2-a04c-4d208cdd6339.jpg)

Un valor at铆pico, tambi茅n conocido como valor extremo u at铆pico, es una observaci贸n en un conjunto de datos que difiere significativamente de los dem谩s valores en t茅rminos de magnitud o distribuci贸n. Los valores at铆picos pueden ser valores excepcionalmente altos o bajos en comparaci贸n con los dem谩s puntos de datos en el conjunto. Son problem谩ticos porque pueden distorsionar las estad铆sticas y los resultados de an谩lisis, as铆 como influir negativamente en la precisi贸n y la interpretaci贸n de los modelos de machine learning y estad铆sticas.

Los valores at铆picos pueden ser problem谩ticos por varias razones:

  • Distorsionan Estad铆sticas

  • Impacto en Modelos

  • Modelos Sensibles

  • Errores en Interpretaci贸n

  • Ruido en Datos

Algunos m茅todos estad铆sticos comunes para identificar valores at铆picos son:

  • Z-Score

  • DBSCAN (Agrupaci贸n espacial basada en densidad de aplicaciones con ruido) :

  • Criterio de Tukey
    Este criterio se basa en el rango intercuartil (IQR). Si un punto de datos est谩 por debajo de Q1 - 1.5 * IQR o por encima de Q3 + 1.5 * IQR, se considera un valor at铆pico.

La elecci贸n del m茅todo depende del contexto y la naturaleza de los datos. Es importante utilizar m煤ltiples m茅todos y herramientas visuales para identificar y confirmar la presencia de valores at铆picos antes de tomar decisiones sobre su tratamiento.

Esta secci贸n es muy importante, muchas veces no los iedentificamos y trabajamos incluyendolos, los cuales nos genera informaci贸n falsa

馃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.馃憖

https://www.youtube.com/watch?v=gc1y-r6hzG4&t=2626s