기계 학습 의 03 데이터 특징 예비 처리

11395 단어 기계 학습
1. 특징 처리 가 무엇 입 니까?
특정한 통계 방법 (수학 방법) 을 통 해 데 이 터 를 알고리즘 이 요구 하 는 데이터 1, 수치 형 데이터 표준 크기 조정: (1) 정규 화 (2) 표준화
(3) 부족 값 2, 유형 데이터: one - hot 인 코딩 3, 시간 유형: 시간의 구분
4. 전처리 API: sklearn. preprocessing
귀 일화
  • 목적: 특정한 특징 이 최종 결과 에 더 큰 영향 을 주지 않도록 한다
  • 단점: 최대, 최소 치 는 이상 점 의 영향 을 받 기 쉽다
  • 특징: 원시 데 이 터 를 변환 하여 데 이 터 를 [0, 1] 사이 에 투사 한다
  • 공식: x '= (x - min) / (max - min) x' = x '* (mx - mi) + mi
  • 주: 각 열 에 작용 하고 max, min 은 각 열의 최대, 최소 값 입 니 다.x '는 최종 결과 이 고 mx, mi 는 각각 지정 구간 값 인 기본 mx = 1, mi = 0 이다.
  • 정규 화 API: sklearn. preprocessing. MinMaxScaler
  • MinMaxScaler(feature_range=(0,1)...) 각 특징 크기 의 범위 (기본 값 [0, 1]) MinMaxScaler.fit_transform(X) x: numpy array 형식의 데이터 [n samples, n features] 반환 값: 변 환 된 형식 이 같은 array
    In [1]:from sklearn.preprocessing import MinMaxScaler
    	mm = MinMaxScaler()
    	data = mm.fit_transform([[90,2,10,40],[60,4,15,45],[75,3,13,46]])
    	data
    Out [1]:array([[1.        , 0.        , 0.        , 0.        ],
          	       [0.        , 1.        , 1.        , 0.83333333],
          	       [0.5       , 0.5       , 0.6       , 1.        ]])

    표준화
  • 표준화 에 있어 소량의 이상 점 이 평균치 에 미 치 는 영향 은 크 지 않다.견본 의 수량 이 비교적 많은 상황 에서 비교적 안정 적 이 고 현대 의 시 끄 러 운 빅 데이터 장면 에 적합 하 다.
  • 특징: 원시 데 이 터 를 변환 하여 데 이 터 를 평균 값 0 으로 바 꾸 고 표준 차 가 1 인 범위
  • 공식: x '= (x - mean) / thegma
  • - 각 열 에 작용 하 며, mean 은 평균치 이 며, thegma 는 표준 차 입 니 다. -분산 var = (x1 - mean) 2 + (x2 - mean) 2 +...) / n (각 특징의 견본 수) - thegma = aqrt (var) - 그 중에서 분산 (데이터 의 안정성 을 고려)
    In [1]:from sklearn.preprocessing import StandardScaler
    	std = StandardScaler()
    	data = std.fit_transform([[1.,-1.,3.],[2.,4.,2.],[4.,6.,-1.]])
    	data
    Out [1]:array([[-1.06904497, -1.35873244,  0.98058068],
           	       [-0.26726124,  0.33968311,  0.39223227],
                   [ 1.33630621,  1.01904933, -1.37281295]])	

    3. 결함 값
    1. 삭제 2, 삽입: 평균 값, 중위 수 등
    In [1]:from sklearn.preprocessing import Imputer
    	im = Imputer(missing_values='NaN', strategy='mean', axis=0)
    	data = im.fit_transform([2, 1], [np.nan, 3], [7, 6])
    	data
    Out [1]:array([[2. , 1. ],
           	       [4.5, 3. ],
                   [7. , 6. ]])	

    좋은 웹페이지 즐겨찾기