1 usuario conectado

Aprendizaje automático en Python.Librerías.Scikit-Learn

Comparte esto

Ahora nos adentramos en el fascinante campo del Aprendizaje Automático (Machine Learning) con Python, y comenzaremos con una de las librerías más populares y versátiles: Scikit-learn.

Scikit-learn: Herramientas Simples y Eficientes para el Aprendizaje Automático en Python

Scikit-learn es una librería de Python de código abierto que proporciona una amplia gama de algoritmos de aprendizaje automático para tareas de clasificación, regresión, clustering, reducción de dimensionalidad, selección de modelos y preprocesamiento de datos. Está construida sobre NumPy, SciPy y Matplotlib, y se caracteriza por su consistencia, facilidad de uso y excelente documentación.

Características Clave de Scikit-learn:

Un Ejemplo Básico de Clasificación con Scikit-learn:

Python
 
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
from sklearn.datasets import load_iris

# Cargar el dataset Iris (un problema de clasificación multiclase)
iris = load_iris()
X, y = iris.data, iris.target

# Dividir los datos en conjuntos de entrenamiento y prueba
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# Inicializar un modelo de regresión logística
model = LogisticRegression(solver='liblinear', multi_class='ovr')

# Entrenar el modelo con los datos de entrenamiento
model.fit(X_train, y_train)

# Realizar predicciones en el conjunto de prueba
y_pred = model.predict(X_test)

# Evaluar la precisión del modelo
accuracy = accuracy_score(y_test, y_pred)
print(f"Precisión del modelo: {accuracy:.2f}")

# También podemos obtener las probabilidades de clase para cada predicción
y_pred_proba = model.predict_proba(X_test)
print("\nProbabilidades predichas:\n", y_pred_proba[:5])

Un Ejemplo Básico de Regresión con Scikit-learn:

Python
 
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
from sklearn.datasets import load_diabetes

# Cargar el dataset Diabetes (un problema de regresión)
diabetes = load_diabetes()
X, y = diabetes.data, diabetes.target

# Dividir los datos en conjuntos de entrenamiento y prueba
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# Inicializar un modelo de regresión lineal
model = LinearRegression()

# Entrenar el modelo con los datos de entrenamiento
model.fit(X_train, y_train)

# Realizar predicciones en el conjunto de prueba
y_pred = model.predict(X_test)

# Evaluar el error cuadrático medio del modelo
mse = mean_squared_error(y_test, y_pred)
print(f"Error cuadrático medio del modelo: {mse:.2f}")

Un Ejemplo Básico de Clustering con Scikit-learn:

Python
 
from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt

# Generar datos de ejemplo para clustering
X, y = make_blobs(n_samples=300, centers=3, cluster_std=0.60, random_state=0)

# Inicializar y entrenar el modelo k-medias
kmeans = KMeans(n_clusters=3, random_state=0, n_init=10)
y_kmeans = kmeans.fit_predict(X)

# Visualizar los clusters
plt.scatter(X[:, 0], X[:, 1], c=y_kmeans, s=50, cmap='viridis')
centers = kmeans.cluster_centers_
plt.scatter(centers[:, 0], centers[:, 1], c='black', s=200, alpha=0.5)
plt.title('Clustering K-Medias')
plt.xlabel('Característica 1')
plt.ylabel('Característica 2')
plt.show()

Ventajas de Usar Scikit-learn:

Cuándo Usar Scikit-learn:

Scikit-learn es una herramienta fundamental para cualquier persona que quiera trabajar con aprendizaje automático en Python. Su versatilidad y facilidad de uso lo convierten en una excelente opción tanto para principiantes como para expertos. ¿Te gustaría que exploremos algún algoritmo específico, el preprocesamiento de datos o la selección de modelos con Scikit-learn?