기계 학습 노트 01 - 데이터 예비 처리
8544 단어 기계 학습
목차
필요 한 라 이브 러 리 가 져 오기 - > 데이터 세트 가 져 오기 - > 데이터 손실 처리 - > 분류 데이터 분석 - > 데이터 세트 분할 - > 특징 크기 조정
2. 코드 인 스 턴 스
2.1 데이터 파일
여 기 는 Data. csv 파일 의 모든 내용 입 니 다.
Country,Age,Salary,Purchased
France,44,72000,No
Spain,27,48000,Yes
Germany,30,54000,No
Spain,38,61000,No
Germany,40,,Yes
France,35,58000,Yes
Spain,,52000,No
France,48,79000,Yes
Germany,50,83000,No
France,37,67000,Yes
2.2 전체 코드
#
import numpy as np
import pandas as pd
from sklearn.impute import SimpleImputer
from sklearn import preprocessing
from sklearn.preprocessing import OneHotEncoder,StandardScaler
from sklearn.model_selection import train_test_split
#
def getData():
dataset = pd.read_csv('Data.csv')
X = dataset.iloc[:,:-1].values# ,( purchased)
Y = dataset.iloc[:,3].values#
return X,Y
#
def proMissingData(X):
imp_mean = SimpleImputer(missing_values=np.nan, strategy='mean')
imp_mean = imp_mean.fit(X[:,1:3])
X[:,1:3] = imp_mean.transform(X[:,1:3])
#
def parseData(X,Y):
le_x = preprocessing.LabelEncoder()
# X , 3 ,
X[:,0] = le_x.fit_transform(X[:,0])
oe = OneHotEncoder(categorical_features=[0])
X = oe.fit_transform(X).toarray()
# Y (NO:0;Yes:1)
le_y = preprocessing.LabelEncoder()
Y = le_y.fit_transform(Y)
return X,Y
#
def divide(X,Y):
X_train,X_test,Y_train,Y_test = train_test_split(X,Y,test_size = 0.2,random_state = 0)
return X_train,X_test,Y_train,Y_test
#
def standardScale(X_train, X_test):
sc_X = StandardScaler()
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.transform(X_test)
return X_train,X_test
if __name__ == '__main__':
X,Y = getData()
print("1. :")
print("X")
print(X)
print("Y")
print(Y)
print("=============================================================================")
proMissingData(X)
print("2. :")
print("X")
print(X)
print("Y")
print(Y)
print("=============================================================================")
X,Y = parseData(X, Y)
print("3. :")
print("X")
print(X)
print("Y")
print(Y)
print("=============================================================================")
X_train, X_test, Y_train, Y_test = divide(X,Y)
print("4. :")
print("X_train=================================")
print(X_train)
print("X_test=================================")
print(X_test)
print("Y_train=================================")
print(Y_train)
print("Y_test=================================")
print(Y_test)
print("=============================================================================")
X_train,X_test = standardScale(X_train, X_test)
print("5. :")
print("X_train=====================================")
print(X_train)
print("X_test=====================================")
print(X_test)
2.3 결과 전시
출력 결 과 는 다음 그림 과 같 습 니 다.
1. :
X
[['France' 44.0 72000.0]
['Spain' 27.0 48000.0]
['Germany' 30.0 54000.0]
['Spain' 38.0 61000.0]
['Germany' 40.0 nan]
['France' 35.0 58000.0]
['Spain' nan 52000.0]
['France' 48.0 79000.0]
['Germany' 50.0 83000.0]
['France' 37.0 67000.0]]
Y
['No' 'Yes' 'No' 'No' 'Yes' 'Yes' 'No' 'Yes' 'No' 'Yes']
=============================================================================
2. :
X
[['France' 44.0 72000.0]
['Spain' 27.0 48000.0]
['Germany' 30.0 54000.0]
['Spain' 38.0 61000.0]
['Germany' 40.0 63777.77777777778]
['France' 35.0 58000.0]
['Spain' 38.77777777777778 52000.0]
['France' 48.0 79000.0]
['Germany' 50.0 83000.0]
['France' 37.0 67000.0]]
Y
['No' 'Yes' 'No' 'No' 'Yes' 'Yes' 'No' 'Yes' 'No' 'Yes']
=============================================================================
3. :
X
[[1.00000000e+00 0.00000000e+00 0.00000000e+00 4.40000000e+01
7.20000000e+04]
[0.00000000e+00 0.00000000e+00 1.00000000e+00 2.70000000e+01
4.80000000e+04]
[0.00000000e+00 1.00000000e+00 0.00000000e+00 3.00000000e+01
5.40000000e+04]
[0.00000000e+00 0.00000000e+00 1.00000000e+00 3.80000000e+01
6.10000000e+04]
[0.00000000e+00 1.00000000e+00 0.00000000e+00 4.00000000e+01
6.37777778e+04]
[1.00000000e+00 0.00000000e+00 0.00000000e+00 3.50000000e+01
5.80000000e+04]
[0.00000000e+00 0.00000000e+00 1.00000000e+00 3.87777778e+01
5.20000000e+04]
[1.00000000e+00 0.00000000e+00 0.00000000e+00 4.80000000e+01
7.90000000e+04]
[0.00000000e+00 1.00000000e+00 0.00000000e+00 5.00000000e+01
8.30000000e+04]
[1.00000000e+00 0.00000000e+00 0.00000000e+00 3.70000000e+01
6.70000000e+04]]
Y
[0 1 0 0 1 1 0 1 0 1]
=============================================================================
4. :
X_train=================================
[[0.00000000e+00 1.00000000e+00 0.00000000e+00 4.00000000e+01
6.37777778e+04]
[1.00000000e+00 0.00000000e+00 0.00000000e+00 3.70000000e+01
6.70000000e+04]
[0.00000000e+00 0.00000000e+00 1.00000000e+00 2.70000000e+01
4.80000000e+04]
[0.00000000e+00 0.00000000e+00 1.00000000e+00 3.87777778e+01
5.20000000e+04]
[1.00000000e+00 0.00000000e+00 0.00000000e+00 4.80000000e+01
7.90000000e+04]
[0.00000000e+00 0.00000000e+00 1.00000000e+00 3.80000000e+01
6.10000000e+04]
[1.00000000e+00 0.00000000e+00 0.00000000e+00 4.40000000e+01
7.20000000e+04]
[1.00000000e+00 0.00000000e+00 0.00000000e+00 3.50000000e+01
5.80000000e+04]]
X_test=================================
[[0.0e+00 1.0e+00 0.0e+00 3.0e+01 5.4e+04]
[0.0e+00 1.0e+00 0.0e+00 5.0e+01 8.3e+04]]
Y_train=================================
[1 1 1 0 1 0 0 1]
Y_test=================================
[0 0]
=============================================================================
5. :
X_train=====================================
[[-1. 2.64575131 -0.77459667 0.26306757 0.12381479]
[ 1. -0.37796447 -0.77459667 -0.25350148 0.46175632]
[-1. -0.37796447 1.29099445 -1.97539832 -1.53093341]
[-1. -0.37796447 1.29099445 0.05261351 -1.11141978]
[ 1. -0.37796447 -0.77459667 1.64058505 1.7202972 ]
[-1. -0.37796447 1.29099445 -0.0813118 -0.16751412]
[ 1. -0.37796447 -0.77459667 0.95182631 0.98614835]
[ 1. -0.37796447 -0.77459667 -0.59788085 -0.48214934]]
X_test=====================================
[[-1. 2.64575131 -0.77459667 -1.45882927 -0.90166297]
[-1. 2.64575131 -0.77459667 1.98496442 2.13981082]]
3. 관련 주석
관련 지식 포인트 설명:
"""
, 。 , 。
one-hot-encode 。
:
pandas.get_dummies(): , , ;
sklearn.preprocessing.OneHotEncoder(): , 。
categorical_features
bool
OneHotEncoder(categorical_features = [0,2]) [True, False, True]
0、2
ps: , 0、2 , “1”
"""
"""
Q1: ?
, 。 , 。
one-hot-encode 。
X , 3 ,
Y (NO:0;Yes:1)
Q2:train_test_split ?
:
train_data:
train_target:
test_size: ,
random_state:
cross_validatio
"""
4. 전문 총화
문장 은 비교적 간단 해서 주로 자신의 학습 과정 을 기록 하 는 데 쓰 인 다.코드 가 실 행 될 때 경고 가 있 을 수 있 지만 코드 의 운행 에 영향 을 주지 않 습 니 다.
참고 자료: 위 챗 공식 번호: 기계 학습 알고리즘 과 python 실천
이전 글 추천: 신경 망 - python 으로 이 또는 연산 을 실현 하여 신경 망 과 깊이 있 는 학습 노트 (1) 갓 입문 한 소 백 에 적합 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
형태소 분석은 데스크톱을 구성하는 데 도움이?문자×기계 학습에 흥미를 가져와 개인 범위의 용도를 생각해, 폴더 정리에 사용할 수 있을까 생각해 검토를 시작했습니다. 이번 검토에서는 폴더 구성 & text의 읽기 → mecab × wordcloud를 실시하고 있...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.