본문 바로가기

인공지능/데이터 분석9

[파이썬 머신러닝 완벽가이드] 평가 (정확도, 오차 행렬, 정밀도, 재현율) 정확도 클래스의 값을 평가하는 여러가지 유형 중 대표적인 방식에는 정확도가 있다. 정확도 = 예측 결과가 동일한 데이터 건수/ 전체 예측 데이터 건수 이를 바탕으로 타이타닉 생존자 데이터에 남자면 사망, 여자면 생존하는 분류 모델을 작성해보고 이 결과를 정확도를 측정해보자 import sklearn from sklearn.base import BaseEstimator import numpy as np 분류 모델 작성 #성별이 남자(1) 이면 사망, 여자(0) 이면 생존하는 분류 모델 class MyDummyClassifier(BaseEstimator): def fit(self, X, y=None): pass def predict(self, X): pred = np.zeros((X.shape[0], 1)).. 2021. 8. 16.
[사이킷런] 데이터 전처리 2. 피처스케일링 표준화 (StandardScaler) 사이킷런에서는 표준화를 StandardScaler 함수를 통해 지원한다.이를 통해 개별 피처들을 평균이 0, 분산이 1인 값으로 변환해준다. 먼저 DataFrame 을 통해 데이터셋을 생성해준다. from sklearn.datasets import load_iris import pandas as pd iris = load_iris() iris_data = iris.data iris_df = pd.DataFrame(data=iris_data, columns = iris.feature_names) StandardScaler 을 이용하여 데이터 세트를 변환해 준다. from sklearn.preprocessing import StandardScaler scaler = St.. 2021. 8. 16.
[사이킷런] 데이터 전처리 1. 데이터 인코딩 문자열은 입력 값으로 허용되지 않기 때문에 문자열을 숫자 형으로 변환하는 과정을 거쳐야 한다. 레이블 인코딩 (Label encoding) 사이킷런에서는 레이블 인코딩을 LabelEncoder라는 클래스를 이용하여 구현한다. fit(), transform 을 통해 아이템을 숫자로 인코딩한다. 예시 from sklearn.preprocessing import LabelEncoder items=['TV','냉장고','전자레인지','컴퓨터'] encoder = LabelEncoder() encoder.fit(items) labels = encoder.transform(items) print('인코딩 변환값:',labels) print('인코딩 클래스:', encoder.classes_) print('디코딩:'.. 2021. 8. 16.
[사이킷런] GridSearchCV : 교차 검증 + 하이퍼 파라미터 튜닝 GridSearchCV GridSearchCV 를 통해 우리는 교차 검증과 하이퍼 파라미터 튜닝을 동시에 수행할 수 있습니다. 하이퍼 파라미터는 머신러닝 알고리즘 중 중요하다고 생각되는 구성 요소이며 이 값을 조정하는 튜닝 과정을 통해 알고리즘의 예측 성능을 개선할 수 있다. 교차 검증 기반으로 지정된 파라미터들을 순차적으로 적용해보며 최적의 파라미터 값을 찾아준다. 이 때문에 최적의 파라미터를 알 수 있으나 시간이 오래 걸린다. 주요 파라미터 - estimator(string) : classifier, regressor, pipeline - param_grid(dict) : 사용될 파라미터명, 값 을 dict 형태로 - scoring(string) : 예측 성능을 측정할 평가 방법 지정 - cv(int.. 2021. 8. 16.