CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Besoin d'aide pour une boucle sur Python

Theoretique
Theoretique
Niveau 21
28 octobre 2022 à 09:34:58

En gros, je dois faire un programme de ML pour lire les données d'un chèque. Je vais droit au but, mon problème est que je débute en programmation et que je ne maitrise globalement pas grand chose (en particulier pour ce projet). Actuellement, je suis bloqué sur une boucle (je n'ai pu en faire que sur java). Concrètement, je ne comprends pas l'intérêt de cette boucle et je suis totalement bloqué. J'ai quand même essayé de bidouiller quelques chose, mais je ne peux lancer le programme qu'une seule fois sans problème, dès que je lance la dernière partie de celui-ci, je me prends une erreur (sûrement à cause du .array de la dernière partie).

import numpy as np

import matplotlib.pyplot as plt

import matplotlib.image as img

from sklearn.datasets import fetch_openml

X,y = fetch_openml(name = 'MNIST_784' , version =1 , return_X_y = True)

X = X.to_numpy()
y = y.to_numpy()

  1. Extraire et afficher une ligne i_ième de la matrice X

ligne_1 = np.array(X[0])

print(y[0]) #Vérifier que l'image correspond à l'étiquette

new = ligne_1.reshape(28,28)

plt.imshow(new, cmap='gray')

  1. Vérifier que la base de données est équilibrée

for i in range(0,10):
print("Nombre d'images ayant pour étiquette", str(i),":", ((X[(y == str(i))]).shape)[0])

  1. Créer une matrice constituée des images ayant pour étiquette 0 et 1

X_bin = np.array(X[(y == "0") + (y =='1')])

X_new = []

for i in X_bin:
X_new.append(i.reshape(28,28))

fig, (ax1,ax2,ax3,ax4 ) = plt.subplots(1, 4, figsize=(16, 4))

ax1.imshow(X_new[0])
ax1.set_title('Image 1')

ax2.imshow(X_new[1])
ax2.set_title('Image 2')

ax3.imshow(X_new[2])
ax3.set_title('Image 3')

ax4.imshow (X_new[3])
ax4.set_title('Image 4')

  1. Séparer la base de données en deux bases: une d'entraînement très grande (69900 images), et une autre de test plus petite (100 images).

X_train, y_train = X[0:69900], y[0:69900]
X_test, y_test = X[69901:70000], y[69901:70000]

  1. Décaler l'image d'une certaine valeur shift (ici shift = 250)

r = np.roll(ligne_1,250)

new = r.reshape(28,28)

plt.imshow(new, cmap='gray')

X_zero, y_zero = np.array(X[(y=='0')]), np.array(y[(y=='0')])

X_un, y_un = np.array(X[(y=='1')]), np.array(y[(y=='1')])

z, z_y = ['z']*7000, ['z']*7000

for i in range(0,7000):
z[i] = np.roll(X_bin[i], 250)
z_y[i] = y[i]

  1. Création de la nouvelle base de données B composée des chiffres 0, des chiffres 1 et de chiffres 0 et 1 mal centrés

B,y = np.concatenate([X_zero, X_un, z]), np.concatenate([y_zero, y_un, z_y])

L'énoncé : https://image.noelshack.com/fichiers/2022/43/5/1666942153-enonce.png

godrik
godrik
Niveau 30
28 octobre 2022 à 15:04:59

Utilisé la balise code et pas la balise spoiler.

Code va garder le formatage correctement. Et ça va aider à comprendre ce qu'il se passe.

Aussi je te conseille d'apprendre python independent de ce genre de problème qui sont probablement trop compliqué pour qu'un débutant apprenne le langage bien.

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment