Zyski:
- Umiejętność rozpoznawania różnych źródeł danych (baza danych, API, plik, web scraping) i pułapek każdego z nich oraz prawidłowego zrozumienia schematu
- Umiejętność wykonywania powtarzalnego pobierania próbek poprzez ocenę, czy próbka reprezentuje populację i błąd selekcji
- Możliwość wyeliminowania wycieku danych na etapie zbierania i przestrzegania granic prawnych/etycznych poprzez zadawanie w każdej kolumnie pytania „Czy będę je mieć w momencie prognozy”?
Każda analiza jest tak dobra, jak jakość zbieranych danych. Nawet najbardziej zaawansowany model na świecie będzie generował niewiarygodne wyniki, jeśli będzie działał z danymi zebranymi nieprawidłowo, stronniczo dobranymi próbkami lub zawierającymi informacje dotyczące przyszłości. W informatyce zasadę tę podsumowuje się następująco: „śmieci wchodzą, śmieci wychodzą” (śmieci wchodzą, śmieci wychodzą). W tej części omówimy fazę gromadzenia danych: zrozumienie źródła, pobieranie próbek, zadawanie pytań dotyczących jakości i bycie wyczulonym na ryzyko wycieku danych od pierwszego dnia. Sztuczna inteligencja jest potężną pomocą na tym etapie; Pisze zapytanie SQL, podsumowuje dokument API, przygotowuje kontrakt na dane. Ale to człowiek decyduje, jakie dane zbierasz i czy te dane Cię reprezentują.
Poznanie źródeł danych
Dane pochodzą z różnych miejsc, a każde źródło ma swoje własne pułapki. Baza danych (dane strukturalne przechowywane w tabelach, zwykle odpytywane za pomocą SQL) jest najczęstszym źródłem; Jest niezawodny, ale konieczne jest dobre zrozumienie jego schematu. API (interfejs programowania aplikacji) zapewnia dane na żywo, ale niesie ze sobą ryzyko ograniczeń prędkości i zmian formatu. Pliki (CSV, Excel, JSON) są elastyczne, ale podatne na niespójność formatu. Skrobanie sieci jest potężne, ale ma ograniczenia prawne i etyczne; Nie każdą witrynę można zeskrobać.
Uwaga: w przypadku zbierania danych z sieci i automatycznego gromadzenia danych należy przestrzegać warunków korzystania z witryny, pliku robots.txt i KVKK/RODO. Nieautoryzowane gromadzenie danych powoduje odpowiedzialność prawną. W kontekście bezpieczeństwa informacji korzystaj z narzędzi do gromadzenia danych wyłącznie w systemach, do których masz uprawnienia oraz w celach obronnych/analitycznych; Nieupoważniony dostęp lub skrobanie jest zabronione.
Zrozumienie schematu: zapoznanie się z danymi
Przed zebraniem zbioru danych należy poznać jego schemat (nazwy kolumn, ich typy danych, znaczenie i wzajemne relacje). Sztuczna inteligencja jest tutaj bardzo przydatna przy tworzeniu „słownika danych” — tabeli wyjaśniającej, co oznacza każda kolumna. Jednak wyjaśnienia, które tworzy sztuczna inteligencja, są przewidywaniami; Potwierdź prawdziwe znaczenie każdej kolumny z zespołem, który wygenerował dane. Na przykład kolumna o nazwie „status” może zawierać 0/1/2; Tylko zespół inicjujący wie, czy są one „oczekujące/zatwierdzone/anulowane”, czy też coś innego.
Poniższa tabela podsumowuje podstawowe typy zasobów i przestrogi:
Źródło
mocny punkt
pułapka
Jak sztuczna inteligencja pomaga
Baza danych SQL
Strukturalny, niezawodny
Złożone łączenia
Zapisuje wersję roboczą zapytania
API
dane na żywo
Ograniczenie prędkości, zmiana kształtu
Streszczenia dokumentów, kod ściągający
CSV/Excel
Elastyczny, szybki
Niespójność formatu
Przeczytaj/przeanalizuj kod
skrobanie sieci
Szeroki zasięg
Granica prawna/etyczna
Analizowanie wersji roboczej (w ramach uprawnień)
Dane dziennika/zdarzenia
szczegółowe
ogromna objętość
Zapytanie filtrujące
Ilustracja: czy część reprezentuje całość?
W większości przypadków pracuje się z próbą (podzbiorem wybranym z populacji), a nie z całością danych. Kluczowe pytanie brzmi: czy ta próbka reprezentuje populację? Najczęstszą pułapką jest błąd selekcji. Na przykład, jeśli pobierzesz tylko próbki użytkowników z aplikacji mobilnej, nie zobaczysz użytkowników internetu, a wyniki będą mylące. Próbkowanie losowe (każdy rekord ma taką samą szansę na wybranie) jest w większości przypadków najbezpieczniejsze; ale w przypadku danych szeregów czasowych podział odbywa się chronologicznie, a nie losowo (zobaczymy to w rozdziałach 7 i 10).
Przeciekaj świadomość od pierwszego dnia
Wyciek danych jest źródłem większości katastrof i zwykle ma miejsce na etapie gromadzenia danych. Przykład: podczas przewidywania „czy zostało odwołane”, jeśli dodasz do danych kolumnę „data anulowania”, model wybiega w przyszłość. Na etapie zbierania zadaj jedno pytanie do każdej kolumny: „Czy rzeczywiście będę dysponował tymi informacjami w momencie dokonywania prognozy?” Jeśli odpowiedź brzmi „nie”, oznacza to, że kolumna przecieka. Omówimy ten temat szczegółowo w części 10; Ale świadomość powinna zacząć się już od pierwszego dnia.
trzy mini etui
Przypadek 1 — Problem reprezentacji. Jeden bank do swojego modelu ryzyka kredytowego zebrał dane wyłącznie o zatwierdzonych kredytach (18,5 tys. rekordów). Dane nie uwzględniały odrzuceń. Model błędnie sprawdzał się w świecie rzeczywistym, ponieważ nigdy nie przewidywał, jak zachowają się odrzuty. Lekcja: próba powinna być reprezentatywna dla całej populacji, spośród której podejmujesz decyzję.
Przypadek 2 – Cicha zmiana formularza. Zespół codziennie pobierał dane dotyczące cen z interfejsu API. Pewnego dnia dostawca API zmienił walutę z USD na EUR, ale nazwa domeny pozostała ta sama. Dane zbierano w niewłaściwej jednostce przez 12 dni; Uszkodzonych zostało 3200 linii. Lekcja: Regularnie sprawdzaj spójność wolumenu i formatu danych API.
Przypadek 3 — Wczesny wyciek. Analityk uwzględnił kolumnę „Powód zamknięcia konta” podczas zbierania danych na potrzeby oszacowania „rezygnacji”. Kolumna ta została wypełniona dopiero po wyjściu klienta. Model uzyskał na zestawie testowym dokładność 97%; Nie zadziałało to w środowisku produkcyjnym, ponieważ w momencie przewidywania ta kolumna była pusta. Lekcja: zadaj każdej kolumnie pytanie „czy mam to w momencie przewidywania?”
Cztery szablony do kopiowania
1) Ekstrakcja słownika danych:
Twoja rola: asystent analityka danych. Poniżej znajdują się nazwy kolumn i przykładowe (anonimowe) wartości tabeli. Dla każdej kolumny wypisz w tabeli jej szacunkowe znaczenie, typ danych i potencjalne ryzyko związane z jakością. Oznacz kolumny, których nie jesteś pewien, jako „wymagane potwierdzenie”; tworzenie znaczenia. Kolumny: [wklej tutaj]
2) Kod próbkowania (losowy, powtarzalny):
Mam pandy df. Napisz kod, który wyodrębni reprezentatywną 5% próbkę losową z 200 000 wierszy. Użyj random_state=42 (dla odtwarzalności). Dodaj kod, aby sprawdzić, czy rozkład klas próby jest podobny do rozkładu populacji.
3) Pytanie dotyczące skanowania wycieków:
Dam ci tę listę kolumn. Moim celem jest przewidzenie, „czy zostanie odwołany” (0/1). Dla każdej kolumny oceń, czy faktycznie będę ją mieć w momencie prognozy i oznacz ją jako „bezpieczna/podejrzana/wyciek”. Zapisz swoje uzasadnienie w jednym zdaniu. Kolumny: [lista]
4) Wersja robocza zapytania SQL pull:
Mam tabele „zamówienia” i „klienci” w PostgreSQL. Napisz zapytanie JOIN, które połączy zamówienia z ostatnich 90 dni z miastem klienta i zwróci całkowitą kwotę i liczbę zamówień na miasto. Wyjaśnij filtr daty i sposób obsługi miast NULL. Uruchomię zapytanie i zweryfikuję je.
Słaba zachęta/silna zachęta
Słaba zachęta:
Pobierz mi dobre przykładowe dane z tej bazy danych.
„Dobrze” jest niejednoznaczne; Jaki obraz, z jakiego okresu, jaki rozmiar, jakie przeznaczenie – nie jest jasne. Sztuczna inteligencja wygeneruje tylko ogólne, prawdopodobnie błędne zapytanie.
Potężny monit:
Twoja rola: Asystent SQL. Mam tabelę „transakcje”: identyfikator kolumny, identyfikator_klienta, data (znacznik czasu), kwota (liczbowa), kanał (tekst: „internet”/„mobile”). Zadanie: Napisz powtarzalne (deterministyczne z ORDER BY) zapytanie, które zwróci 10 000 reprezentatywnych wierszy z każdego kanału za rok 2024. Cel: analiza porównawcza kanałów. Wypisz założenia swojego zapytania.
Tutaj tabela, przeznaczenie, rozmiar i powtarzalność są jasne.
Typowe błędy
- Nie kwestionuję reprezentatywności próby. Łatwo dostępne dane nie są danymi dokładnymi; błąd selekcji zniekształca wynik.
- Dopasowanie znaczeń kolumn do AI. Zespół źródłowy zna znaczenie; Nie używaj prognozy AI bez jej potwierdzenia.
- Brak śledzenia zmiany formatu/jednostki API. Cicha zmiana gromadzi uszkodzone dane przez kilka dni.
- Ignorowanie wycieku na etapie zbiórki. Jeśli pytanie „Czy mam to w momencie przewidywania” nie zostanie zadane wcześniej, model da fałszywy sukces.
- Gromadzenie nieautoryzowanych lub nielegalnych danych. Naruszenie pliku robots.txt, warunków użytkowania i KVKK stanowi poważne ryzyko.
Wskazówka: zachowaj jednostronicową „kartę danych” dla każdego nowego źródła danych: źródło, data pobrania, liczba wierszy, znane granice i kolumny zagrożone wyciekiem. Ta karta zapisuje pytanie „co to były za dane” i zapewnia powtarzalność kilka miesięcy później.
Podsumowując
Jakość analizy jest ograniczona jakością zebranych danych. Znaj dobrze źródło (bazę danych, API, plik, scrape) i schemat; upewnić się, że próbka jest reprezentatywna dla populacji; Wyeliminuj wycieki już od pierwszego dnia, zadając każdej kolumnie pytanie „czy mam je w momencie przewidywania?” Sztuczna inteligencja jest doskonałym akceleratorem pracy z zapytaniami i dokumentami, ale to ludzie decydują, jakie dane zbierać i ich reprezentatywność. Granice władzy, prawo i poufność zawsze są na pierwszym miejscu.
Zadanie aplikacji
Wybierz źródło danych (z własnej firmy lub hipotetyczne). Uzyskaj wersję roboczą słownika danych od AI za pomocą powyższego szablonu „ekstrakcji słownika danych”; Następnie ręcznie oceń każdą kolumnę, aby sprawdzić, czy doszło do wycieku. Spróbuj znaleźć przynajmniej jedną kolumnę podejrzaną/wyciekową i napisz w jednym zdaniu, dlaczego jest to ryzykowne.
lista kontrolna
- [ ] Czy potwierdziłem źródło danych i schemat z zespołem źródłowym?
- [ ] Czy sprawdziłem, czy próba jest reprezentatywna dla populacji?
- [ ] Czy zadałem każdej kolumnie pytanie „czy będę je mieć w momencie wyceny?”
- [ ] Czy zapewniłem powtarzalność pobierania próbek (stałe nasiona)?
- [ ] Czy sprawdziłem prawne/etyczne (autorytet, robots.txt, KVKK) limity zbierania?