Objetivos de aprendizaje
- ¿Qué es el aprendizaje automático?
- Variables de entrada y destino
- Conjuntos de entrenamiento y prueba
- Tipos de Algoritmos
El ABC del aprendizaje automático
¿Qué es el aprendizaje automático?
- El aprendizaje automático permite que los sistemas aprendan y mejoren automáticamente a partir de la experiencia sin ser programados explícitamente.
- Permite que las computadoras descubran información valiosa y oculta
- En pocas palabras, Machine Learning es una nueva forma de comunicar sus deseos a una computadora.
¿Dónde se utiliza el aprendizaje automático?
- Detección de fraude - Por ejemplo: Detección de fraude con tarjeta de crédito. Nos ayudará a detectar si una transacción es fraudulenta o no.
- Filtrado de spam de correo electrónico: por ejemplo: ayuda a categorizar si un correo electrónico en particular debe ir a la bandeja de entrada o al buzón de spam.
- Motores de recomendación: por ejemplo, las plataformas de comercio electrónico como Amazon pueden recomendarle un producto similar en función de su lista de productos consultada anteriormente y muchos más.
¿Qué es un modelo de aprendizaje automático (ML)?
Por ahora, considerémoslo una caja mágica que nos ayuda a predecir lo que queremos. En el siguiente caso, queremos predecir si un correo electrónico entrante debe llegar a nuestra bandeja de entrada o a la carpeta de correo no deseado. Discutiremos más sobre los modelos ML pronto.

Palabras clave en ML
¡Entendamos algunas palabras clave en ML! Las mismas terminologías se utilizarán en Deep Learning. Por lo tanto, es crucial entenderlos correctamente:
Funciones o variables
Estos son los términos más comunes con los que nos encontraremos a partir de ahora. Las características y las variables son las mismas en un conjunto de datos; a menudo se usan indistintamente. ¡Así que no hay necesidad de preocuparse por eso!

Variable de destino/etiqueta
-
La variable de destino o la etiqueta de un conjunto de datos es la característica de un conjunto de datos sobre la que desea obtener una comprensión más profunda. Es la variable que es, o debería ser, la salida.
-
Al detectar correos electrónicos no deseados, la etiqueta será la categoría a la que pertenece el correo electrónico, es decir, 'correo no deseado' o 'no es correo no deseado'.

Predictor/Variables de entrada
Una o más variables utilizadas para determinar (o predecir) la 'Variable objetivo' se conocen como Variables de entrada. A veces también se denominan variables predictoras o descriptores. En el ejemplo del detector de spam, las características podrían incluir lo siguiente:
- Palabras en el texto del correo electrónico
- Dirección del remitente
- Hora del día en que se envió el correo electrónico
- Web y contenido gráfico
- El correo electrónico contiene la frase "felicidades, ganó $ 1 mil millones: comparta sus datos bancarios".

Variables dependientes e independientes
- Ha estado estudiando variables de entrada y salida/objetivo. Comúnmente, la variable de entrada se conoce como variable independiente y la variable objetivo se conoce como variable dependiente.
- En pocas palabras, nuestra variable objetivo no es más que una variable dependiente. ¿Por qué dependiente? Porque los valores de esta variable dependen de otras variables (es decir, variables de entrada)
- Y nuestras variables de entrada se conocen como variables independientes. Aquí los valores de estas variables no dependen de ninguna otra variable.
¡Veamos algunos ejemplos para aprender más sobre ellos!
- En el siguiente conjunto de datos, es posible que tengamos curiosidad por predecir "crime_rate" en el futuro, de modo que se convierta en nuestra variable objetivo (variable dependiente) y el resto de las variables se conviertan en variables de entrada (variables independientes) para construir un modelo de aprendizaje automático.

Otro ejemplo
- Una variable independiente es como una perilla que puedes girar, algo ajustable.
- Una variable dependiente es lo que cambia cuando giras la perilla.
- Puede cambiar las horas de estudio y, como resultado, la calificación del curso cambia.
- Eso hace que las horas de estudio sean la variable independiente y la nota del curso la variable dependiente.
- Además, es posible que las horas de estudio no sean el único factor que afecte la calificación del curso. Puede haber otras variables independientes como la calidad de los libros o incluso la calidad de la educación brindada por su instructor/profesor.
Resumen de sinónimos
¿Demasiados sinónimos para memorizar? Permítanme ponerlos todos en un solo lugar para una mejor comprensión:
- Variables = Características
- Variables de Entrada = Atributos = Predictores = Descriptores = Variables Independientes
- Variables objetivo = Etiquetas = Resultados = Variables dependientes
Conjuntos de entrenamiento y prueba
Conjunto de entrenamiento y prueba

- Para usar una analogía, digamos que le enseñas a un niño a multiplicar dejándolo entrenar en la tabla de multiplicar pequeña, es decir, todo, desde
hasta . - A continuación, prueba si el kid puede realizar las mismas multiplicaciones. El resultado es un éxito. El niño lo hace bien casi siempre.
- ¿Cuál es el problema aquí?
- ¡No sabes si el niño entiende la multiplicación o simplemente ha memorizado la tabla!

