Casos de reescalado en el mundo real
1. Análisis de datos financieros
Normalización de precios de acciones
import numpy as np
import pandas as pd
def normalize_stock_prices(prices):
return (prices - prices.min()) / (prices.max() - prices.min())
stock_prices = np.array([50, 55, 60, 52, 58])
normalized_prices = normalize_stock_prices(stock_prices)
2. Preparación de características para el aprendizaje automático
Preparación de características para redes neuronales
from sklearn.preprocessing import MinMaxScaler
from sklearn.model_selection import train_test_split
def prepare_ml_features(X):
scaler = MinMaxScaler()
X_scaled = scaler.fit_transform(X)
return X_scaled, scaler
## Example dataset preparation
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
X_train_scaled, scaler = prepare_ml_features(X_train)
X_test_scaled = scaler.transform(X_test)
3. Procesamiento de imágenes
Normalización de canales de color
import numpy as np
def normalize_image_channels(image):
return (image - image.min()) / (image.max() - image.min())
## RGB image normalization
rgb_image = np.random.randint(0, 256, (100, 100, 3))
normalized_image = np.apply_along_axis(normalize_image_channels, 2, rgb_image)
4. Procesamiento de datos de sensores
Calibración de lecturas de sensores IoT
def calibrate_sensor_readings(readings, min_val, max_val):
return [(reading - min_val) / (max_val - min_val) * 100
for reading in readings]
temperature_readings = [18.5, 20.3, 22.1, 19.7]
calibrated_readings = calibrate_sensor_readings(
temperature_readings,
min(temperature_readings),
max(temperature_readings)
)
Comparación de métodos de reescalado
Caso de uso |
Método de reescalado |
Beneficio clave |
Redes neuronales |
Escalado MinMax |
Entrada acotada |
Regresión lineal |
Escalado estándar |
Media cero |
Detección de anomalías |
Escalado robusto |
Resistencia a valores atípicos |
5. Normalización de series temporales
Preparación de series temporales para la predicción
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
def prepare_time_series(series):
scaler = MinMaxScaler()
scaled_series = scaler.fit_transform(series.values.reshape(-1, 1))
return scaled_series, scaler
## Example time series scaling
time_series_data = pd.Series([100, 120, 110, 130, 125])
scaled_series, scaler = prepare_time_series(time_series_data)
Visualización del flujo de trabajo de reescalado
graph TD
A[Raw Data] --> B[Identify Scaling Needs]
B --> C{Select Scaling Method}
C -->|Neural Network| D[MinMax Scaling]
C -->|Statistical Analysis| E[Standard Scaling]
C -->|Outlier-rich Data| F[Robust Scaling]
D --> G[Scaled Data Ready for Processing]
E --> G
F --> G
Mejores prácticas para el reescalado en el mundo real
- Siempre entender las características de tus datos.
- Elegir el método de reescalado en función del caso de uso específico.
- Mantener un reescalado consistente en los conjuntos de datos de entrenamiento y prueba.
- Preservar las relaciones originales de los datos.
- Manejar casos extremos y valores atípicos potenciales.
Al dominar estas técnicas de reescalado en el mundo real con LabEx, estarás capacitado para enfrentar diversos desafíos de preprocesamiento de datos en múltiples dominios.