Mam ogromny zestaw danych z relacyjnej bazy danych, dla którego muszę utworzyć model klasyfikacji. Zwykle w tej sytuacji używałbym programowania logiki indukcyjnej (ILP), ale ze względu na szczególne okoliczności nie mogę tego zrobić.
Innym sposobem rozwiązania tego problemu jest próba agregacji wartości, gdy mam relację zagraniczną. Mam jednak tysiące ważnych i odrębnych wierszy dla niektórych nominalnych atrybutów (np .: Pacjent w związku z kilkoma odrębnymi receptami na leki). Tak więc po prostu nie mogę tego zrobić bez utworzenia nowego atrybutu dla każdego odrębnego wiersza tego nominalnego atrybutu, a ponadto większość nowych kolumn miałaby NULL wartości, jeśli to robię.
Czy istnieje algorytm inny niż ILP, który pozwala mi na wyszukiwanie relacyjnych baz danych bez uciekania się do technik takich jak przestawianie, które tworzyłyby tysiące nowych kolumn?
źródło
Odpowiedzi:
Po pierwsze, pewne zastrzeżenia
Nie jestem pewien, dlaczego nie możesz użyć preferowanego paradygmatu programistycznego *, programowania indukcyjnego (ILP) lub tego, co próbujesz sklasyfikować. Podanie bardziej szczegółowych informacji prawdopodobnie doprowadziłoby do znacznie lepszej odpowiedzi; tym bardziej, że podejście do wyboru algorytmów klasyfikacji na podstawie paradygmatu programowania, z którym są one związane, jest dość niezwykłe. Jeśli twój przykład z prawdziwego świata jest poufny, po prostu wymyśl fikcyjny, ale analogiczny przykład.
Klasyfikacja dużych zbiorów danych bez ILP
Powiedziawszy to, po wykluczeniu ILP, mamy w naszym zbiorze rozważań 4 inne paradygmaty programowania logicznego:
oprócz kilkudziesięciu paradygmatów i sub-paradygmatów poza programowaniem logiki.
Na przykład w ramach Funkcjonalnego Programowania Logicznego istnieją rozszerzenia ILP zwane Indukcyjnym Funkcjonalnym Programowaniem Logicznym , które opiera się na zwężeniu inwersji (tj. Odwróceniu mechanizmu zwężenia). Podejście to eliminuje kilka ograniczeń ILP i ( przynajmniej według niektórych naukowców ) jest odpowiednie do zastosowania pod względem reprezentacji i ma tę zaletę, że pozwala wyrazić problemy w bardziej naturalny sposób.
Nie wiedząc więcej o szczegółach twojej bazy danych i barierach, jakie napotykasz przy korzystaniu z ILP, nie wiem, czy to rozwiąże twój problem, czy cierpi z powodu tych samych problemów. Jako taki wyrzucę również zupełnie inne podejście.
ILP kontrastuje z „klasycznym” lub „zdaniowym” podejściem do eksploracji danych . Te podejścia obejmują mięso i kości uczenia maszynowego, takie jak drzewa decyzyjne, sieci neuronowe, regresja, tworzenie worków i inne metody statystyczne. Zamiast rezygnować z tych podejść ze względu na rozmiar danych, możesz dołączyć do grona wielu badaczy danych, inżynierów Big Data i statystów, którzy używają technologii High Performance Computing (HPC) do stosowania tych metod w przypadku ogromnych zestawów danych (istnieją także próbkowanie i inne techniki statystyczne, które możesz wykorzystać do zmniejszenia zasobów obliczeniowych i czasu potrzebnego do analizy Big Data w relacyjnej bazie danych).
HPC obejmuje między innymi wykorzystanie wielu rdzeni procesora, skalowanie analizy dzięki elastycznemu użyciu serwerów z dużą pamięcią i dużą liczbą szybkich rdzeni procesora, używanie wydajnych urządzeń hurtowni danych, stosowanie klastrów lub innych form przetwarzania równoległego itp. „ Nie jestem pewien, z jakim językiem lub pakietem statystycznym analizujesz swoje dane, ale jako przykład ten widok zadań CRAN zawiera listę wielu zasobów HPC dla języka R, które pozwoliłyby na skalowanie algorytmu zdań.
źródło