Binning nel data mining

| | | | | | | | | |

Il binning dei dati, il bucketing è un metodo di pre-elaborazione dei dati utilizzato per ridurre al minimo gli effetti di piccoli errori di osservazione. I valori dei dati originali ‚Äã‚Äãsono divisi in piccoli intervalli noti come bin e quindi sostituiti da un valore calcolato complessivo per quel bin. Ciò ha un effetto levigante sui dati di input e può anche ridurre le possibilità di overfitting nel caso di piccoli set di dati.

Esistono 2 metodi per dividere i dati in riquadri:

  • Binning a frequenza uguale: i bin hanno una frequenza uguale.
  • Binning a larghezza ugualeg: i bin hanno larghezza uguale con un intervallo di ciascun bin sono definiti come [min + w], [min + 2 w] ‚Ķ. [min + nw] dove w = (max ‚Äì min) / (n. bin).

Binning a frequenza uguale

Input:[5, 10, 11 , 13, 15, 35, 50, 55, 72, 92, 204, 215] Uscita: [5, 10, 11, 13] [15, 35, 50, 55] [72, 92, 204, 215] 

Binning a larghezza uguale:

Input: [5, 10, 11, 13, 15, 35, 50, 55, 72, 92, 204, 215] Output: [5, 10, 11, 13, 15, 35, 50, 55, 72] [92] [204, 215] 

Implementazione della tecnica di binning

# equal frequency def equifreq(arr1, m) : a = len(arr1) n = int(a / m) for i in range(0, m): arr = [] for j in range(i * n, (i + 1) * n): se j > = a: break arr = arr + [arr1[j]] print(arr) # uguale larghezza def equiwidth(arr1, m): a = len(arr1) w = int((max(arr1) - min(arr1)) / m) min1 = min(arr1) arr = [] per i in range(0, m + 1): arr = arr + [min1 + w * i] arri=[] per i in range(0, m): temp = [] for j in arr1: if j >= arr[i] e j <= arr[i+1]: temp += [j] arri += [temp] print(arri) # dati da inserire nel cestino = [5, 10, 11, 13, 15, 35, 50, 55, 72, 92, 204, 215] n. bins m = 3 print("binning a uguale frequenza") equifreq(data, m) print("binning a larghezza uguale") equiwidth(data, 3) 

Output:

equal frequency binning [5, 10, 11, 13] [15, 35, 50, 55] [72, 92, 204, 215] binning a larghezza uguale [[5, 10, 11, 13, 15, 35, 50, 55, 72 ], [92], [204, 215]] 

Cos`è il binning dei dati?

Il binning, chiamato anche discretizzazione, è una tecnica per ridurre la cardinalità di dati continui e discreti. La categorizzazione raggruppa i valori correlati "in categorie per ridurre il numero di valori distinti.

La categorizzazione può migliorare notevolmente l`utilizzo delle risorse e il tempo di risposta della creazione del modello, senza una perdita significativa della qualità del modello. La categorizzazione può migliorare la qualità del modello, rafforzando la relazione tra gli attributi.

Il binning supervisionato è una forma di binning intelligente in cui vengono utilizzate caratteristiche importanti dei dati per determinare i limiti del cestino. Nel binning supervisionato, i limiti del bin sono identificati da un albero decisionale a predittore unico che tiene conto della distribuzione congiunta con la destinazione. La categorizzazione supervisionata può essere utilizzata per attributi numerici e categoriali.





Elaborazione dei dati delle immagini

Nel contesto dell`elaborazione delle immagini, il binning è il processo di combinazione di un gruppo di pixel in un singolo pixel. Quindi, con il binning 2x2, l`array di 4 pixel diventa un pixel più grande [1], diminuendo il numero totale di pixel.

Questa aggregazione, sebbene associata alla perdita di informazioni, riduce la quantità di dati da elaborare, facilitando così l`analisi. Ad esempio, il raggruppamento dei dati può anche ridurre l`effetto del rumore di lettura sull`immagine elaborata (a costo di una risoluzione inferiore).

Esempio di utilizzo

Gli istogrammi sono un esempio di aggregazione dei dati utilizzato per osservare le distribuzioni sottostanti. Di solito si verificano in uno spazio unidimensionale e a intervalli regolari per una facile visualizzazione.

La fusione dei dati può essere utilizzata quando piccoli spostamenti strumentali nella misurazione spettrale degli esperimenti di spettrometria di massa (MS) o risonanza magnetica nucleare (NMR) sono erroneamente interpretato come rappresentante di componenti diversi quando viene inviato un insieme di profili di dati. ad un`analisi di riconoscimento del modello. Un modo semplice per risolvere questo problema consiste nell`utilizzare tecniche di clustering che riducono la risoluzione spettrale quanto basta per garantire che un dato picco rimanga nel suo contenitore nonostante i piccoli spostamenti spettrali tra le analisi. Ad esempio, in NMR, l`asse di spostamento chimico può essere discretizzato e suddiviso approssimativamente in intervalli, e in MS, le precisioni spettrali possono essere arrotondate a valori interi ‚Äã‚Äão di unità di massa atomica. Inoltre, alcuni sistemi di fotocamere digitali includono il raggruppamento automatico dei pixel per migliorare il contrasto dell`immagine.

Il binning viene utilizzato anche nell`apprendimento automatico per accelerare un metodo di miglioramento dell`albero decisionale per la classificazione e la regressione supervisionate in algoritmi come Microsoft LightGBM e il gradiente albero di classificazione dell`amplificazione. basato sull`istogramma di scikit-learn.

Vantaggi (pro) del livellamento dei dati

Il livellamento dei dati chiarisce la comprensibilità di vari importanti schemi nascosti nel set di dati. Il livellamento dei dati può essere utilizzato per prevedere le tendenze. Le previsioni sono molto utili per prendere le decisioni giuste al momento giusto.

Il livellamento dei dati aiuta a ottenere risultati accurati dai dati.

Svantaggi del livellamento dei dati

Il livellamento dei dati non fornisce sempre una chiara spiegazione degli schemi tra i dati. È possibile che alcuni punti dati vengano ignorati focalizzando gli altri punti dati.

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method