Tutorial per l'ingegneria delle funzionalità


19

Come è noto a tutti, l'ingegneria delle funzionalità è estremamente importante per l'apprendimento automatico, tuttavia ho trovato pochi materiali associati a quest'area. Ho partecipato a diverse competizioni in Kaggle e credo che in alcuni casi le buone caratteristiche possano persino essere più importanti di un buon classificatore. Qualcuno conosce qualche tutorial sull'ingegnerizzazione delle funzionalità o è pura esperienza?


1
Intendi pre-elaborazione delle funzionalità (normalizzazione e altre trasformazioni) o selezione delle funzionalità?
MattBagg,

2
@ mb3041023 No, il passaggio precedente a entrambi, in cui converti alcuni dati grezzi come testi, immagini o serie in alcuni attributi utilizzabili.

8
Nella mia esperienza, gran parte del problema dell'apprendimento automatico, sta letteralmente configurando il problema corretto da risolvere / ottimizzare (ovvero funzionalità, rappresentazione delle funzionalità, selezione, ecc.). Mi piacerebbe vedere un libro dedicato esclusivamente alla selezione e alla pre-elaborazione di funzionalità empiriche con molte illustrazioni della vita reale (come Kaggle). Se qualcuno ne conosce uno, per favore. inviare. Esistono diversi libri dedicati a cose come la pulizia / imputazione dei dati, ma è assolutamente necessario un testo pratico dedicato sulla selezione delle caratteristiche.
pat

2
Dai un'occhiata a: "Estrazione di funzioni: fondamenti e applicazioni", 2006
jasonb

2
@jasonb, che ne dici di autore, dimensioni, prezzo e un link, qualcosa del genere: Guyon ed., Estrazione di funzioni: Foundations and Applications 2006, 778p, $ 306
denis

Risposte:


7

Direi esperienza - le idee di base sono:

  • adattarsi al modo in cui funzionano i classificatori; dare un problema di geometria a un albero, dimensione sovradimensionata a un kNN e dati di intervallo a un SVM non sono una buona idea
  • rimuovere quante più non linearità possibile; aspettarsi che alcuni classificatori eseguano un'analisi di Fourier all'interno è piuttosto ingenuo (anche se lì sprecherebbe molta complessità)
  • rendere le funzioni generiche per tutti gli oggetti in modo che alcuni campionamenti nella catena non li eliminino
  • controlla i lavori precedenti - spesso la trasformazione utilizzata per la visualizzazione o il test di tipi di dati simili è già ottimizzata per scoprire aspetti interessanti
  • evitare trasformazioni instabili e ottimizzate come PCA che potrebbero causare un overfitting
  • sperimentare molto

Come si definiscono i "dati intervallo"? Ho cercato su Google e ho trovato molte definizioni diverse.
potenza

puoi approfondire il punto PCA?
Daniel Velkov,

X|X-primo più vicino|<0.3

@DanielVelkov Quando si avvia il PCA su dati piuttosto rumorosi, i componenti sono spesso instabili; questo promuove l'idea di creare un PCA globale sull'insieme disponibile, ciò che perde informazioni ed è un modo diretto per rovinare la valutazione.

@mbq cosa succede se il PCA viene eseguito solo sul set di allenamento, come dovrebbe essere?
Daniel Velkov,

1

C'è un libro di O'Reilly intitolato " Feature Engineering for Machine Learning " di Zheng et al.

Ho letto il libro e copre diversi tipi di dati (ad esempio categorici, di testo ...) e descrive diversi aspetti dell'ingegneria delle funzionalità che ne derivano. Ciò include cose come la normalizzazione dei dati, la selezione delle funzionalità, tf-idf nel testo.

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.