Binning w eksploracji danych

| | | | | | | | | |

Podział danych w grupy, grupowanie to metoda wstępnego przetwarzania danych stosowana w celu zminimalizowania skutków małych błędów obserwacji. Oryginalne wartości danych są podzielone na małe zakresy znane jako przedziały, a następnie zastępowane przez ogólną obliczoną wartość dla tego przedziału. Ma to wygładzający wpływ na dane wejściowe i może również zmniejszyć ryzyko przepełnienia w przypadku małych zestawów danych.

Istnieją 2 metody dzielenia danych na pola:

  • Wybieranie jednakowej częstotliwości: kosze mają taką samą częstotliwość.
  • Kierowanie o równej szerokościg: kosze mają równą szerokość, a zakres każdego kosza jest zdefiniowany jako [min + w], [min + 2w] ‚ʶ. [min + nw] gdzie w = (maks. – min) / (liczba przedziałów).

Podział na jednakową częstotliwość

Wejście: [5, 10, 11 , 13, 15, 35, 50, 55, 72, 92, 204, 215] Wyjście: [5, 10, 11, 13] [15, 35, 50, 55] [72, 92, 204, 215] 

Równa szerokość binningu:

Wejście: [5, 10, 11, 13, 15, 35, 50, 55, 72, 92, 204, 215] Wyjście: [5, 10, 11, 13, 15, 35, 50, 55, 72] [92] [204, 215] 

Wdrożenie techniki binningu

# równa częstotliwość 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): jeśli j > = a: break arr = arr + [arr1[j]] print(arr) # równa szerokość def equiwidth(arr1, m): a = len(arr1) w = int((max(arr1) - min(arr1)) / m) min1 = min(arr1) przyp = [] dla i w zakresie(0, m + 1): przyp = przyp + [min1 + w * i] przyp=[] dla i w zakresie(0, m): temp = [] for j in arr1: if j >= arr[i] i j <= arr[i+1]: temp += [j] arri += [temp] print(arri) # dane do binowania = [5, 10, 11, 13, 15, 35, 50, 55, 72, 92, 204, 215] # liczba bins m = 3 print("jednakowa częstotliwość binningu") equifreq(data, m) print("jednakowa szerokość binningu") equiwidth(data, 3) 

Wyjście:

jednakowa częstotliwość binning [5, 10, 11, 13] [15, 35, 50, 55] [72, 92, 204, 215] o równej szerokości [[5, 10, 11, 13, 15, 35, 50, 55, 72 ], [92], [204, 215]] 

Czym jest binning danych?

Binning, zwany także dyskretyzacją, jest techniką zmniejszania kardynalności danych ciągłych i dyskretnych. Kategoryzacja grupuje powiązane wartości w kategorie, aby zmniejszyć liczbę odrębnych wartości.

Kategoryzacja może znacznie poprawić wykorzystanie zasobów i czas reakcji budowania modelu, bez znaczącej utraty jakości modelu. Kategoryzacja może poprawić jakość modelu, wzmacniając związek między atrybutami.

Nadzorowane binning to forma inteligentnego binningu, w której ważne cechy danych są wykorzystywane do określenia limitów binningu. W nadzorowanym binningu granice binningu są identyfikowane przez drzewo decyzyjne z jednym predyktorem, które uwzględnia wspólną dystrybucję z miejscem docelowym. Nadzorowanej kategoryzacji można używać w przypadku atrybutów numerycznych i kategorialnych.





Przetwarzanie danych obrazu

W kontekście przetwarzania obrazu binning to proces łączenia grupy pikseli w jeden piksel. Tak więc przy binningu 2x2 tablica 4 pikseli staje się większym pikselem [1], zmniejszając całkowitą liczbę pikseli.

Ta agregacja, choć wiąże się z utratą informacji, zmniejsza ilość danych do przetworzenia, ułatwiając tym samym analizę. Na przykład grupowanie danych może również zmniejszyć wpływ szumu odczytu na przetwarzany obraz (kosztem niższej rozdzielczości).

Przykład użycia

Histogramy są przykładem agregacji danych służy do obserwowania podstawowych rozkładów. Zwykle występują w jednowymiarowej przestrzeni i w regularnych odstępach czasu, aby ułatwić ich oglądanie.

Fuzja danych może być stosowana, gdy niewielkie zmiany instrumentalne w pomiarach spektralnych spektrometrii mas (MS) lub eksperymentach z magnetycznym rezonansem jądrowym (NMR) są błędnie interpretowane jako reprezentujące różne składniki, gdy przesyłany jest zestaw profili danych. do analizy rozpoznawania wzorców. Prostym sposobem rozwiązania tego problemu jest zastosowanie technik grupowania, które zmniejszają rozdzielczość widmową na tyle, aby zapewnić, że dany pik pozostanie w swoim pojemniku pomimo niewielkich przesunięć widmowych między analizami. Na przykład w NMR oś przesunięcia chemicznego można zdyskretyzować i z grubsza podzielić na przedziały, a w MS dokładność widma można zaokrąglić do pełnych wartości jednostek masy atomowej. Ponadto niektóre systemy kamer cyfrowych zawierają automatyczne grupowanie pikseli w celu poprawy kontrastu obrazu.

Binning jest również stosowany w uczeniu maszynowym w celu przyspieszenia metody poprawy drzewa decyzyjnego w celu nadzorowanej klasyfikacji i regresji w algorytmach, takich jak Microsoft LightGBM i gradient drzewo klasyfikacji amplifikacji. w oparciu o histogram scikit-learn.

Zalety (zalety) wygładzania danych

Wygładzanie danych wyjaśnia zrozumiałość różnych ważnych ukrytych wzorców w zestawie danych. Wygładzanie danych może służyć do przewidywania trendów. Prognozy są bardzo pomocne w podejmowaniu właściwych decyzji we właściwym czasie.

Wygładzanie danych pomaga uzyskać dokładne wyniki z danych.

Wady wygładzania danych

Wygładzanie danych nie zawsze zapewnia jasne wyjaśnienie wzorców między danymi. Możliwe jest zignorowanie niektórych punktów danych przez skupienie innych punktów danych.

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