Znam kogoś, kto pracuje nad projektem, który obejmuje przyjmowanie plików danych bez względu na kolumny lub typy danych. Zadanie polega na pobraniu pliku z dowolną liczbą kolumn i różnych typów danych oraz wyjściowych statystyk podsumowujących dane liczbowe.
Nie ma jednak pewności, jak dynamicznie przypisywać typy danych do niektórych danych liczbowych. Na przykład:
CITY
Albuquerque
Boston
Chicago
To oczywiście nie są dane liczbowe i będą przechowywane jako tekst. Jednak,
ZIP
80221
60653
25525
nie są wyraźnie oznaczone jako kategoryczne. Jego oprogramowanie przypisuje kod pocztowy jako statystyki numeryczne i podsumowujące dane wyjściowe, co nie ma sensu dla tego rodzaju danych.
Kilka pomysłów, które mieliśmy:
- Jeśli kolumna zawiera wszystkie liczby całkowite, oznacz ją jako kategoryczną. To oczywiście nie zadziałałoby, ale to był pomysł.
- Jeśli kolumna ma mniej niż n unikalnych wartości i jest liczbowa, oznacz ją kategorycznie. Może to być bliżej, ale nadal mogą występować problemy z przepływaniem danych liczbowych.
- Utrzymaj listę typowych danych liczbowych, które powinny faktycznie być jakościowe, i porównaj nagłówki kolumn z tą listą w celu dopasowania. Na przykład wszystko, co zawiera „ZIP”, byłoby kategoryczne.
Mój żołądek mówi mi, że nie ma sposobu, aby dokładnie przypisać dane liczbowe jako kategoryczne lub liczbowe, ale liczyłem na sugestię. Wszelkie informacje, które posiadasz, są bardzo mile widziane.
źródło
Odpowiedzi:
Nie znam niezawodnego sposobu na zrobienie tego. Oto jeden pomysł z mojej głowy:
źródło
Jeśli masz na przykład liczbę dzieci w rodzinie (która może wynosić na przykład od 0 do 5), czy jest to zmienna kategoryczna lub liczbowa? W rzeczywistości zależy to od twojego problemu i tego, jak zamierzasz go rozwiązać. W tym sensie możesz wykonać następujące czynności:
W przypadku wartości dyskretnych jednym dodatkowym testem może być: użycie modelu regresji do oszacowania niektórych parametrów i sprawdzenie, czy oszacowane wartości są zawarte w oryginalnym zestawie wartości. Jeśli nie jest to prawdą, prawdopodobnie masz do czynienia z danymi kategorycznymi (jak w przypadku ZIP).
W przeszłości działało to dla mnie stosunkowo dobrze ...
źródło
Ponieważ to pytanie zostało zamieszczone w krzyżowych wiadomościach, wstępne komentarze @nickcox na temat Cross Validated są bardzo trafne i prawdziwe. Moje poglądy są nieco inne. Na przykład przeredagowałbym pytanie, rozkładając je na dwie części: po pierwsze, chodzi o to, jak zająłby się klasyfikowanie strumienia nieznanych informacji według typu danych, a po drugie, jakiego rodzaju można spodziewać się błędnej klasyfikacji. Na oba pytania można natychmiast odpowiedzieć, jeśli ktoś chce poświęcić na to trochę czasu.
Pierwszy problem polega na opracowaniu opartego na regułach systemu eksperckiego zgodnie z tym, co zostało wstępnie zaproponowane w komentarzach i odpowiedziach na te wątki, z wykorzystaniem próbek rzeczywistych danych, które są łatwo dostępne.
Po drugie, biorąc pod uwagę, że te rzeczywiste dane zawierają znane typy danych, porównuje błąd klasyfikacji.
Trzeci krok obejmowałby iteracyjną aktualizację reguł, aby dokładniej odzwierciedlały przekazywane informacje - w zakresie, w jakim jest to możliwe.
Moim zdaniem, choć nużący, taki projekt nie wymagałby zbytniej pracy.
---- Dodatkowy komentarz ----
Dobra dyskusja na temat ekstrakcji funkcji związanych z procesem generowania danych pojawiła się tutaj na CV:
/stats/191935/what-does-the-process-that-generates-the-data-mean-and-how-does-feature-selec
Wyodrębnianie funkcji, selekcja i MZD to doskonały punkt wyjścia do opracowania systemu eksperckiego.
źródło