Tweet Share Share

Ultima actualizare la 19 august 2020

Dezvoltarea modelelor de învățare automată în Python necesită adesea utilizarea de matrice NumPy.

Array-urile NumPy sunt structuri de date eficiente pentru a lucra cu date în Python, iar modelele de învățare automată, cum ar fi cele din biblioteca scikit-learn, și modelele de învățare profundă, cum ar fi cele din biblioteca Keras, așteaptă date de intrare în formatul de array-uri NumPy și fac predicții în formatul de array-uri NumPy.

Ca atare, este obișnuit să aveți nevoie să salvați matrici NumPy în fișier.

De exemplu, este posibil să vă pregătiți datele cu transformări precum scalarea și să aveți nevoie să le salvați în fișier pentru utilizare ulterioară. De asemenea, este posibil să folosiți un model pentru a face predicții și să aveți nevoie să salvați predicțiile în fișier pentru utilizare ulterioară.

În acest tutorial, veți descoperi cum să vă salvați array-urile NumPy în fișier.

După terminarea acestui tutorial, veți ști:

  • Cum să salvați matrici NumPy în fișiere în format CSV.
  • Cum să salvați matrici NumPy în fișiere în format NPY.
  • Cum să salvați matrici NumPy în fișiere în format NPZ comprimat.

Dă startul proiectului tău cu noua mea carte Machine Learning Mastery With Python, care include tutoriale pas cu pas și fișierele de cod sursă Python pentru toate exemplele.

Să începem.

Cum să salvați un tablou NumPy în fișier pentru Machine Learning

Cum să salvați un tablou NumPy în fișier pentru Machine Learning
Fotografie de Chris Combe, unele drepturi rezervate.

Tutorial Overview

Acest tutorial este împărțit în trei părți; acestea sunt:

  1. Save NumPy Array to .CSV File (ASCII)
  2. Salvați NumPy Array în .NPY File (binar)
  3. Salvați NumPy Array în .NPZ File (comprimat)

Salvați NumPy Array în .CSV File (ASCII)

Cel mai comun format de fișier pentru stocarea datelor numerice în fișiere este formatul de variabile separate prin virgulă sau, pe scurt, CSV.

Este foarte probabil ca datele de antrenament și datele de intrare în modelele dumneavoastră să fie stocate în fișiere CSV.

Poate fi convenabil să salvați datele în fișiere CSV, cum ar fi predicțiile unui model.

Puteți salva tablourile NumPy în fișiere CSV utilizând funcția savetxt(). Această funcție primește ca argumente un nume de fișier și o matrice și salvează matricea în format CSV.

De asemenea, trebuie să specificați delimitatorul; acesta este caracterul utilizat pentru a separa fiecare variabilă din fișier, cel mai frecvent o virgulă. Acesta poate fi setat prin intermediul argumentului „delimiter”.

1.1 Exemplu de salvare a unui tablou NumPy în fișier CSV

Exemplul de mai jos demonstrează cum se salvează un singur tablou NumPy în format CSV.

1
2
3
4
5
6
7

# save numpy array as csv file
from numpy import asarray
from numpy import savetxt
# define data
> data = asarray(])
# save to csv file
> savetxt(‘data.csv’, data, delimiter=’,’)

Executarea exemplului va defini un array NumPy și îl va salva în fișierul ‘data.csv’.

Array-ul are un singur rând de date cu 10 coloane. Ne-am aștepta ca aceste date să fie salvate într-un fișier CSV ca un singur rând de date.

După rularea exemplului, putem inspecta conținutul fișierului ‘data.csv’.

Ar trebui să vedem următoarele:

1
0.000000000000000000e+00,1.000000000000000000e+00,2.000000000000000000e+00,3.000000000000000000e+00,4.000000000000000000e+00,5.000000000000000000e+00,6.000000000000000000e+00,7.000000000000000000000000000000e+00,8.00000000000000000000000000e+00,9.00000000000000000000000000e+00

Vezi că datele sunt salvate corect ca un singur rând și că numerele cu virgulă mobilă din matrice au fost salvate cu precizie totală.

1.2 Exemplu de încărcare a unui tablou NumPy dintr-un fișier CSV

Potem încărca aceste date ulterior ca un tablou NumPy folosind funcția loadtext() și specificând numele fișierului și același delimitator cu virgulă.

Exemplul complet este prezentat mai jos.

1
2
3
4
5
6

# load numpy array from csv file
from numpy import loadtxt
# load array
data = loadtxt(‘data.csv’, delimiter=’,’)
# print the array
print(data)

Executarea exemplului încarcă datele din fișierul CSV și tipărește conținutul, corespunzând singurului nostru rând cu 10 coloane definit în exemplul anterior.

1

Salvați Array NumPy în .NPY File (binary)

Câteodată avem o mulțime de date în matrici NumPy pe care dorim să le salvăm eficient, dar pe care trebuie să le folosim doar într-un alt program Python.

Prin urmare, putem salva array-urile NumPy într-un format binar nativ care este eficient atât la salvare cât și la încărcare.

Acest lucru este obișnuit pentru datele de intrare care au fost pregătite, cum ar fi datele transformate, care vor trebui să fie folosite ca bază pentru testarea unei serii de modele de învățare automată în viitor sau pentru rularea mai multor experimente.

Filmul .npy este adecvat pentru acest caz de utilizare și este denumit pur și simplu „formatul NumPy”.

Acest lucru poate fi realizat utilizând funcția save() NumPy și specificând numele fișierului și matricea care trebuie salvată.

