Ce este analiza exploratorie a datelor în Python? Învață de la zero

Publicat: 2021-03-04

Analiza exploratorie a datelor sau EDA, pe scurt, cuprinde aproape 70% din Data Science Project. EDA este procesul de explorare a datelor prin utilizarea diferitelor instrumente de analiză pentru a scoate statisticile inferențiale din date. Aceste explorări se fac fie prin vizualizarea numerelor simple, fie prin trasarea graficelor și diagramelor de diferite tipuri.

Fiecare grafic sau diagramă descrie o poveste diferită și un unghi față de aceleași date. Pentru cea mai mare parte a analizei și curățării datelor, Pandas este instrumentul cel mai utilizat. Pentru vizualizări și trasarea graficelor/diagramelor, sunt utilizate biblioteci de trasare precum Matplotlib, Seaborn și Plotly.

EDA este extrem de necesar să fie efectuat, deoarece face ca datele să vă mărturisească. Un Data Scientist care face un EDA foarte bun știe multe despre date și, prin urmare, modelul pe care îl vor construi va fi automat mai bun decât Data Scientist care nu face un EDA bun.

Până la sfârșitul acestui tutorial, veți ști următoarele:

  • Verificarea generală de bază a datelor
  • Verificarea statisticii descriptive a datelor
  • Manipularea numelor de coloane și a tipurilor de date
  • Gestionarea valorilor lipsă și a rândurilor duplicate
  • Analiza bivariată

Cuprins

Prezentare generală de bază a datelor

Vom folosi setul de date Cars pentru acest tutorial care poate fi descărcat de la Kaggle. Primul pas pentru aproape orice set de date este să îl importați și să verificați prezentarea generală a acestuia – forma, coloanele, tipurile de coloane, primele 5 rânduri etc. Acest pas vă oferă o scurtă prezentare a datelor cu care veți lucra. Să vedem cum să facem asta în Python.

# Importul bibliotecilor necesare
importa panda ca pd
import numpy ca np
import seaborn ca sns #vizualizare
import matplotlib.pyplot ca plt #visualisation
%matplotlib inline
sns.set(color_codes= True )

Data Head & Tail

date = pd.read_csv( „path/dataset.csv” )
# Verificați primele 5 rânduri ale cadrului de date
data.head()

Funcția cap tipărește în mod implicit primii 5 indici ai cadrului de date. De asemenea, puteți specifica câți indici de top trebuie să vedeți ocolind acea valoare la cap. Imprimarea instantanee a capului ne oferă o privire rapidă asupra tipului de date pe care le avem, ce tip de caracteristici sunt prezente și ce valori conțin. Desigur, acest lucru nu spune întreaga poveste despre date, dar vă oferă o privire rapidă asupra datelor. Puteți imprima în mod similar partea de jos a cadrului de date utilizând funcția de coadă.

# Imprimați ultimele 10 rânduri ale cadrului de date
data.tail( 10 )

Un lucru de observat aici este că atât funcțiile-head, cât și tail ne oferă indicii de sus sau de jos. Dar rândurile de sus sau de jos nu sunt întotdeauna o previzualizare bună a datelor. Deci, puteți imprima, de asemenea, orice număr de rânduri eșantionate aleatoriu din setul de date folosind funcția sample().

# Tipăriți 5 rânduri aleatorii
date.sample( 5 )

Statisticile descriptive

În continuare, să verificăm statisticile descriptive ale setului de date. Statisticile descriptive constau în tot ceea ce „descrie” setul de date. Verificăm forma cadrului de date, care sunt toate coloanele prezente, care sunt toate caracteristicile numerice și categoriale. Vom vedea, de asemenea, cum să facem toate acestea în funcții simple.

Formă

# Verificarea formei cadrului de date (mxn)
# m=numărul de rânduri
# n=numar de coloane
date.forme

După cum vedem, acest cadru de date conține 11914 rânduri și 16 coloane.

Coloane

# Tipăriți numele coloanelor
date.coloane

Informații din cadrul de date

