인공지능 공부/머신러닝
2021-06-03 머신러닝 완벽 가이드 preprocessing, get_dummies, StandardScaler, MinMaxScaler
#레이블 인코딩 from sklearn.preprocessing import LabelEncoder items = ['TV', '냉장고', '전자레인지', '컴퓨터', '선풍기', '선풍기', '믹서', '믹서'] #fit과 transform()으로 레이블 인코딩 수행 encoder = LabelEncoder() encoder.fit(items) labels = encoder.transform(items) print('인코딩 변환값', labels) #그러나 레이블인코딩은 ML알고리즘에서 가중치가 더 부여되거나 숫자에따라 더 중요하게 인식할 가능성이 큼 인코딩 변환값 [0 1 4 5 3 3 2 2] #그래서 우리는 One-hot-Encoding을 사용하면 해결 가능하다. from sklearn.prepr..
2021-06-03 머신러닝 완벽가이드 정리 및 복습
from sklearn.tree import DecisionTreeClassifier from sklearn.datasets import load_iris from sklearn.metrics import accuracy_score from sklearn.model_selection import KFold import numpy as np iris = load_iris() features = iris.data label = iris.target dt_clf = DecisionTreeClassifier(random_state=156) kfold = KFold(n_splits=5) cv_accuracy = [] ##5개의 폴드를 저장할 리스트 생성 print('붓꽃 데이터 세트 크기 :',features.s..
2021-04-26 머신러닝 완벽가이드 타이타닉 생존자 예측
import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns %matplotlib inline titanic_df = pd.read_csv('./titanic_train.csv') titanic_df.head(3) PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked 0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS 1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C 2313Heik..
2021-04-26 머신러닝 완벽가이드 MinMacScaler, StandardScaler
# 피처 스케이리링과 정규화 # 표준화 :표준화는 피처 각각이 평균이 0이고 분산이 1인 가우시안 정규분포를 가진 값으로 변환하는 것을 의미합니다. # 정규화 :서로다른 피처 크기를 통일하기 위해 크기를 변환해주는 개념 최소를 0 최대는 1 # 그러나 사이킷런에서 전처리에 제공하는 Normalizer모듈과 일반적인 정규화는 약간의 차이가 있다. # 사이킷런의 Nomalizer모듈은 선형대수에서의 정규화 개념이 적용 # 혼선을 방지하기 위해 일반적인 의미의 표준화와 정규화를 피처스케일링으로 통칭 # 선형대수 개념의 정규화를 백터정규화로 지칭 # 먼저 사이킷런에서 제공하는 대표적인 피처스케일링 클래스인 StandardScaler와 MinMaxScaler를 알아보겠습니다. StandardScaler 사이킷런에..
2021-04-26 머신러닝 완벽가이드 LabelEncoder, One-hot인코딩
from sklearn.preprocessing import LabelEncoder items = ['TV','냉장고', '전자레인지', '컴퓨터', '선풍기', '선풍기','믹서','믹서'] #LabelEncoder를 객체로 생성한 후, fit()과 transform()으로 레이블 인코딩 수행 encoder = LabelEncoder() encoder.fit(items) labels = encoder.transform(items) print('인코딩 변환값:',labels) 인코딩 변환값: [0 1 4 5 3 3 2 2] print('인코딩 클래스:', encoder.classes_) 인코딩 클래스: ['TV' '냉장고' '믹서' '선풍기' '전자레인지' '컴퓨터'] print('디코딩 원본값:', e..
2021-04-26 머신러닝 완벽가이드 GridSearchCV
from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import GridSearchCV #데이터를 로딩하고 학습 데이터와 테스트데이터 분리하자 iris_data = load_iris() X_train, X_test, y_train, y_test = train_test_split(iris_data.data, iris_data.target, test_size=0.2, random_state=121) dtree = DecisionTreeClassifier() ##파라미터를 딕셔너리 형태로 설정한다. parameters = {'max_depth':[1,2,3..
2021-04-22 머신러닝 완벽가이드 교차 검증
내장된 예제 데이터 세트 from sklearn.datasets import load_iris iris_data = load_iris() print(type(iris_data)) keys = iris_data.keys() print('붓꽃 데이터 세트의 키들:' ,keys) 붓꽃 데이터 세트의 키들: dict_keys(['data', 'target', 'frame', 'target_names', 'DESCR', 'feature_names', 'filename']) print('\n feature_names 의 type:',type(iris_data.feature_names)) print(' feature_names 의 shape:',len(iris_data.feature_names)) print(iris..
2021-04-22 머신러닝 완벽가이드 iris 예측하기
from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import train_test_split import pandas as pd #붓꽃 데이터 세트를 로딩하자 iris = load_iris() #iris.data는 데이터 세트에서 피처(feature)만으로 된 데이터 numpy로 가지고 있다. iris_data = iris.data #iris.target은 붓꽃 데이터 세트에서 레이블 데이터를 numpy로 가지고 있습니다. iris_label = iris.target print('iris target 값 ', iris_label) print('iris target 명' , iris.target_names) iris t..