Entrenamiento y evaluación del modelo
En este paso, utilizarás la biblioteca de scikit-learn de Python para construir modelos de aprendizaje automático para predecir las ubicaciones de posibles tesoros submarinos basados en los datos preprocesados. Entrenarás y evaluarás el rendimiento de varios algoritmos de aprendizaje automático, como árboles de decisión, bosques aleatorios y máquinas de vectores de soporte.
En ~/project/model_training.py
:
## model_training.py
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_squared_error
## Lee los datos del archivo "underwater_data.csv"
data = pd.read_csv("/home/labex/project/underwater_data.csv")
## Convierte los datos a una matriz de NumPy
data = np.array(data)
## Extrae la matriz de características X y la variable objetivo y
X = data[:, :-1] ## Utiliza todas las filas, excepto la última columna como la matriz de características X
y = data[:, -1] ## Utiliza todas las filas, la última columna como la variable objetivo y
## Divide los datos preprocesados en conjuntos de entrenamiento y prueba
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
## Inicializa y entrena un regresor de bosque aleatorio
model = RandomForestRegressor(n_estimators=100, random_state=42)
model.fit(X_train, y_train)
## Evalúa el rendimiento del modelo
predictions = model.predict(X_test)
mse = mean_squared_error(y_test, predictions)
print(f"Error cuadrático medio: {mse}")
Ejecuta el script:
python model_training.py
La información siguiente debe mostrarse en tu terminal:
Error cuadrático medio: 1.8009639999999907