Cómo empezar en machine learning con Python desde cero

Cómo empezar en machine learning con Python desde cero

El machine learning, o aprendizaje automático, es una rama de la inteligencia artificial que permite a los ordenadores aprender patrones a partir de datos. En lugar de programar todas las reglas manualmente, entrenamos un modelo con ejemplos para que pueda hacer predicciones, clasificar información o detectar patrones.

Python es uno de los lenguajes más usados para empezar en machine learning porque es sencillo, tiene una comunidad enorme y cuenta con librerías muy potentes como NumPy, pandas, scikit-learn, Matplotlib, TensorFlow o PyTorch.

Si partes desde cero, no necesitas aprenderlo todo a la vez. Lo importante es seguir un camino ordenado: primero Python básico, después manejo de datos, luego estadística esencial y finalmente modelos simples de machine learning.

Table
  1. Qué necesitas saber antes de empezar
  2. Qué es machine learning, explicado fácil
  3. Tipos básicos de machine learning
    1. Aprendizaje supervisado
    2. Aprendizaje no supervisado
    3. Aprendizaje por refuerzo
  4. Paso 1: aprende Python básico
  5. Paso 2: instala tu entorno de trabajo
    1. Opción sencilla: Google Colab
    2. Opción local: Anaconda
    3. Opción más técnica: VS Code
  6. Paso 3: aprende NumPy y pandas
    1. NumPy
    2. pandas
  7. Paso 4: aprende visualización de datos
  8. Paso 5: entiende estadística básica
  9. Paso 6: aprende scikit-learn
  10. Paso 7: aprende a separar entrenamiento y prueba
  11. Paso 8: empieza con modelos sencillos
    1. Regresión lineal
    2. Regresión logística
    3. Árboles de decisión
    4. Random Forest
    5. K-means
  12. Paso 9: aprende métricas de evaluación
  13. Paso 10: practica con datasets reales
  14. Ruta de aprendizaje recomendada
    1. Semana 1-2: Python básico
    2. Semana 3-4: pandas y datos
    3. Semana 5: visualización
    4. Semana 6: estadística básica
    5. Semana 7-8: scikit-learn
    6. Semana 9-10: proyectos pequeños
    7. Después: profundización
  15. Proyecto práctico para empezar
  16. Errores comunes al empezar
    1. Querer aprender todo a la vez
    2. Copiar código sin entenderlo
    3. Ignorar la limpieza de datos
    4. No evaluar correctamente
    5. Obsesionarse con redes neuronales
    6. No hacer proyectos
  17. Herramientas recomendadas
  18. Cómo saber si estás progresando

Qué necesitas saber antes de empezar

No hace falta ser matemático ni programador avanzado para dar los primeros pasos, pero sí necesitas una base mínima.

Qué es el doble factor de autenticación y cómo activarlo paso a paso

Antes de entrenar modelos, conviene entender:

  • Variables, listas, diccionarios y funciones en Python.
  • Cómo leer y manipular datos.
  • Conceptos básicos de estadística.
  • Qué es una tabla de datos.
  • Cómo interpretar gráficos.
  • Qué significa entrenar y evaluar un modelo.

El error más común es empezar directamente con redes neuronales o modelos complejos. Eso suele generar frustración. Es mejor dominar primero problemas sencillos y modelos clásicos.

Qué es machine learning, explicado fácil

Machine learning consiste en enseñar a un algoritmo a encontrar patrones en datos.

Por ejemplo, imagina que tienes una tabla con viviendas:

Cómo borrar tus datos personales de internet paso a paso
TamañoHabitacionesZonaPrecio
80 m²2Centro250.000 €
120 m²3Norte330.000 €
60 m²1Sur180.000 €

Con suficientes ejemplos, un modelo puede aprender la relación entre tamaño, habitaciones, zona y precio. Luego podrías darle una vivienda nueva y pedirle que estime su precio.

Eso es un problema de regresión, porque queremos predecir un número.

Otro ejemplo: detectar si un email es spam o no. Ahí queremos clasificar entre dos categorías: spam o no spam. Eso es un problema de clasificación.

Tipos básicos de machine learning

Para empezar, basta con conocer tres tipos:

Cómo saber si una app móvil está robando tus datos personales

Aprendizaje supervisado

