Šajā apmācībā jūs uzzināsiet:
- Importēt CSV
- Groupby
Importēt CSV
TensorFlow apmācības laikā jūs izmantosiet pieaugušo datu kopu. To bieži lieto kopā ar klasifikācijas uzdevumu. Tas ir pieejams šajā URL: https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data
Dati tiek glabāti CSV formātā. Šajā datu kopā ir astoņi kategoriski mainīgie:
Šajā datu kopā ir astoņi kategoriski mainīgie:
- darba klase
- izglītība
- laulības
- nodarbošanās
- attiecības
- sacīkstes
- dzimums
- dzimtā valsts
turklāt seši nepārtraukti mainīgie:
- vecums
- fnlwgt
- izglītība_num
- kapitāla pieaugums
- kapitāla zaudējums
stundas_nedēļa
Lai importētu CSV datu kopu, varat izmantot objektu pd.read_csv (). Pamata arguments iekšpusē ir:
Sintakse:
pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
- filepath_or_buffer: ceļš vai URL ar datiem
- sep = ',': definējiet izmantojamo atdalītāju
- `nosaukumi = Neviens`: Nosauciet kolonnas. Ja datu kopai ir desmit kolonnas, jums jānodod desmit vārdi
- `index_col = Neviens`: Ja jā, pirmā kolonna tiek izmantota kā rindu indekss
- `skipinitialspace = False`: izlaist atstarpes pēc atdalītāja.
Lai iegūtu papildinformāciju par readcsv (), lūdzu, pārbaudiet oficiālo dokumentāciju
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html.
Apsveriet šo piemēru
## Import csvimport pandas as pd## Define path dataCOLUMNS = ['age','workclass', 'fnlwgt', 'education', 'education_num', 'marital','occupation', 'relationship', 'race', 'sex', 'capital_gain', 'capital_loss','hours_week', 'native_country', 'label']PATH = "https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data"df_train = pd.read_csv(PATH,skipinitialspace=True,names = COLUMNS,index_col=False)df_train.shape
Izeja:
(32561, 15)
Groupby
Vienkāršs veids, kā redzēt datus, ir izmantot groupby metodi. Šī metode var palīdzēt apkopot datus pa grupām. Zemāk ir saraksts ar metodēm, kas pieejamas grupai:
- skaitīt: skaitīt
- min: min
- maks .: maks
- nozīmē: nozīmē
- mediāna: mediāna
- standartnovirze: sdt
- utt
Grupā () varat izmantot kolonnu, kurai vēlaties izmantot metodi.
Apskatīsim vienu grupu ar pieaugušo datu kopu. Jūs iegūsiet visu nepārtraukto mainīgo vidējo lielumu pēc ieņēmumu veida, ti, virs 50 000 vai mazāk par 50 000
df_train.groupby(['label']).mean()
vecums | fnlwgt | izglītība_num | kapitāla pieaugums | kapitāla zaudējums | stundas_nedēļa | |
etiķete | ||||||
<= 50K | 36.783738 | 190340.86517 | 9.595065 | 148.752468 | 53.142921 | 38.840210 |
> 50K | 44.249841 | 188005.00000 | 11.611657 | 4006.142456 | 195.001530 | 45.473026 |
Jūs varat iegūt minimālo vecumu pēc mājsaimniecības veida
df_train.groupby (['label']) ['vecums']. min ()
label<=50K 17>50K 19Name: age, dtype: int64
Varat arī grupēt pēc vairākām kolonnām. Piemēram, jūs varat iegūt maksimālo kapitāla pieaugumu atbilstoši mājsaimniecības tipam un ģimenes stāvoklim.
df_train.groupby(['label', 'marital'])['capital_gain'].max()label marital<=50K Divorced 34095Married-AF-spouse 2653Married-civ-spouse 41310Married-spouse-absent 6849Never-married 34095Separated 7443Widowed 6849>50K Divorced 99999Married-AF-spouse 7298Married-civ-spouse 99999Married-spouse-absent 99999Never-married 99999Separated 99999Widowed 99999Name: capital_gain, dtype: int64
Jūs varat izveidot sižetu, sekojot grupai. Viens veids, kā to izdarīt, ir izmantot sižetu pēc grupēšanas.
Lai izveidotu izcilāku grafiku, jūs izmantosiet unstack () pēc mean (), lai jums būtu vienāds daudzlīmeņu indekss, vai arī jūs pievienojat vērtības ar ieņēmumiem, kas ir mazāki par 50 000 un pārsniedz 50 000. Šajā gadījumā sižetam būs divas grupas, nevis 14 (2 * 7).
Ja izmantojat Jupyter Notebook, noteikti pievienojiet% matplotlib inline, pretējā gadījumā neviens diagramma netiks rādīta
%matplotlib inlinedf_plot = df_train.groupby(['label', 'marital'])['capital_gain'].mean().unstack()df_plot