2.1 Exemplu de salvare a unei matrice NumPy într-un fișier NPY

Exemplul de mai jos definește matricea noastră NumPy bidimensională și o salvează într-un fișier .npy.

1
2
3
4
5
6
7

# save numpy array as npy file
from numpy import asarray
from numpy import save
# define data
> data = asarray(])
# save to npy file
> save(‘data.npy’, data)

După rularea exemplului, veți vedea un nou fișier în director cu numele ‘data.npy’.

Nu puteți inspecta conținutul acestui fișier direct cu editorul de text deoarece este în format binar.

2.2 Exemplu de încărcare a unui tablou NumPy dintr-un fișier NPY

Puteți încărca acest fișier ca un tablou NumPy ulterior folosind funcția load().

Exemplul complet este prezentat mai jos.

1
2
3
4
5
6

# load numpy array from npy file
from numpy import load
# load array
# load array
data = load(‘data.npy’)
# print the array
print(data)

Executarea exemplului va încărca fișierul și va imprima conținutul, confirmând atât faptul că acesta a fost încărcat corect, cât și că conținutul corespunde cu ceea ce ne așteptăm în același format bidimensional.

1
]

Salvați Array NumPy în .NPZ File (comprimat)

Câteodată, pregătim date pentru modelare care trebuie să fie reutilizate în mai multe experimente, dar datele sunt mari.

Acestea pot fi array-uri NumPy preprocesate, cum ar fi un corpus de text (numere întregi) sau o colecție de date de imagine redimensionate (pixeli). În aceste cazuri, este de dorit atât salvarea datelor în fișier, dar și într-un format comprimat.

Acest lucru permite reducerea gigabytes de date la sute de megabytes și permite transmiterea ușoară către alte servere de cloud computing pentru rulări lungi de algoritmi.

Formatul de fișier .npz este adecvat pentru acest caz și suportă o versiune comprimată a formatului de fișier NumPy nativ.

Funcția NumPy savez_compressed() permite salvarea mai multor matrici NumPy într-un singur fișier .npz comprimat.

3.1 Exemplu de salvare a unei matrici NumPy într-un fișier NPZ

Potem folosi această funcție pentru a salva matricea noastră NumPy unică într-un fișier comprimat.

Exemplul complet este prezentat mai jos.

1
2
3
4
5
6
7

# save numpy array ca fișier npz
from numpy import asarray
from numpy import savez_compressed
# define data
> data = asarray(])
# save to npy file
> savez_compressed(‘data.npz’, data)

Executarea exemplului definește matricea și o salvează într-un fișier în format numpy comprimat cu numele ‘data.npz’.

Ca și în cazul formatului .npy, nu putem inspecta conținutul fișierului salvat cu un editor de text, deoarece formatul fișierului este binar.

3.2 Exemplu de încărcare a unui array NumPy dintr-un fișier NPZ

Potem încărca acest fișier ulterior folosind aceeași funcție load() din secțiunea anterioară.

În acest caz, funcția savez_compressed() suportă salvarea mai multor array-uri într-un singur fișier. Prin urmare, funcția load() poate încărca mai multe array-uri.

Array-urile încărcate sunt returnate de la funcția load() într-un dict cu numele „arr_0” pentru primul array, „arr_1” pentru al doilea, și așa mai departe.

Exemplul complet de încărcare a array-ului nostru unic este listat mai jos.

1
2
3
4
5
6
7
8

# load numpy array from npz file
from numpy import load
# load dict of arrays
dict_data = load(‘data.npz’)
# extrage primul array
> data = dict_data
# tipărește array-ul
print(data)

Executarea exemplului încarcă fișierul numpy comprimat care conține un dicționar de array-uri, apoi extrage prima matrice pe care am salvat-o (am salvat doar una), apoi imprimă conținutul, confirmând că valorile și forma matricei corespund cu ceea ce am salvat de la început.

1
]

Lecturi suplimentare

Această secțiune oferă mai multe resurse pe această temă, dacă doriți să aprofundați.

Posturi

  • Cum să încărcați date de învățare automată în Python
  • O introducere ușoară în array-urile NumPy în Python
  • Cum să indexați, să feliați și să remodelați array-urile NumPy pentru învățare automată

API-uri

  • numpy.savetxt API
  • numpy.save API
  • numpy.savez API
  • numpy.savez_compressed API
  • numpy.load API
  • numpy.loadtxt API

Summary

În acest tutorial, ați descoperit cum să salvați array-urile NumPy în fișier.

În mod specific, ați învățat:

  • Cum să salvați tablourile NumPy în fișiere în format CSV.
  • Cum să salvați tablourile NumPy în fișiere în format NPY.
  • Cum să salvați matrici NumPy în fișiere comprimate în format NPZ.

Aveți întrebări?
Puneți întrebările dvs. în comentariile de mai jos și voi face tot posibilul să vă răspund.

Descoperiți învățarea automată rapidă în Python!

Master Machine Learning With Python

Dezvoltați-vă propriile modele în câteva minute

….cu doar câteva linii de cod scikit-learn

Învățați cum în noul meu Ebook:
Machine Learning Mastery With Python

Cuprinde tutoriale de autoinstruire și proiecte de la un capăt la altul, cum ar fi:
Încărcarea datelor, vizualizare, modelare, reglare și multe altele….

Aduceți în sfârșit învățarea automată la
Propriile dvs. proiecte

Scăpați de academie. Doar rezultate.

Vedeți ce conține

Tweet Share Share Share

Lasă un răspuns

Adresa ta de email nu va fi publicată.