Devoir

Retrouver tous les sujets résolus.
Répondre
Marguerite

Devoir

Message par Marguerite » mer. 7 déc. 2022 02:33

Bonjour

Alors je vous explique : je suis en terminale dans un lycée (trop) prestigieux de Paris, j'ai pris la spécialité NSI. Notre enseignant en NSI est un prof de classe préparatoire, donc on ne fait que du hors programme...

Il nous a donnés un projet de programmation Python à faire pour début janvier 2023, mais c'est très dur pour moi. Cela porte sur de l'approfondissement en statistiques, ce que l'on peut faire en plus qu'une régression linéaire pour étudier des données. Je vous donne le PDF avec en page 1 l'énoncé du projet, et à partir de la page 2 c'est le rappel de cours (hors programme....) que le prof a donnés. Le PDF : https://www.cjoint.com/data/LLhby1IXINW_Devoir-NSI.pdf

Je vous donne aussi les données qu'il nous met à disposition pour le projet :
https://www.cjoint.com/data/LLhbFSenyQW ... devoir.zip

Comment me suggérez-vous de commencer ce projet ? J'ai plutôt bien compris les notions indiquées dans le PDF d'approfondissement, mais comment se lancer dans le projet ? Quelles données utiliser ? En plus je comprends pas bien l'objectif du projet et je galère en Python....

Merci pour l'aide en avance, je suis totalement désespérée (et épuisée, vivement les vacances....).

Bon mercredi à vous.

Marguerite
SoS-Math(31)
Messages : 1360
Enregistré le : lun. 12 oct. 2015 10:33

Re: Devoir

Message par SoS-Math(31) » mer. 7 déc. 2022 21:01

Bonjour Maguerite,
Je transfère ton message à un collègue de NSI. J'espère qu'il pourra t'aider.
Marguerite

Re: Devoir

Message par Marguerite » jeu. 8 déc. 2022 21:15

merci bien.

Sinon est-ce que SOS 21 pourrait m'aider ? En vrai ce sont surtout des maths et de la programmation.

