데이터 마이닝의 비닝

| | | | | | | | | |

데이터 비닝, 버킷팅은 작은 관찰 오류의 영향을 최소화하는 데 사용되는 데이터 전처리 방법입니다. 원래 데이터 값은 bin으로 알려진 작은 범위로 나누어진 다음 해당 bin에 대해 전체적으로 계산된 값으로 대체됩니다. 이것은 입력 데이터에 평활화 효과가 있으며 작은 데이터 세트의 경우 과적합 가능성을 줄일 수도 있습니다.

데이터를 상자로 나누는 두 가지 방법이 있습니다.

  • Equal Frequency Binning: 빈의 빈도가 동일합니다.
  • Equal Width Binning: 빈의 너비가 동일하고 각 빈의 범위가 정의됩니다. [min + w], [min + 2w] `Ķ. [min + nw] 여기서 w = (max ‚Äì min) / (빈 수).

동일 주파수 비닝

입력:[5, 10, 11 , 13, 15, 35, 50, 55, 72, 92, 204, 215] 출력: [5, 10, 11, 13] [15, 35, 50, 55] [72, 92, 204, 215] 

동일 너비 비닝:

입력: [5, 10, 11, 13, 15, 35, 50, 55, 72, 92, 204, 215] 출력: [5, 10, 11, 13, 15, 35, 50, 55, 72] [92] [204, 215] 

비닝 기법의 구현

# 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) # 같은 너비 def equiwidth(arr1, m): a = len(arr1) w = int((max(arr1) - min(arr1)) / m) min1 = min(arr1) arr = [] for i in range(0, m + 1): arr = arr + [min1 + w * i] arri=[] for i in range(0, m): temp = [] for j in arr1: if j >= arr[i] and j <= arr[i+1]: temp += [j] arri += [temp] print(arri) # 비닝할 데이터 데이터 = [5, 10, 11, 13, 15, 35, 50, 55, 72, 92, 204, 215] # 개수 bins m = 3 print("동일 빈도 비닝") equifreq(data, m) print("동일 너비 비닝") equiwidth(data, 3) 

출력:

동일 빈도 비닝 [5, 10, 11, 13] [15, 35, 50, 55] [72, 92, 204, 215] 동일한 너비 비닝 [[5, 10, 11, 13, 15, 35, 50, 55, 72] ], [92], [204, 215]] 

데이터 비닝이란 무엇입니까?

이산화라고도 하는 비닝은 연속 데이터와 이산 데이터의 카디널리티를 줄이는 기술입니다. 범주화는 관련 값을 범주로 그룹화하여 고유한 값의 수를 줄입니다.

범주화는 모델 품질의 심각한 손실 없이 리소스 활용도와 모델 구축 응답 시간을 극적으로 개선할 수 있습니다. 분류는 속성 간의 관계를 강화하여 모델의 품질을 향상시킬 수 있습니다.

지도 비닝은 데이터의 중요한 특성을 사용하여 빈의 한계를 결정하는 지능형 비닝의 한 형태입니다. 감독된 비닝에서 빈의 한계는 대상과의 공동 분포를 고려하는 단일 예측자 의사 결정 트리로 식별됩니다. 지도 분류는 숫자 및 범주 속성에 사용할 수 있습니다.





이미지 데이터 처리

이미지 처리와 관련하여 비닝은 픽셀 그룹을 단일 픽셀로 결합하는 프로세스입니다. 따라서 2x2 비닝을 사용하면 4픽셀 배열이 더 큰 픽셀[1]이 되어 총 픽셀 수가 줄어듭니다.

이 집계는 정보 손실과 관련되어 있지만 처리할 데이터의 양을 줄이고, 따라서 분석을 용이하게 합니다. 예를 들어, 데이터를 그룹화하면 처리된 이미지에 대한 읽기 노이즈의 영향을 줄일 수도 있습니다(해상도가 낮아짐).

사용 예

히스토그램은 데이터 집계의 예입니다. 기본 분포를 관찰하는 데 사용됩니다. 일반적으로 1차원 공간에서 쉽게 볼 수 있도록 규칙적인 간격으로 발생합니다.

데이터 융합은 질량 분석(MS) 또는 핵자기 공명(NMR) 실험의 스펙트럼 측정에서 작은 기기 이동이 다음과 같을 때 사용할 수 있습니다. 데이터 프로필 집합이 제출될 때 다른 구성 요소를 나타내는 것으로 잘못 해석됩니다. 패턴 인식 분석에. 이 문제를 해결하는 간단한 방법은 분석 간의 작은 스펙트럼 이동에도 불구하고 주어진 피크가 빈에 유지되도록 스펙트럼 분해능을 줄이는 클러스터링 기술을 사용하는 것입니다. 예를 들어, NMR에서 화학적 이동 축은 이산화되어 대략 간격으로 나눌 수 있으며 MS에서 스펙트럼 정확도는 원자 질량 단위의 전체 값으로 반올림될 수 있습니다. 또한 일부 디지털 카메라 시스템에는 이미지 대비를 개선하기 위한 자동 픽셀 그룹화가 포함되어 있습니다.

Binning은 또한 머신 러닝에서 Microsoft LightGBM 및 그래디언트와 같은 알고리즘의 지도 분류 및 회귀를 위한 의사 결정 트리 개선 방법을 가속화하는 데 사용됩니다. 증폭 분류 트리. scikit-learn 히스토그램을 기반으로 합니다.

데이터 평활화의 장점(장점)

데이터 평활화는 데이터 세트의 다양한 중요한 숨겨진 패턴에 대한 이해성을 명확하게 합니다. 데이터 평활화를 사용하여 추세를 예측할 수 있습니다. 예측은 적시에 올바른 결정을 내리는 데 매우 유용합니다.

데이터 평활화는 데이터에서 정확한 결과를 얻는 데 도움이 됩니다.

데이터 평활화의 단점

데이터 평활화가 항상 데이터 간의 패턴에 대한 명확한 설명을 제공하는 것은 아닙니다. 다른 데이터 포인트에 초점을 맞춰 특정 데이터 포인트를 무시할 수 있습니다.

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