Conjunto de datos de entrenamiento y prueba
- Entonces, lo que haría en su lugar es probar al niño con multiplicaciones como
fuera de la tabla. - Esta es precisamente la razón por la que necesitamos probar modelos de aprendizaje automático en datos no vistos o de prueba. De lo contrario, no podemos saber si el algoritmo ha aprendido un patrón generalizable o ha memorizado los datos de entrenamiento.
- DATOS DE ENTRENAMIENTO: Las observaciones en el conjunto de entrenamiento forman la experiencia que el algoritmo usa para aprender.
- DATOS DE PRUEBA: El conjunto de prueba es un conjunto de observaciones utilizadas para evaluar la rendimiento del modelo utilizando alguna métrica de rendimiento.
No se deben incluir observaciones del conjunto de entrenamiento en el conjunto de prueba. Si el conjunto de prueba contiene ejemplos del conjunto de entrenamiento, no será fácil evaluar si el algoritmo ha aprendido a generalizar del conjunto de entrenamiento o si lo ha memorizado.
División de prueba de tren
- Considere un ejemplo donde nuestro conjunto de datos original tiene 1000 filas.
- Cuando construimos nuestro modelo ML, dividiremos nuestro conjunto de datos en dos partes (70% de datos de entrenamiento y 30% de datos de prueba).
- Entrenaremos nuestro modelo en el 70 % de los datos, es decir, 700 filas, y luego probaremos el rendimiento de nuestro modelo en el 30 % de los datos, es decir, 300 filas. Como se discutió anteriormente, mientras probamos nuestro modelo, no proporcionaremos el resultado de nuestro modelo para los datos de prueba, aunque sabemos el resultado y, en cambio, dejaremos que nuestro modelo nos proporcione el resultado de esas 300 filas.
- Más tarde, compararemos el resultado de nuestro modelo con el resultado real de nuestros datos de prueba para obtener la precisión de las predicciones de nuestro modelo.
- Para dividir nuestros datos en conjuntos de entrenamiento y prueba, usamos el método train_test_split de la biblioteca sci-kit-learn.
División de datos
- Separamos los datos en entrada y variable objetivo
- Los dividimos aún más en conjuntos de datos de entrenamiento y prueba

Consideremos los siguientes datos con diez entradas, y nuestro objetivo es predecir si alguien ha comprado un producto o no, es decir, la columna "ProductPurchase" = Sí o No.

Aquí, País, Edad y Salario son las variables de entrada utilizadas para predecir la variable de destino: Compra de producto.
Entrada separada (X) y variables objetivo (y)
- Separamos el conjunto de datos en dos nuevos conjuntos de datos, uno con variables de entrada - X (País, Edad y Salario) y el otro con la variable objetivo - y (Compra de Producto).
- X ahora tiene los datos sin la columna 'ProductPurchase' (esto se logra con la función 'soltar').
- y, por otro lado, contiene solo la columna 'ProductPurchase'.

¡Dividir en conjuntos de datos de entrenamiento y prueba!
- Ahora dividiremos el conjunto de datos X en dos conjuntos: X_train y X_test.
- Del mismo modo, dividiremos el conjunto de datos y en dos conjuntos: y_train y y_test.
- test_size: la proporción del conjunto de datos que se utilizará en el conjunto de prueba. Si hay 100 filas, se utilizarán 67 filas en el conjunto de trenes y 33 en el conjunto de prueba.
- random_state: Se proporciona para obtener el mismo resultado cada vez que ejecutamos el código. Garantiza que las filas del conjunto de prueba y del tren permanezcan iguales cada vez.

Referencia aquí: ML con Titanic Data
Tipos de Algoritmos
Algoritmos de aprendizaje supervisado
Hablemos de los conjuntos de datos que tienen tanto variables de entrada como variables de destino (etiquetas para los datos), que van desde predecir la tasa de supervivencia de una persona en el conjunto de datos del Titanic, donde ya se proporciona la tasa de supervivencia, hasta predecir el precio de la vivienda según la casa. características, donde se facilitan los precios de las viviendas.
Los algoritmos que funcionan en dichos conjuntos de datos se conocen como algoritmos de aprendizaje supervisado.
Se llama aprendizaje supervisado porque el proceso de aprendizaje de un algoritmo a partir del conjunto de datos de entrenamiento puede considerarse como un maestro que supervisa el proceso de aprendizaje. Sabemos las respuestas correctas; el algoritmo hace predicciones de forma iterativa sobre los datos de entrenamiento y el profesor lo corrige. El aprendizaje se detiene cuando el algoritmo alcanza un nivel aceptable de rendimiento.
Algoritmos de aprendizaje no supervisados
El aprendizaje no supervisado es donde tiene datos sin etiquetar (o no variable de destino) en el conjunto de datos.
Los algoritmos de aprendizaje no supervisados tienen como objetivo encontrar alguna estructura en el conjunto de datos.
Estos se denominan aprendizaje no supervisado porque, a diferencia del aprendizaje supervisado, no hay Respuestas correctas y no hay profesor. Los algoritmos se dejan solos para descubrir y presentar la estructura interesante en los datos.
Tipos de algoritmos de aprendizaje supervisado
El aprendizaje supervisado se puede dividir en dos tipos:
- Clasificación
- Regresión
Clasificación vs Regresión

Para decidir si usar un modelo de regresión o de clasificación, la primera pregunta que debes hacerte es:
¿Su variable objetivo tiene un valor continuo o es discreta (binaria o multiclase)?
Regresión
Si su respuesta es valores continuos, se trata de una regresión.
Si está tratando de predecir cantidades como altura, ingresos, precio o puntajes, debe usar un modelo que genere un número continuo.
Entonces, si su objetivo es determinar la temperatura de mañana, debe usar un modelo de regresión.
Clasificación
Pasemos al segundo caso, donde puedes ver que la variable objetivo se divide en clases. Estarás usando Clasificación.
Cuando el número de clases es 2, se conoce como Clasificación Binaria. Por ejemplo, ¿Hará frío o calor mañana? es un problema de clasificación binaria con dos categorías: frío y calor.
Cuando es mayor a 2, se le conoce como Clasificación Multiclase. Por ejemplo, clasifique las películas como buenas, promedio o malas según las reseñas.

Comprender las características de su variable objetivo es esencial antes de comenzar a ejecutar modelos y formar predicciones.