Treinamento e Avaliação do Modelo
Nesta etapa, você utilizará a biblioteca scikit-learn do Python para construir modelos de machine learning para prever as localizações de potenciais tesouros subaquáticos com base nos dados pré-processados. Você treinará e avaliará o desempenho de vários algoritmos de machine learning, como árvores de decisão, florestas aleatórias e máquinas de vetores de suporte (support vector machines).
Em ~/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
## Lê os dados do arquivo "underwater_data.csv"
data = pd.read_csv("/home/labex/project/underwater_data.csv")
## Converte os dados em um array NumPy
data = np.array(data)
## Extrai a matriz de características X e a variável alvo y
X = data[:, :-1] ## Usa todas as linhas, exceto a última coluna, como a matriz de características X
y = data[:, -1] ## Usa todas as linhas, a última coluna, como a variável alvo y
## Divide os dados pré-processados em conjuntos de treinamento e teste
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
## Inicializa e treina um regressor de floresta aleatória
model = RandomForestRegressor(n_estimators=100, random_state=42)
model.fit(X_train, y_train)
## Avalia o desempenho do modelo
predictions = model.predict(X_test)
mse = mean_squared_error(y_test, predictions)
print(f"Mean Squared Error: {mse}")
Execute o script:
python model_training.py
As informações abaixo devem ser exibidas no seu terminal:
Mean Squared Error: 1.8009639999999907