[004][Dane kategoryczne]

Do celów analizy ,wartości kategoryczne są traktowane jako abstrakcyjne byty bez jakiejkolwiek struktury matematycznej, takiej jak porządek lub topologia, niezależnie od tego, jak są kodowane i przechowywane.

PYTANIE: Jak mogę dynamicznie odróżnić dane kategoryczne od danych liczbowych?

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:

MIASTO

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:

  1. Jeśli kolumna zawiera wszystkie liczby całkowite, oznacz ją jako kategoryczną. To oczywiście nie zadziałałoby, ale to był pomysł.
  2. 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.
  3. 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.

ODPOWIEDŹ

(1) Nie znam niezawodnego sposobu na zrobienie tego. Oto jeden pomysł z mojej głowy:

  1. Domyślnie traktuj wartości jako jakościowe.
  2. Sprawdź różne atrybuty danych, które sugerowałyby, że są one rzeczywiście ciągłe. Wagi tych atrybutów na podstawie prawdopodobieństwa korelacji z ciągłymi danymi. Oto kilka możliwych przykładów:

* Wartości są liczbami całkowitymi: +.7

* Wartości są zmiennoprzecinkowe: +.8

* Wartości są zwykle dystrybuowane: +.3

* Wartości zawierają stosunkowo niewielką liczbę unikalnych wartości: +.3

* Wartości nie są taką samą liczbą znaków: +.1

* Wartości nie zawierają wiodących zer: +.1

  1. Traktuj wszystkie kolumny o wartości większej niż 1 jako liczbowe. Dostosuj współczynniki i wagi w oparciu o testowanie różnych zestawów danych do swoich potrzeb. Aby to zrobić, możesz nawet zbudować i wyszkolić osobny algorytm uczenia maszynowego.

(2) 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:

* Oblicz liczbę unikalnych wartości w tej kolumnie

* Podziel tę liczbę przez całkowitą liczbę wierszy

* Jeśli stosunek ten jest poniżej pewnego progu (na przykład 20%), uznajesz go za kategoryczny.

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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *