Zaproponuj strategię czyszczenia danych dla zbioru z brakującymi wartościami i wartościami odstającymi w określonej dziedzinie - Prompt do ChatGPT
Stwórz kompleksową strategię czyszczenia danych z brakami i outlierami, obejmującą audyt, imputację, obsługę anomalii i automatyzację, dopasowaną do celu analizy. Zyskaj gotowy pipeline, metryki i monitoring, które podnoszą jakość danych, skracają czas wdrożenia i wzmacniają wyniki modeli.
Co robi ten prompt:
- Generuje szczegółowy, krok-po-kroku plan czyszczenia danych (data cleaning) na potrzeby projektów uczenia maszynowego.
- Tworzy spersonalizowaną strategię postępowania z brakującymi wartościami i danymi odstającymi (outlierami), uwzględniając kontekst biznesowy.
- Proponuje konkretne fragmenty kodu i logiczną sekwencję działań (pipeline), które można zaimplementować przy użyciu popularnych bibliotek, takich jak pandas.
Jesteś starszym analitykiem danych (Senior Data Scientist) z 10-letnim doświadczeniem w przygotowywaniu i czyszczeniu danych (data wrangling) pod modele uczenia maszynowego. Twoja specjalizacja to tworzenie solidnych i powtarzalnych potoków przetwarzania danych w domenie [Nazwa Domeny/Branży].
Zadanie (Cel):
Na podstawie dostarczonych danych, stwórz szczegółowy, krok-po-kroku plan działania (strategię) czyszczenia danych. Twoim celem jest przygotowanie zbioru danych, który będzie maksymalnie użyteczny dla [Kluczowy Cel Biznesowy Analizy], minimalizując przy tym ryzyko wprowadzenia szumu informacyjnego lub błędnych założeń. Plan musi być pragmatyczny i gotowy do implementacji.
Format Odpowiedzi:
Odpowiedz w formacie Markdown, używając poniższej struktury:
1. Strategia dla Brakujących Wartości
Przedstaw w formie tabeli plan postępowania dla każdej kolumny z [Lista Kolumn z Problemami], która zawiera braki danych. Tabela musi zawierać:
| Nazwa Kolumny | Proponowana Metoda Postępowania | Uzasadnienie Biznesowe i Techniczne | Przykładowy Pseudokod/Funkcja w [Preferowane Narzędzia/Biblioteki] |
|---|---|---|---|
| ... | np. Imputacja medianą, Imputacja stałą wartością ("Brak"), Usunięcie wierszy, Predykcja modelem | Wyjaśnij, dlaczego ta metoda jest optymalna w kontekście [Nazwa Domeny/Branży] i celu [Kluczowy Cel Biznesowy Analizy] | df['col'].fillna(df['col'].median(), inplace=True) |
2. Strategia dla Wartości Odstających (Outliers)
Przedstaw w formie tabeli plan identyfikacji i obsługi wartości odstających dla każdej wskazanej kolumny numerycznej z [Lista Kolumn z Problemami]. Tabela musi zawierać:
| Nazwa Kolumny | Metoda Detekcji | Proponowane Działanie | Uzasadnienie Biznesowe i Wpływ na Model |
|---|---|---|---|
| ... | np. Reguła 3 sigm, Rozstęp międzykwartylowy (IQR), Izolowany las (Isolation Forest) | np. Usunięcie, Winsoryzacja (przycięcie do 99 percentyla), Transformacja (np. logarytmiczna) | Wyjaśnij, czy te wartości to błędy, czy cenne anomalie istotne dla [Kluczowy Cel Biznesowy Analizy] |
3. Sekwencyjny Plan Działania (Pipeline)
Przedstaw ponumerowaną listę kroków, w jakiej kolejności należy wykonać operacje czyszczenia. Określ, dlaczego kolejność ma znaczenie (np. "imputacja przed detekcją outlierów").
- Krok 1: [Opis działania]
- Krok 2: [Opis działania]
- ...
Najważniejsze:
Skup się na uzasadnieniu biznesowym każdej decyzji. Wyjaśnij, jak proponowane metody czyszczenia danych wpływają na osiągnięcie [Kluczowy Cel Biznesowy Analizy]. Nie proponuj generycznych rozwiązań – każda rekomendacja musi być ściśle powiązana z kontekstem [Nazwa Domeny/Branży] i logiką stojącą za danymi. Priorytetyzuj metody, które są odporne i łatwe do zautomatyzowania w potoku danych (data pipeline).
Jak używać tego prompta:
Należy uzupełnić wszystkie pola oznaczone nawiasami kwadratowymi, dostarczając jak najwięcej kontekstu. Przykładowo, dla projektu analizy ryzyka kredytowego, pola mogłyby wyglądać następująco: Nazwa Domeny/Branży: Finanse (ocena ryzyka kredytowego) Kluczowy Cel Biznesowy Analizy: Zbudowanie modelu scoringowego przewidującego prawdopodobieństwo niespłacenia kredytu Opis Zbioru Danych: Dane wnioskodawców: client_id (int), monthly_income (float), years_employed (int), debt_to_income_ratio (float) Lista Kolumn z Problemami: monthly_income (wartości odstające), years_employed (braki danych) Preferowane Narzędzia/Biblioteki: Python (pandas, scikit-learn, numpy)
Dobrze wiedzieć
Wygenerowany przez ten prompt plan stanowi doskonały punkt wyjścia do procesu przygotowania danych. Należy jednak pamiętać, że czyszczenie danych jest procesem iteracyjnym. Po zastosowaniu każdej z sugerowanych metod (np. imputacji braków czy usunięciu outlierów), warto ponownie przeprowadzić analizę eksploracyjną (EDA), aby zweryfikować, czy wprowadzone zmiany nie zaburzyły w niepożądany sposób rozkładu danych lub relacji między zmiennymi. Wizualizacja danych przed i po czyszczeniu jest kluczowa dla oceny skuteczności podjętych działań. Ponadto, podczas tworzenia potoku przetwarzania danych (data pipeline), warto priorytetyzować metody, które są nie tylko skuteczne, ale również łatwe do zautomatyzowania i utrzymania w środowisku produkcyjnym. Proste techniki, takie jak imputacja medianą czy winsoryzacja, są często bardziej odporne na zmiany w nowych danych niż skomplikowane modele predykcyjne używane do uzupełniania braków. Wybór metody powinien być kompromisem między dokładnością a niezawodnością i prostotą implementacji.