Data mining relazionale senza ILP


9

Ho un enorme set di dati da un database relazionale per il quale devo creare un modello di classificazione. Normalmente per questa situazione utilizzerei la Programmazione logica induttiva (ILP), ma a causa di circostanze speciali non posso farlo.

L'altro modo per affrontare questo sarebbe solo quello di provare ad aggregare i valori quando ho una relazione straniera. Tuttavia, ho migliaia di righe importanti e distinte per alcuni attributi nominali (ad esempio: un paziente con una relazione con diverse prescrizioni farmacologiche distinte). Quindi, non posso farlo senza creare un nuovo attributo per ogni riga distinta di quell'attributo nominale, e inoltre la maggior parte delle nuove colonne avrebbe valori NULL se lo facessi.

Esiste un algoritmo non ILP che mi consente di estrarre i dati dai database relazionali senza ricorrere a tecniche come il pivot, che creerebbe migliaia di nuove colonne?


2
Che dire del mining delle regole? Non mi è chiaro quale sia il tuo obiettivo.
adesantos,

Mentre una buona domanda noto che appare su più forum di Stack Exchange ... stackoverflow.com/questions/24260299/… ; Non che io sia un fanatico di cose del genere, ma penso che non dovremmo farlo
Hack-R

Inoltre, sarebbe molto utile se tu potessi essere un po 'più specifico riguardo a ciò che stai classificando, la barriera che stai incontrando e in un mondo ideale fornici alcuni dati di esempio da guardare
Hack-R

Risposte:


1

Innanzitutto, alcuni avvertimenti

Non sono sicuro del motivo per cui non è possibile utilizzare il proprio paradigma di programmazione (sub) preferito *, Programmazione logica induttiva (ILP) o cosa si sta tentando di classificare. Fornire maggiori dettagli probabilmente porterebbe a una risposta molto migliore; soprattutto perché è un po 'insolito avvicinarsi alla selezione di algoritmi di classificazione sulla base del paradigma di programmazione a cui sono associati. Se il tuo esempio nel mondo reale è confidenziale, crea semplicemente un esempio immaginario ma analogo.

Classificazione dei Big Data senza ILP

Detto questo, dopo aver escluso ILP, nel nostro set di considerazioni abbiamo altri 4 paradigmi di programmazione logica:

  1. abductive
  2. Set di risposte
  3. costrizione
  4. Funzionale

oltre alle decine di paradigmi e sotto-paradigmi al di fuori della programmazione logica.

All'interno della programmazione logica funzionale ad esempio, esistono estensioni di ILP chiamate Programmazione logica funzionale induttiva , che si basa sul restringimento di inversione (cioè inversione del meccanismo di restringimento). Questo approccio supera molte limitazioni dell'ILP e ( almeno secondo alcuni studiosi ) è adatto per l'applicazione in termini di rappresentazione e ha il vantaggio di consentire ai problemi di essere espressi in modo più naturale.

Senza sapere di più sulle specifiche del database e sugli ostacoli che si incontrano con l'utilizzo di ILP, non posso sapere se questo risolve il problema o soffre degli stessi problemi. Come tale, lancerò anche un approccio completamente diverso.

L'ILP è in contrasto con approcci "classici" o "proposizionali" al data mining . Tali approcci includono la carne e le ossa dell'apprendimento automatico come alberi decisionali, reti neurali, regressione, insaccamento e altri metodi statistici. Invece di rinunciare a questi approcci a causa delle dimensioni dei tuoi dati, puoi unirti ai ranghi di molti Data Scientist, Big Data engineer e statistici che utilizzano High Performance Computing (HPC) per impiegare questi metodi con enormi set di dati (ci sono anche campionamento e altre tecniche statistiche che potresti scegliere di utilizzare per ridurre le risorse computazionali e il tempo necessario per analizzare i Big Data nel tuo database relazionale).

HPC include cose come l'utilizzo di più core della CPU, il potenziamento dell'analisi con l'uso elastico di server con memoria elevata e un numero elevato di core della CPU veloci, l'utilizzo di dispositivi di data warehouse ad alte prestazioni, l'utilizzo di cluster o altre forme di elaborazione parallela, ecc. I ' Non sono sicuro di quale lingua o suite statistica stai analizzando i tuoi dati, ma come esempio questa Task View CRAN elenca molte risorse HPC per il linguaggio R che ti permetterebbero di scalare un algoritmo proposizionale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.