skip ligne + ia

pull/4/head^2
Enzo 2 years ago
parent 2c3da877ca
commit 48ac81bea0

@ -0,0 +1,6 @@
category,noteUser,distance,timeOfActivity,denivelePositif,speedAvg,bpmAvg
walking,80,2147.0,1716.5,471.5999999999999,1.2740575455079353,114
walking,90,1013.0,933.24,393.2000000000004,1.2849015317286667,122
walking,95,225.0,228.49,346.6000000000006,1.1007253886010366,99
cycling,50,20525.4,6770.675,597.8000000000001,3.5130617816091947,143
1 category noteUser distance timeOfActivity denivelePositif speedAvg bpmAvg
2 walking 80 2147.0 1716.5 471.5999999999999 1.2740575455079353 114
3 walking 90 1013.0 933.24 393.2000000000004 1.2849015317286667 122
4 walking 95 225.0 228.49 346.6000000000006 1.1007253886010366 99
5 cycling 50 20525.4 6770.675 597.8000000000001 3.5130617816091947 143

@ -0,0 +1,24 @@
# IA
## Fonctionnement
Déterminé une activité pour l'utilisateur
### Data
Utiliser les activityInfo (vitesseAvg,BPM,....)
### Raisonnement
L'utilisateur pourra noter son activiter "Facile,moyen,dur" demander une note sur 100
### Calcul
En fonction de la note
Il devra savoir et répondre une séance
-> Vous devrez faire tant de km à x vitesse
-> Vous serez entre x BPM
-> Essayer de faire x denivelé
-> .... etc

@ -0,0 +1,36 @@
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}')

File diff suppressed because it is too large Load Diff

@ -186,6 +186,7 @@ class ManagerFile {
Map<String, Map<String, String>> ligneDataResult = {}; Map<String, Map<String, String>> ligneDataResult = {};
// -- Skip ligne whith no data -- // // -- Skip ligne whith no data -- //
bool skip = true; bool skip = true;
int nbData = 0;
// -- Si ce n'est pas de la data on pass -- // // -- Si ce n'est pas de la data on pass -- //
if (listeField[0] != "Data") { if (listeField[0] != "Data") {
@ -198,7 +199,10 @@ class ManagerFile {
tmp["Unite"] = listeField[i + 2].toString(); tmp["Unite"] = listeField[i + 2].toString();
ligneDataResult[listeField[i]] = tmp; ligneDataResult[listeField[i]] = tmp;
i += 2; i += 2;
skip = false; nbData += 1;
if (nbData >= 2) {
skip = false;
}
} }
// -- Pour boucler -- // // -- Pour boucler -- //

@ -50,7 +50,6 @@ class ListActivityUtile {
Provider.of<User>(context, listen: false).listActivity.clear(); Provider.of<User>(context, listen: false).listActivity.clear();
notZero = true; notZero = true;
} }
// -- connaitre le type de categorie pour changer le type d'info -- //
Provider.of<User>(context, listen: false).addActivity(ActivityOfUser( Provider.of<User>(context, listen: false).addActivity(ActivityOfUser(
ActivityInfo.fromJson(element["info"]), ActivityInfo.fromJson(element["info"]),
@ -71,8 +70,10 @@ class ListActivityUtile {
Uint8List byteCSV = Uint8List.fromList(utf8.encode(csvString)); Uint8List byteCSV = Uint8List.fromList(utf8.encode(csvString));
// --- Save Local // --- Save Local
// --- Api // --- Api
//ManagerFile x = ManagerFile(); /*
//await File("${await x.localPath}\\test.csv").writeAsString(csvString); ManagerFile x = ManagerFile();
await File("${await x.localPath}\\test.csv").writeAsString(csvString);
print("${await x.localPath}\\test.csv");*/
Tuple2<bool, String> result = await _strategy.uploadFileByte( Tuple2<bool, String> result = await _strategy.uploadFileByte(
token, token,

Loading…
Cancel
Save