# Tipăriți tipurile de date coloane și numărul de valori care nu lipsesc
data.info()

După cum vedeți, funcția info() ne oferă toate coloanele, câte valori nenule sau care nu lipsesc există în acele coloane și, în sfârșit, tipul de date al acelor coloane. Acesta este un mod rapid și frumos de a vedea care sunt toate caracteristicile numerice și ce sunt toate categorice/bazate pe text. De asemenea, acum avem informații despre valorile care lipsesc în toate coloanele. Vom analiza mai târziu cum să lucrăm cu valorile lipsă.

Manipularea numelor de coloane și a tipurilor de date

Verificarea și manipularea cu atenție a fiecărei coloane este extrem de crucială în EDA. Trebuie să vedem ce tip de conținut conține o coloană/funcție și ce a citit panda tipul de date. Tipurile de date numerice sunt în principal int64 sau float64. Caracteristicilor bazate pe text sau categoriale li se atribuie tipul de date „obiect”.

Caracteristicile bazate pe dată și oră sunt atribuite Există momente în care Pandas nu înțelege tipul de date al unei caracteristici. În astfel de cazuri, îi atribuie leneș tipul de date „obiect”. Putem specifica în mod explicit tipurile de date coloanei în timp ce citim datele cu read_csv.

Selectarea coloanelor categorice și numerice

# Adăugați toate coloanele categoriale și numerice în liste separate
categoric = data.select_dtypes( 'obiect' ).columns
numeric = data.select_dtypes( 'numar' ).coloane

Aici tipul pe care l-am trecut ca „număr” selectează toate coloanele cu tipuri de date care au orice fel de număr, fie el int64 sau float64.

Redenumirea coloanelor

# Redenumirea numelor coloanelor
data = data.rename(columns={ „Engine HP” : „HP” ,
„Cilindroi motor” : „Cilidri” ,
„Tip de transmisie” : „Transmisie” ,
„Driven_Wheels” : „Modul de conducere” ,
„Highway MPG” : „MPG-H” ,
„MSRP” : „Preț” })
data.head( 5 )

Funcția de redenumire preia doar un dicționar cu numele coloanelor care trebuie redenumite și noile lor nume.

Gestionarea valorilor lipsă și a rândurilor duplicate

Valorile lipsă sunt una dintre cele mai frecvente probleme/discrepanțe în orice set de date din viața reală. Gestionarea valorilor lipsă este în sine un subiect vast, deoarece există mai multe moduri de a face acest lucru. Unele moduri sunt moduri mai generice, iar altele sunt mai specifice setului de date cu care ar putea avea de-a face.

Verificarea valorilor lipsă

# Verificarea valorilor lipsă
data.isnull().sum()

Aceasta ne oferă numărul de valori care lipsesc în toate coloanele. Putem vedea și procentul de valori care lipsesc.

# Procent din valorile lipsă
data.isnull().mean()* 100

Verificarea procentelor poate fi utilă atunci când există o mulțime de coloane care au valori lipsă. În astfel de cazuri, coloanele cu multe valori lipsă (de exemplu, > 60% lipsesc) pot fi doar eliminate.

Imputarea valorilor lipsă

#Imputarea valorilor lipsă ale coloanelor numerice prin medie
data[numerical] = data[numerical].fillna(data[numerical].mean().iloc[ 0 ])

#Imputarea valorilor lipsă ale coloanelor categorice în funcție de mod
data[categoric] = data[categoric].fillna(data[categoric].mode().iloc[ 0 ])

Aici imputăm pur și simplu valorile lipsă din coloanele numerice prin mijloacele respective și pe cele din coloanele categoriale după modurile lor. Și după cum putem vedea, nu există valori lipsă acum.

Vă rugăm să rețineți că acesta este cel mai primitiv mod de a imputa valorile și nu funcționează în cazurile din viața reală în care sunt dezvoltate moduri mai sofisticate, de exemplu, interpolarea, KNN etc.

Gestionarea rândurilor duplicate

# Aruncă rândurile duplicate
data.drop_duplicates(inplace= True )

