I denne opplæringen lærer du:
- Importer CSV
- Gruppe av
Importer CSV
Under TensorFlow-opplæringen vil du bruke voksendatasettet. Det brukes ofte med klassifiseringsoppgave. Den er tilgjengelig i denne URL-en https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data
Dataene lagres i CSV-format. Dette datasettet inneholder åtte kategoriske variabler:
Dette datasettet inneholder åtte kategoriske variabler:
- arbeidsklasse
- utdanning
- ekteskapelig
- okkupasjon
- forhold
- løp
- kjønn
- hjemland
dessuten seks kontinuerlige variabler:
- alder
- fnlwgt
- utdanning_nummer
- kapital_gevinst
- kapital_tap
times_uke
For å importere et CSV-datasett, kan du bruke objektet pd.read_csv (). Det grunnleggende argumentet inni er:
Syntaks:
pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
- filepath_or_buffer: Sti eller URL med dataene
- sep = ',': Definer avgrenseren som skal brukes
- `names = None ': Navngi kolonnene. Hvis datasettet har ti kolonner, må du sende ti navn
- `index_col = Ingen ': Hvis ja, brukes den første kolonnen som en radindeks
- `skipinitialspace = False`: Hopp mellomrom etter skilletegn.
For mer informasjon om readcsv (), vennligst sjekk den offisielle dokumentasjonen
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html.
Tenk på følgende eksempel
## 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
Produksjon:
(32561, 15)
Gruppe av
En enkel måte å se dataene på er å bruke groupby-metoden. Denne metoden kan hjelpe deg med å oppsummere dataene etter gruppe. Nedenfor er en liste over metoder som er tilgjengelige med groupby:
- telle: telle
- min: min
- maks: maks
- mener: mener
- median: median
- standardavvik: sdt
- etc
Inside groupby () kan du bruke kolonnen du vil bruke metoden.
La oss ta en titt på en enkelt gruppering med datasettet for voksne. Du får gjennomsnittet av alle kontinuerlige variabler etter inntektstype, dvs. over 50 000 eller under 50 000
df_train.groupby(['label']).mean()
alder | fnlwgt | utdanning_nummer | kapital_gevinst | kapital_tap | times_uke | |
merkelapp | ||||||
<= 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 |
Du kan oppnå minimumsalderen etter husstandstype
df_train.groupby (['label']) ['age']. min ()
label<=50K 17>50K 19Name: age, dtype: int64
Du kan også gruppere etter flere kolonner. For eksempel kan du få maksimal gevinst i henhold til husholdningstype og sivilstand.
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
Du kan opprette et plot etter groupby. En måte å gjøre det på er å bruke et plott etter grupperingen.
For å lage et mer utmerket plot, vil du bruke unstack () etter middel () slik at du har samme flernivåindeks, eller du slutter deg til verdiene ved inntekt lavere enn 50k og over 50k. I dette tilfellet vil plottet ha to grupper i stedet for 14 (2 * 7).
Hvis du bruker Jupyter Notebook, må du sørge for å legge til% matplotlib inline, ellers vil ingen plott vises
%matplotlib inlinedf_plot = df_train.groupby(['label', 'marital'])['capital_gain'].mean().unstack()df_plot