El modelo aprende con ejemplos que ya tienen respuesta. Por ejemplo, viviendas con precio conocido, emails marcados como spam o clientes clasificados como compradores o no compradores.

Se usa para:

  • Predecir precios.
  • Clasificar correos.
  • Detectar fraude.
  • Estimar ventas.
  • Predecir abandono de clientes.

Aprendizaje no supervisado

El modelo busca patrones sin tener una respuesta previa. Por ejemplo, agrupar clientes según comportamiento de compra.

Se usa para:

Qué permisos de Android deberías desactivar para mejorar tu privacidad
  • Segmentación de clientes.
  • Agrupación de productos.
  • Detección de patrones.
  • Reducción de dimensiones.

Aprendizaje por refuerzo

El modelo aprende mediante prueba y error, recibiendo recompensas o penalizaciones. Se usa en robótica, juegos, sistemas de decisión y control.

Para empezar desde cero, céntrate primero en aprendizaje supervisado.

Paso 1: aprende Python básico

Python será tu herramienta principal. No necesitas saberlo todo, pero sí dominar lo esencial.

Conceptos clave:

  • Variables.
  • Tipos de datos.
  • Condicionales.
  • Bucles.
  • Listas y diccionarios.
  • Funciones.
  • Lectura de archivos.
  • Instalación de paquetes.
  • Uso de notebooks.

Ejemplo básico:

nombre = "Ana"
edad = 28

if edad >= 18:
print(nombre, "es mayor de edad")
else:
print(nombre, "es menor de edad")

También deberías practicar funciones:

def calcular_iva(precio):
return precio * 1.21

print(calcular_iva(100))

Cuando entiendas este tipo de código sin dificultad, puedes pasar al análisis de datos.

Paso 2: instala tu entorno de trabajo

Para empezar, tienes varias opciones.

Opción sencilla: Google Colab

Google Colab permite programar en Python desde el navegador, sin instalar nada. Es ideal para principiantes porque ya incluye muchas librerías útiles.

Ventajas:

  • No necesitas configurar tu ordenador.
  • Funciona desde el navegador.
  • Puedes guardar notebooks en Google Drive.
  • Permite ejecutar código por bloques.
  • Es gratis para aprender.

Opción local: Anaconda

Anaconda instala Python, Jupyter Notebook y muchas librerías de ciencia de datos. Es una buena opción si quieres trabajar en tu ordenador.

Opción más técnica: VS Code

Visual Studio Code es un editor muy popular. Es flexible y potente, pero puede requerir algo más de configuración.

Recomendación para empezar: usa Google Colab. Te permite centrarte en aprender sin pelearte con instalaciones.

Paso 3: aprende NumPy y pandas

Cuando trabajas con machine learning, casi todo empieza con datos. Para manejarlos en Python, dos librerías son fundamentales.

NumPy

NumPy sirve para trabajar con arrays, matrices y operaciones numéricas.

Ejemplo:

import numpy as np

numeros = np.array([10, 20, 30, 40])
print(numeros.mean())

pandas

pandas sirve para trabajar con tablas de datos, similares a hojas de cálculo.

Ejemplo:

import pandas as pd

datos = {
"nombre": ["Ana", "Luis", "Marta"],
"edad": [28, 35, 22],
"ciudad": ["Madrid", "Valencia", "Sevilla"]
}

df = pd.DataFrame(datos)
print(df)

Con pandas aprenderás a:

  • Cargar archivos CSV.
  • Ver filas y columnas.
  • Filtrar datos.
  • Limpiar valores vacíos.
  • Agrupar información.
  • Crear nuevas columnas.
  • Calcular estadísticas básicas.

Ejemplo de carga de datos:

df = pd.read_csv("datos.csv")
print(df.head())
print(df.info())
print(df.describe())

Si no sabes manejar datos, entrenar modelos será mucho más difícil. Por eso pandas es una de las primeras habilidades que debes dominar.

Paso 4: aprende visualización de datos

Antes de entrenar un modelo, necesitas entender los datos. Para eso sirven los gráficos.

La librería más básica es Matplotlib.

Ejemplo:

import matplotlib.pyplot as plt

edades = [20, 25, 30, 35, 40]
salarios = [18000, 22000, 28000, 35000, 42000]

