기계 학습 알고리즘을 배우는, 확실히 따라서 학습 데이터 전처리의 처음부터 데이터를 처리한다 포함
아마 다음 단계를 전처리 데이터의 경우 :
단계 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)