You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.3 KiB
37 lines
1.3 KiB
import pandas as pd
|
|
from sklearn.model_selection import train_test_split
|
|
from sklearn.linear_model import LinearRegression
|
|
from sklearn.metrics import mean_squared_error
|
|
from sklearn.preprocessing import LabelEncoder
|
|
|
|
# Charger les données
|
|
data = pd.read_csv('data\\data_emple.csv')
|
|
|
|
# Encoder les catégories 'category' et 'noteUser'
|
|
label_encoder = LabelEncoder()
|
|
data['category'] = label_encoder.fit_transform(data['category'])
|
|
data['noteUser'] = label_encoder.fit_transform(data['noteUser'])
|
|
|
|
# Sélectionner les caractéristiques pour l'entraînement du modèle
|
|
features = ['category', 'noteUser', 'distance', 'timeOfActivity', 'denivelePositif', 'speedAvg', 'bpmAvg']
|
|
|
|
# Diviser les données en ensembles d'entraînement et de test
|
|
train_data, test_data = train_test_split(data[features], test_size=0.2, random_state=42)
|
|
|
|
# Séparer les caractéristiques (X) de la cible (y)
|
|
X_train, y_train = train_data.drop('noteUser', axis=1), train_data['noteUser']
|
|
X_test, y_test = test_data.drop('noteUser', axis=1), test_data['noteUser']
|
|
|
|
# Créer et entraîner le modèle de régression linéaire
|
|
model = LinearRegression()
|
|
model.fit(X_train, y_train)
|
|
|
|
# Faire des prédictions sur l'ensemble de test
|
|
predictions = model.predict(X_test)
|
|
|
|
print(predictions)
|
|
|
|
# Évaluer le modèle
|
|
mse = mean_squared_error(y_test, predictions)
|
|
print(f'Mean Squared Error on Test Data: {mse}')
|