plt.scatter(edades, salarios)
plt.xlabel("Edad")
plt.ylabel("Salario")
plt.title("Relación entre edad y salario")
plt.show()

También puedes usar gráficos de barras, histogramas y líneas.

Los gráficos ayudan a detectar:

  • Tendencias.
  • Valores extremos.
  • Errores en los datos.
  • Relaciones entre variables.
  • Distribuciones desiguales.

No entrenes modelos a ciegas. Mira los datos primero.

Paso 5: entiende estadística básica

No necesitas dominar estadística avanzada al principio, pero sí algunos conceptos.

Aprende:

  • Media.
  • Mediana.
  • Desviación estándar.
  • Correlación.
  • Distribución.
  • Porcentaje.
  • Probabilidad básica.
  • Muestra y población.
  • Variables numéricas y categóricas.

Ejemplo sencillo:

Si la media de ventas mensuales es 10.000 €, pero algunos meses vendes 1.000 € y otros 30.000 €, la media puede no contar toda la historia. Por eso también necesitas mirar la distribución, valores extremos y tendencias.

En machine learning, la estadística te ayuda a entender si un modelo realmente está aprendiendo o solo está dando resultados engañosos.

Paso 6: aprende scikit-learn

scikit-learn es la librería más recomendable para empezar en machine learning clásico con Python. Permite entrenar modelos de regresión, clasificación, clustering y evaluación con una sintaxis bastante clara.

Un flujo básico con scikit-learn suele ser:

  1. Cargar datos.
  2. Separar variables de entrada y variable objetivo.
  3. Dividir datos en entrenamiento y prueba.
  4. Elegir modelo.
  5. Entrenar modelo.
  6. Hacer predicciones.
  7. Evaluar resultados.

Ejemplo simple de regresión lineal:

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error

# Datos de ejemplo
df = pd.DataFrame({
"metros": [50, 60, 80, 100, 120, 150],
"habitaciones": [1, 2, 2, 3, 3, 4],
"precio": [150000, 180000, 240000, 300000, 360000, 450000]
})

X = df[["metros", "habitaciones"]]
y = df["precio"]

X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)

modelo = LinearRegression()
modelo.fit(X_train, y_train)

predicciones = modelo.predict(X_test)

error = mean_absolute_error(y_test, predicciones)
print("Error medio absoluto:", error)

Este ejemplo es muy pequeño, pero muestra la idea básica.

Paso 7: aprende a separar entrenamiento y prueba

Uno de los conceptos más importantes es no evaluar el modelo con los mismos datos que usaste para entrenarlo.

Si estudias para un examen memorizando las preguntas exactas y luego te hacen esas mismas preguntas, sacarás buena nota, pero eso no demuestra que entiendas el tema. Lo mismo ocurre con un modelo.

Por eso se dividen los datos:

  • Entrenamiento: datos para que el modelo aprenda.
  • Prueba: datos nuevos para comprobar si generaliza.

En scikit-learn se hace así:

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)

Normalmente se usa entre un 70% y 80% para entrenamiento, y el resto para prueba.

Paso 8: empieza con modelos sencillos

No necesitas empezar con redes neuronales. De hecho, suele ser mejor empezar con modelos clásicos.

Modelos recomendados para principiantes:

Regresión lineal

Sirve para predecir valores numéricos, como precios, ventas o temperaturas.

Regresión logística

Sirve para clasificación binaria, como sí/no, compra/no compra, spam/no spam.

Árboles de decisión

Son modelos fáciles de entender porque toman decisiones por ramas.

Random Forest

Combina muchos árboles de decisión y suele funcionar bastante bien en problemas prácticos.

K-means

Sirve para agrupar datos sin etiquetas, por ejemplo segmentar clientes.

Empieza con un modelo simple, evalúa resultados y después prueba uno más avanzado.

Paso 9: aprende métricas de evaluación

Entrenar un modelo no sirve de mucho si no sabes medir si funciona.

Para regresión puedes usar:

  • Error absoluto medio.
  • Error cuadrático medio.
  • R².

Para clasificación puedes usar:

  • Accuracy.
  • Precision.
  • Recall.
  • F1-score.
  • Matriz de confusión.

Ejemplo de clasificación:

from sklearn.metrics import accuracy_score, classification_report

