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.