기계 학습 - 데이터 전처리

기계 학습 알고리즘을 배우는, 확실히 따라서 학습 데이터 전처리의 처음부터 데이터를 처리한다 포함

아마 다음 단계를 전처리 데이터의 경우 :

단계 1 - 원하는 라이브러리를 도입

필요한 파이썬 라이브러리를 처리하는 데이터 가져 오기는 다음 두 라이브러리는 매우 중요한 두 라이브러리이며, 각각 소개합니다

  • NumPy와

라이브러리 함수 수학 함수 라이브러리를 포함

  • 판다

이 라이브러리는 데이터 세트를 가져 오기 및 관리하는 데 사용됩니다

2 단계 - 가져 오기 데이터 세트

데이터는 일반적으로 설정 .CSV 저장 형식, 데이터 저장의 일반 텍스트 목록의 형태로 CSV 파일을, 각 행의 파일 데이터는 기록이다.

csv 파일의 경우, 모듈 팬더 사용 read_cvs 독서의 방법을.

3 단계 - 데이터 처리 누락

실제 획득 한 데이터는 거의 같은 여러 가지 이유로 인해 데이터가 손실 될 수, 형태, 따라서 해결 될 필요가 없기 때문에 지금과 같은 기계 학습 모델의 성능을 저하하지.

우리는 평균 또는 평균 전체 열 데이터 작업을 완료하는 데에 sklearn.preprocessing 파이썬 사용 imputer 클래스를 사용하여 누락 된 데이터를 대체 할 수 있습니다.

4 단계 - 코딩 분류 데이터

분류 데이터 타입은 일반적으로, 예를 들면, 무료 태그 값을 포함 아니라보다 값 "예"또는 "아니오", 예컨대 0 또는 1있다.

태그 값은 기계 학습 모델의 수학 방정식에서 사용되지 않기 때문에, 따라서 필요는 수치 태그 값을 변환합니다.

파이썬은이 작업을 수행 할 수있는 라이브러리를 sklearn.preprocessing LabelEncoder 클래스를 사용했다.

5 단계 - 데이터는 교육 및 테스트 세트로 나누어 져 있습니다

기계 학습, 두 부분, 훈련 기계 학습 모델로 데이터 세트를 호출 할 필요가 트레이닝 세트 훈련 시험 모델 성능이라, 테스트 세트 . 보통 훈련 및 테스트 세트에 필요한 데이터 세트에 20 분의 80의 비율이다.

파이썬 사용 train_test_split () 메소드 sklearn.crossvalidation 라이브러리 나누었다.

6 단계 - 기능 확장

데이터 산출 공정에서 두 점 사이의 유클리드 거리를 이용하여 상기 기계 학습 알고리즘의 대부분. 특성 값의 데이터 세트의 변동 범위가 비교적 큰 경우, 큰 값이 계산 된 거리의 값이 서로 다른 가중치를 초래할 것보다 작다. 따라서 표준화 된 또는 항에있어서, Z 점수 정상화의 필요성.

파이썬은 도서관 StandardScalar을 sklearn.preprocessing 사용할 수 있습니다

코드 구현

# -*- coding: utf-8 -*-
"""
Author: wxer
"""
# step 1 - import the libraries
import numpy as np
import pandas as pd
from sklearn.preprocessing import Imputer
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
from sklearn.cross_validation import train_test_split
from sklearn.preprocessing import StandardScaler


# step 2 - import dataset
dataset = pd.read_csv('Data.csv')
X = dataset.iloc[:, :-1].values
Y = dataset.iloc[: 大专栏  机器学习 —— 数据预处理, 3].values


# step 3 - handing the missing data
imputer = Imputer(missing_values='NaN', strategy='mean', axis=0)
imputer = imputer.fit(X[:, 1: 3])
X[:, 1: 3] = imputer.transform(X[:, 1: 3])


# step 4 - encoding  categorical data
labelencoder_X = LabelEncoder()
X[:, 0] = labelencoder_X.fit_transform(X[:, 0])

onehotencoder = OneHotEncoder(categorical_features=[0])
X = onehotencoder.fit_transform(X).toarray()
labelencoder_Y = LabelEncoder()
Y = labelencoder_Y.fit_transform(Y)


# step 5 - splitting the datasets into training sets and test sets
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state=0)

# step 6 - feature scaling

sc_X = StandardScaler()
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.fit_transform(X_test)

참고

  1. 데이터 전처리

  2. 세 가지 일반적인 데이터 정규화 방법

추천

출처www.cnblogs.com/lijianming180/p/12099860.html