predicciones = modelo.predict(X_test)

print("Accuracy:", accuracy_score(y_test, predicciones))
print(classification_report(y_test, predicciones))

Importante: una accuracy alta no siempre significa que el modelo sea bueno. Si el 95% de los emails no son spam, un modelo que diga siempre “no spam” tendrá 95% de acierto, pero será inútil para detectar spam. Por eso hay que entender bien las métricas.

Paso 10: practica con datasets reales

La mejor forma de aprender es practicar. Puedes empezar con datasets clásicos:

  • Iris: clasificación de flores.
  • Titanic: predicción de supervivencia.
  • Boston Housing o California Housing: precios de viviendas.
  • MNIST: reconocimiento de dígitos.
  • Wine Dataset: clasificación de vinos.

Para principiantes, Iris y Titanic son buenos puntos de partida.

Proyecto recomendado:

  1. Carga el dataset Titanic.
  2. Explora columnas.
  3. Limpia datos vacíos.
  4. Convierte variables categóricas.
  5. Entrena un modelo simple.
  6. Evalúa resultados.
  7. Intenta mejorarlo.

Este tipo de proyecto enseña mucho más que leer teoría durante semanas.

Ruta de aprendizaje recomendada

Una ruta realista sería:

Semana 1-2: Python básico

Aprende variables, listas, funciones, bucles y notebooks.

Semana 3-4: pandas y datos

Carga CSV, filtra tablas, agrupa datos y limpia valores.

Semana 5: visualización

Crea gráficos simples y aprende a interpretar datos.

Semana 6: estadística básica

Media, mediana, correlación, distribución y probabilidad.

Semana 7-8: scikit-learn

Entrena modelos simples de regresión y clasificación.

Semana 9-10: proyectos pequeños

Haz 2 o 3 proyectos completos con datasets reales.

Después: profundización

Aprende validación cruzada, ingeniería de variables, pipelines, modelos avanzados y, más adelante, redes neuronales.

Proyecto práctico para empezar

Un buen primer proyecto es predecir el precio de una vivienda según metros cuadrados y habitaciones.

Pasos:

  1. Crear o descargar un dataset.
  2. Cargarlo con pandas.
  3. Revisar datos.
  4. Crear gráficos.
  5. Separar variables.
  6. Dividir entrenamiento y prueba.
  7. Entrenar regresión lineal.
  8. Medir error.
  9. Probar con Random Forest.
  10. Comparar resultados.

Lo importante no es que el modelo sea perfecto, sino entender el proceso completo.

Errores comunes al empezar

Querer aprender todo a la vez

Machine learning incluye programación, matemáticas, datos y modelos. Ve paso a paso.

Copiar código sin entenderlo

Puedes usar ejemplos, pero intenta explicar cada línea con tus palabras.

Ignorar la limpieza de datos

En proyectos reales, limpiar datos suele llevar más tiempo que entrenar el modelo.

No evaluar correctamente

Un modelo que funciona bien en entrenamiento puede fallar en datos nuevos.

Obsesionarse con redes neuronales

Las redes neuronales son útiles, pero no siempre necesarias. Muchos problemas reales se resuelven con modelos clásicos.

No hacer proyectos

La teoría es importante, pero se aprende practicando.

Herramientas recomendadas

Para empezar:

  • Google Colab.
  • Python.
  • pandas.
  • NumPy.
  • Matplotlib.
  • scikit-learn.
  • Kaggle.
  • Jupyter Notebook.

Más adelante:

  • TensorFlow.
  • PyTorch.
  • XGBoost.
  • Streamlit.
  • FastAPI.
  • MLflow.

No necesitas dominar todas desde el principio.

Cómo saber si estás progresando

Estás avanzando bien si puedes:

  • Cargar un CSV.
  • Entender columnas y filas.
  • Limpiar datos básicos.
  • Crear gráficos.
  • Separar X e y.
  • Entrenar un modelo simple.
  • Evaluarlo con una métrica.
  • Explicar qué hace el modelo.
  • Mejorar poco a poco los resultados.

Si puedes hacer eso, ya tienes una base real.

Si quieres conocer otros artículos parecidos a Cómo empezar en machine learning con Python desde cero puedes visitar la categoría Blog.

Entradas Relacionadas