Binning im Data Mining

| | | | | | | | | |

Datenklassierung, Bucketing ist eine Datenvorverarbeitungsmethode, die verwendet wird, um die Auswirkungen kleiner Beobachtungsfehler zu minimieren. Die ursprünglichen Datenwerte werden in kleine Bereiche unterteilt, die als Bins bekannt sind, und dann durch einen berechneten Gesamtwert für diesen Bin ersetzt. Dies wirkt sich glättend auf die Eingabedaten aus und kann auch die Wahrscheinlichkeit einer Überanpassung bei kleinen Datensätzen verringern.

Es gibt zwei Methoden, um Daten in Kästchen zu unterteilen:

  • Binning mit gleicher Häufigkeit: Bins haben eine gleiche Häufigkeit.
  • Binning mit gleicher Breite: Bins haben die gleiche Breite, wobei für jeden Bin ein Bereich definiert ist als [min + w], [min + 2w] ‚Ķ. [min + nw] wobei w = (max ‚Äì min) / (Anzahl der Bins).

Binning mit gleicher Häufigkeit

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

Binning gleicher Breite:

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

Implementierung der Binning-Technik

# 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): if j > = a: break arr = arr + [arr1[j]] print(arr) # gleiche Breite def equiwidth(arr1, m): a = len(arr1) w = int((max(arr1) - min(arr1)) / m) min1 = min(arr1) arr = [] für i im Bereich (0, m + 1): arr = arr + [min1 + w * i] arr=[] für i im Bereich (0, m): temp = [] für j in arr1: if j >= arr[i] and j <= arr[i+1]: temp += [j] arri += [temp] print(arri) # data to bebinned data = [5, 10, 11, 13, 15, 35, 50, 55, 72, 92, 204, 215] # Anz bins m = 3 print("Binning mit gleicher Häufigkeit") equifreq(Daten, m) print("Binning mit gleicher Breite") equiwidth(Daten, 3) 

Ausgabe:

gleiche Häufigkeit Gruppierung [5, 10, 11, 13] [15, 35, 50, 55] [72, 92, 204, 215] Gruppierung gleicher Breite [[5, 10, 11, 13, 15, 35, 50, 55, 72 ], [92], [204, 215]] 

Was ist Data Binning?

Binning, auch Diskretisierung genannt, ist eine Technik zur Reduzierung der Kardinalität von kontinuierlichen und diskreten Daten. Bei der Kategorisierung werden verwandte Werte in Kategorien gruppiert, um die Anzahl unterschiedlicher Werte zu reduzieren.

Die Kategorisierung kann die Ressourcennutzung und die Reaktionszeit der Modellerstellung erheblich verbessern, ohne die Modellqualität erheblich zu beeinträchtigen. Die Kategorisierung kann die Qualität des Modells verbessern und die Beziehung zwischen Attributen stärken.

Überwachtes Klassieren ist eine Form des intelligenten Klassierens, bei dem wichtige Merkmale der Daten verwendet werden, um die Grenzen des Klassifikationsbereichs zu bestimmen. Beim überwachten Binning werden die Grenzen des Bins durch einen Entscheidungsbaum mit einem einzigen Prädiktor identifiziert, der die gemeinsame Verteilung mit dem Ziel berücksichtigt. Die überwachte Kategorisierung kann für numerische und kategoriale Attribute verwendet werden.





Bilddatenverarbeitung

Im Zusammenhang mit der Bildverarbeitung ist Binning der Vorgang, bei dem eine Gruppe von Pixeln zu einem einzigen Pixel kombiniert wird. Beim 2x2-Binning wird das 4-Pixel-Array also zu einem größeren Pixel [1], wodurch die Gesamtzahl der Pixel verringert wird.

Diese Aggregation ist zwar mit Informationsverlust verbunden, reduziert jedoch die zu verarbeitende Datenmenge. wodurch die Analyse erleichtert wird. Beispielsweise kann das Gruppieren von Daten auch die Auswirkung von Leserauschen auf das verarbeitete Bild verringern (auf Kosten einer geringeren Auflösung).

Anwendungsbeispiel

Histogramme sind ein Beispiel für die Datenaggregation verwendet, um die zugrunde liegenden Verteilungen zu beobachten. Sie treten normalerweise im eindimensionalen Raum und in regelmäßigen Intervallen auf, um eine einfache Betrachtung zu ermöglichen.

Die Datenfusion kann verwendet werden, wenn kleine instrumentelle Verschiebungen in der Spektralmessung von Massenspektrometrie- (MS) oder Kernspinresonanz-(NMR)-Experimenten sind fälschlicherweise als Darstellung unterschiedlicher Komponenten interpretiert, wenn ein Satz von Datenprofilen übermittelt wird. zu einer Mustererkennungsanalyse. Eine einfache Möglichkeit, dieses Problem zu lösen, besteht darin, Clustering-Techniken zu verwenden, die die spektrale Auflösung gerade so weit reduzieren, dass sichergestellt ist, dass ein bestimmter Peak trotz kleiner spektraler Verschiebungen zwischen den Analysen in seinem Bin bleibt. Beispielsweise kann bei NMR die Achse der chemischen Verschiebung diskretisiert und grob in Intervalle unterteilt werden, und bei MS können spektrale Genauigkeiten auf ganze Werte von atomaren Masseneinheiten gerundet werden. Darüber hinaus enthalten einige Digitalkamerasysteme eine automatische Pixelgruppierung, um den Bildkontrast zu verbessern.

Binning wird auch beim maschinellen Lernen verwendet, um eine Methode zur Verbesserung des Entscheidungsbaums für die überwachte Klassifizierung und Regression in Algorithmen wie Microsoft LightGBM und dem Gradienten zu beschleunigen Amplifikations-Klassifikationsbaum. basierend auf dem scikit-learn-Histogramm.

Vorteile (Pro) der Datenglättung

Die Datenglättung verdeutlicht die Verständlichkeit verschiedener wichtiger verborgener Muster im Datensatz. Die Datenglättung kann verwendet werden, um Trends vorherzusagen. Vorhersagen sind sehr hilfreich, um die richtigen Entscheidungen zur richtigen Zeit zu treffen.

Datenglättung hilft dabei, genaue Ergebnisse aus den Daten zu erhalten.

Nachteile der Datenglättung

Die Datenglättung liefert nicht immer eine klare Erklärung der Muster zwischen den Daten. Es ist möglich, bestimmte Datenpunkte zu ignorieren, indem die anderen Datenpunkte fokussiert werden.

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