Regresja logistyczna w Pythonie - restrukturyzacja danych

Za każdym razem, gdy jakakolwiek organizacja przeprowadza ankietę, stara się zebrać jak najwięcej informacji od klienta, z myślą, że te informacje będą przydatne dla organizacji w taki czy inny sposób, w późniejszym czasie. Aby rozwiązać bieżący problem, musimy zebrać informacje, które są bezpośrednio związane z naszym problemem.

Wyświetlanie wszystkich pól

Zobaczmy teraz, jak wybrać przydatne dla nas pola danych. Uruchom następującą instrukcję w edytorze kodu.

In [6]: print(list(df.columns))

Zobaczysz następujący wynik -

['age', 'job', 'marital', 'education', 'default', 'housing', 'loan', 
'contact', 'month', 'day_of_week', 'duration', 'campaign', 'pdays', 
'previous', 'poutcome', 'emp_var_rate', 'cons_price_idx', 'cons_conf_idx', 
'euribor3m', 'nr_employed', 'y']

Dane wyjściowe zawierają nazwy wszystkich kolumn w bazie danych. Ostatnia kolumna „y” to wartość logiczna wskazująca, czy dany klient posiada lokatę terminową w banku. Wartości tego pola to „y” lub „n”. Możesz przeczytać opis i przeznaczenie każdej kolumny w pliku banks-name.txt, który został pobrany jako część danych.

Eliminowanie niechcianych pól

Badając nazwy kolumn, dowiesz się, że niektóre pola nie mają znaczenia dla rozpatrywanego problemu. Na przykład pola takie jakmonth, day_of_week, kampania itp. są dla nas bezużyteczne. Usuniemy te pola z naszej bazy danych. Aby upuścić kolumnę, używamy polecenia drop, jak pokazano poniżej -

In [8]: #drop columns which are not needed.
   df.drop(df.columns[[0, 3, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19]], 
   axis = 1, inplace = True)

Polecenie mówi, że upuść kolumnę numer 0, 3, 7, 8 i tak dalej. Aby upewnić się, że indeks jest prawidłowo wybrany, użyj następującej instrukcji -

In [7]: df.columns[9]
Out[7]: 'day_of_week'

Wyświetla nazwę kolumny dla danego indeksu.

Po usunięciu kolumn, które nie są wymagane, sprawdź dane za pomocą instrukcji head. Wygląd ekranu jest pokazany tutaj -

In [9]: df.head()
Out[9]:
      job   marital  default  housing  loan  poutcome    y
0     blue-collar    married  unknown yes no nonexistent 0
1     technician     married  no    no    no nonexistent 0
2     management     single   no    yes   no success     1
3     services       married  no    no    no nonexistent 0
4     retired        married  no    yes   no success     1

Teraz mamy tylko te pola, które uważamy za ważne dla naszej analizy danych i prognozowania. ZnaczenieData Scientistpojawia się na tym etapie. Naukowiec danych musi wybrać odpowiednie kolumny do budowy modelu.

Na przykład typ jobchoć na pierwszy rzut oka może nie przekonać wszystkich do umieszczenia w bazie, będzie to bardzo przydatne pole. Nie wszyscy klienci otworzą TD. Osoby o niższych dochodach mogą nie otwierać TD, podczas gdy osoby z wyższymi dochodami zazwyczaj umieszczają swoje nadwyżki w TD. W tym scenariuszu rodzaj pracy staje się więc znacząco istotny. Podobnie, uważnie wybierz kolumny, które Twoim zdaniem będą odpowiednie dla Twojej analizy.

W następnym rozdziale przygotujemy nasze dane do budowy modelu.