Et il avait aidé ma grande soeur en informatique l'année dernière, apparemment c'est un super prof (comme tous les SOS d'ailleurs).

Du coup pouvez vous m'aider SOS 21 ?
sos-math(21)
Messages : 10334
Enregistré le : lun. 30 août 2010 11:15

Re: Devoir

Message par sos-math(21) » jeu. 8 déc. 2022 22:35

Bonjour,
c'est gentil de penser à moi mais ton devoir me paraît tout de même assez compliqué et je ne suis pas sûr d'avoir suffisamment de temps pour m'y mettre.
Je pense qu'il faut que tu construises un modèle à partir des données fournies de sorte que quand tu rentres un arbre dans le modèle, tu déclares les caractéristiques de cet arbre (essence, âge, hauteur, localité, milieu) et cela te donnera une fourchette de valeurs pour le volume exploitable.
Il faut donc étudier la dépendance des variables les unes par rapport aux autres et établir des relations entre elles.
Commence à réfléchir à l'éventuelle dépendances des variables entre elles.
Bon courage pour ce devoir difficile.
Marguerite

Re: Devoir

Message par Marguerite » jeu. 8 déc. 2022 22:56

merci de m'avoir répondue SOS 21 !

même pendant les vacances vous n'aurez pas du tout de temps pour moi ?

Du coup pour étudier la dépendance des variables, que dois-je faire avec Python ? Une ACP (Analyse en Composante Principales) ?

Je ne sais même pas faire ça en Python...
SoS-Math(25)
Messages : 1859
Enregistré le : mer. 2 nov. 2011 09:39

Re: Devoir

Message par SoS-Math(25) » dim. 11 déc. 2022 13:49

Bonjour Marguerite,

Je te propose de commencer par formater les données en Python (créer un data set) en lisant un fichier csv :

-- Modifie la ligne 3 pour avoir le bon chemin
--J'ai extrait seulement D130, Hauteur et Volume ici pour voir...

Code : Tout sélectionner

# -*- coding: utf-8 -*-
import csv #Pour l'export de données
import random
#=============Données=======================
#Données csv:
cheminCSV = 'D:\\Animaths\\Sos_IA\\VolChene.csv' #A modifier

data_set = []

with open(cheminCSV, 'r', newline='', encoding="utf-8") as csvfile:
    spamreader = csv.reader(csvfile, delimiter=';', quotechar='|')
    next(spamreader)#On enlève la première ligne
    for row in spamreader:
        data_set.append([float(row[4]), float(row[5]), float(row[6])])

print(data_set)
Ensuite, tu peux ajouter cela à ton code pour effectuer des tests comme ceci :

-- Tu peux tester avec d'autres valeurs de W
-- Le bilan n'est pas celui demandé dans tes documents, à toi de poursuivre
-- W = [0.348, -0.836, -0.215] #(Après un entrainement) sont des valeurs trouvées après un entrainement (deep learning) mais je ne sais pas si tu dois aller là
-- Il faudra put-être utiliser les autres données (âges...)

Code : Tout sélectionner

#=============Fonctions pour tester ===========

def forward(X, W):#Prédiction du volume exploitable
    o = W[0]*X[0] + W[1]*X[1] + W[2] #Forward avec un bice
    return o

def tests(D, W):
    for X in D:#Pour chaque point du data set:
        res = forward(X, W)
        E = X[2]-res #Erreur
    return W#On renvoie les poids (en vu d'ajustements eventuels

def bilan(D, W):#Exemple d'estimation performances:
    sum = 0
    max = 0
    for X in D:
        calc = (X[2] - forward(X, W))**2
        sum += calc
        if max < calc:
            max = calc
    return max, sum/len(D)

D = data_set
W = [1, 1, 0] #Valeurs à tester
#W = [0.348, -0.836, -0.215] #(Après un entrainement)
#W = [random.uniform(-1, 1), random.uniform(-1, 1), random.uniform(-1, 1)] #départ poids aleatoires
print("Valeurs initiales : ", W)


#Devons nous parcourir toutes les données du dataSet ? si > 20 oui sinon, on en choisi 20:
if len(D) > 20:
    Dselect = random.sample(D, 20)#20 données extraites
else :
    Dselect = D
print(tests(Dselect, W))

print("max et moyenne des carrés des écarts : ", bilan(D, W))
Enfin, pour y voir un peu plus clair, je t'ai affiché en 3D une idée (avec 2 valeurs d'entrées X : D120, Y : Hauteur et en sortie Z : Volume). Et un plan obtenu après entrainement : W = [0.348, -0.836, -0.215]

Cela te permettra peut-être de comprendre l'idée (il faudra ensuite ajouter les autres données)

Bon courage pour ce devoir difficile.
2X.png
2X.png
Fichiers joints
2X_plan.png
marg

Re: Devoir

Message par marg » ven. 30 déc. 2022 13:27

bonjour

je réémerge dans ce devoir.... En fait je dois coder en R, pensez vous pouvoir m'aider quand même ?

Je suis complètement perdue et c'est pour mardi, il faut au moins que je rende quelque chose, meme si ce n'est pas abouti.

MERCI et dsl, je traverse des moments compliqués.
qfdtrs

Re: Devoir

Message par qfdtrs » lun. 2 janv. 2023 11:52

svp répondez moi je désespère.... :(
sos-math(21)
Messages : 10334
Enregistré le : lun. 30 août 2010 11:15

Re: Devoir

Message par sos-math(21) » lun. 2 janv. 2023 13:41

Bonjour,
désolé mais le logiciel (et le langage) R est un outil très spécifique qui n'est pas en usage dans l'enseignement secondaire.
Nous n'avons pas la compétence pour t'aider.
Bonne continuation tout de même
Répondre