open:데이터-전처리

데이터 전처리

  • 데이터 형식 data formatting: 데이터가 작업하기에 적당한 형식이 아닐 수 있다. 예를 들어 데이터는 자체 파일 형식으로 제공될 수 있고, 사용자가 가장 좋아하는 머신러닝 알고리즘은 이를 이해하지 못할 수도 있다.
  • 데이터 정제 data cleaning: 데이터에 유효하지 않거나 누락된 항목이 포함될 수 있다. 이러한 항목은 정제하거나 제거해야 한다.
  • 데이터 샘플링 data sampling: 데이터가 특정 목적에 비해 너무 클 수 있으므로 데이터를 현명한 방식으로 샘플링해야 한다.
  • 확장 scaling: 특정 머신러닝 알고리즘은 종종 데이터가 평균 범위와 단위 분산을 갖고 일반적인 버무이 내에 있어야 한다. 확장은 모든 기능(물리적 단위가 다를 수 있음)을 일반적인 값 범위로 변경해서 가져오는 프로세스다.
  • 분해 decomposition: 데이터 세트에는 처리할 수 있는 것보다 더 많은 기능이 포함되는 경우가 많다. 특징 분해 feature decomposition 는 좀 더 적은 수의 매우 유익한 데이터 컴포넌트로 데이터를 압축하는 프로세스다.
  • 집계 aggregation: 때로는 여러 기능을 하나의 의미 있는 그룹으로 그룹화할 수 있다. 예를 들어 데이터베이스에는 웹 기반 시스템에 로그인한 각 사용자의 날짜와 시간이 포함될 수 있다. 작업에 따라 다르겠지만 사용자다 로그인한 횟수의 계산을 고려하면 이 데이터를 더 많이 이해할 수 있다.

from sklearn import preprocessing
import numpy as np

X = np.array([[1, -2, 2],[3,0,0], [0,1,-1]])
X_scaled = preprocessing.scale(X)

X_normalized_l1 = preprocessing.normalize(X, norm='l1')
X_normalized_l2 = preprocessing.normalize(X, norm='l2')

min_max_scaler = preprocessing.MinMaxScaler()
X_min_max = min_max_scaler.fit_transform(X)

min_max_scaler = preprocessing.MinMaxScaler(feature_range = (-10,10))
X_min_max = min_max_scaler.fit_transform(X)

binarizer = preprocessing.Binarizer(threshold=0.5)
X_binarized = binarizer.transform(X)

scikit-learn에서는 누락된 값을 대체하는 3가지 방법

  • mean: 모든 nan값을 행렬의 지정된 축을 따라 평균값으로 바꾼다. (기본값 axis=0)
  • median: 모든 nan값을 행렬의 지정된 축을 따라 중앙값으로 바꾼다. (기본값 axis=0)
  • most_frequent: 모든 nan값을 행렬의 지정된 축을 따라 가장 빈버낳ㄴ 값으로 대체한다. (기본값 axis=0)

from sklearn.impute import SimpleImputer
imp = SimpleImputer(strategy='mean')
X2 = imp.fit_transform(X)

imp = SimpleImputer(strategy='median')
X3 = imp.fit_transform(X)


  • open/데이터-전처리.txt
  • 마지막으로 수정됨: 2021/05/12 14:27
  • 저자 127.0.0.1