Acest lucru scade doar rândurile duplicate.

Checkout: Idei și subiecte pentru proiecte Python

Analiza bivariată

Acum să vedem cum să obținem mai multe informații făcând analize bivariate. Bivariat înseamnă o analiză care constă din 2 variabile sau caracteristici. Există diferite tipuri de parcele disponibile pentru diferite tipuri de caracteristici.

Pentru Numeric – Numeric

  1. Graficul de dispersie
  2. Graficul de linii
  3. Hartă termică pentru corelații

Pentru categoric-numeric

  1. Diagramă cu bare
  2. Complot pentru vioară
  3. Complot roi

Pentru Categoric-Categoric

  1. Diagramă cu bare
  2. Graficul punctual

Hartă termică pentru corelații

# Verificarea corelațiilor dintre variabile.
plt.figure(figsize=( 15 , 10 ))
c= data.corr()
sns.heatmap(c,cmap= „BrBG” ,not= True )

Bar Plot

sns.barplot(data[ 'Tipul de combustibil al motorului' ], date[ 'HP' ])

Obțineți certificare în știința datelor de la cele mai bune universități din lume. Învață programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

Concluzie

După cum am văzut, există o mulțime de pași care trebuie parcurși în timpul explorării unui set de date. Am acoperit doar câteva aspecte în acest tutorial, dar acest lucru vă va oferi mai mult decât cunoștințe de bază despre un EDA bun.

Dacă sunteți curios să aflați despre Python, totul despre știința datelor, consultați Diploma PG în știința datelor de la IIIT-B și upGrad, care este creată pentru profesioniști care lucrează și oferă peste 10 studii de caz și proiecte, ateliere practice practice, mentorat cu industrie experți, 1-la-1 cu mentori din industrie, peste 400 de ore de învățare și asistență la locul de muncă cu firme de top.

Care sunt etapele analizei exploratorii a datelor?

Principalii pași pe care trebuie să îi efectuați pentru a efectua analiza exploratorie a datelor sunt:

Trebuie identificate variabilele și tipurile de date.
Analiza metricilor fundamentale
Analiză negrafică univariată
Analiza grafică univariată
Analiza datelor bivariate
Transformări care sunt variabile
Tratament pentru valoarea lipsă
Tratamentul valorilor aberante
Analiza corelației
Reducerea dimensionalității

Care este scopul analizei exploratorii a datelor?

Scopul principal al EDA este de a ajuta la analiza datelor înainte de a face ipoteze. Poate ajuta la detectarea erorilor evidente, precum și la o mai bună înțelegere a tiparelor de date, la detectarea valorii aberante sau a evenimentelor neobișnuite și la descoperirea unor relații interesante între variabile.

Analiza exploratorie poate fi folosită de oamenii de știință ai datelor pentru a garanta că rezultatele pe care le creează sunt exacte și adecvate oricăror rezultate și obiective de afaceri vizate. EDA ajută, de asemenea, părțile interesate, asigurându-se că abordează întrebările adecvate. Deviațiile standard, datele categorice și intervalele de încredere pot fi răspunse cu EDA. După finalizarea EDA și extragerea de informații, caracteristicile sale pot fi aplicate la analiza sau modelarea mai avansată a datelor, inclusiv învățarea automată.

Care sunt diferitele tipuri de analiză exploratorie a datelor?

Există două tipuri de tehnici EDA: grafice și cantitative (non-grafice). Abordarea cantitativă, pe de altă parte, necesită compilarea de statistici rezumative, în timp ce metodele grafice presupun colectarea datelor într-o manieră schematică sau vizuală. Abordările univariate și multivariate sunt subseturi ale acestor două tipuri de metodologii.

Pentru a investiga relațiile, abordările univariate se uită la o variabilă (coloana de date) la un moment dat, în timp ce metodele multivariate se uită la două sau mai multe variabile simultan. Graficele și non-grafice univariate și multivariate sunt cele patru forme de EDA. Procedurile cantitative sunt mai obiective, în timp ce metodele picturale sunt mai subiective.