Quindi abbiamo il potenziale per un'applicazione di machine learning che si adatta abbastanza bene al tradizionale dominio problematico risolto dai classificatori, cioè abbiamo un insieme di attributi che descrivono un elemento e un "secchio" in cui finiscono. Tuttavia, piuttosto che creare modelli di probabilità come in Naive Bayes o classificatori simili, vogliamo che il nostro output sia un insieme di regole leggibili dall'uomo che possono essere riviste e modificate da un utente finale.
L'apprendimento delle regole di associazione assomiglia alla famiglia di algoritmi che risolve questo tipo di problema, ma questi algoritmi sembrano concentrarsi sull'identificazione di combinazioni comuni di funzionalità e non includono il concetto di bucket finale a cui tali funzionalità potrebbero indicare. Ad esempio, il nostro set di dati è simile al seguente:
Item A { 4-door, small, steel } => { sedan }
Item B { 2-door, big, steel } => { truck }
Item C { 2-door, small, steel } => { coupe }
Voglio solo le regole che dicono "se è grande e un 2 porte, è un camion", non le regole che dicono "se è un 4 porte è anche piccolo".
Una soluzione alternativa che mi viene in mente è quella di utilizzare semplicemente algoritmi di apprendimento delle regole di associazione e ignorare le regole che non comportano un end bucket, ma sembra un po 'confuso. Ho perso qualche famiglia di algoritmi là fuori? O forse sto affrontando il problema in modo errato per cominciare?