본문 바로가기
반응형

개발 Tools92

머신러닝 MinMaxScaler(정규화) 이번엔 전처리의 한 방법인 MinMaxScaler 정규화를 알아보겠다. 표준화 = StandardScaler 정규화 = MinMaxScaler 정규화란, 모든 값을 0~1 사이의 값으로 바꾸는 것이다. 음수도 예외 없이 다 바꾼다. 표준화와는 차이가 있다. 수학식을 보자면, ( X- (X의 최솟값) ) / ( X의 최댓값 - X의 최솟값 )이다. 예시로 들어보자면, 최댓값 10, 최솟값 2 일 때, 4는 어떻게 정규화될까? (4 - 2) / (10 - 2 ) = 0.25로 정규화될 수 있다. 라이브러리 from sklearn.preprocessing import StandardScaler, MinMaxScaler from sklearn.datasets import load_iris import panda.. 2021. 7. 15.
머신러닝 StandardScaler(표준화) 우린 전처리 과정에서 다른 단위를 가진 애들을 분석해야 할 때가 있다. 한 놈은 kg, 한놈은 cm 이라면 어떻게 해야 할까?? 2가지 방법이 있다. 하나는 표준화와 하나는 정규화이다. 표준화 = StandardScaler 정규화 = MinMaxScaler 이번에는 표준화를 볼 것이고 다음에는 정규화를 볼 것이다. StandardScaler 개념 간단하다. 모든 애들을 평균이 0이고 분산이 1인 정규 분포로 만드는 것이다. 수학식부터 살펴보면 굉장히 간단하다. (Xi - (X의 평균)) / (X의 표준편차) 아이패드가 없어서 이렇게...글로 적어본다. 젠장 예시로 설명을 하자면, 만약 평균이 50이인데 임의 숫자는 49라 하자, 그러면 어떻게 되는 것일까? 정답은 (49-50) / 1 = -1이다. 여기.. 2021. 7. 15.
머신러닝 GridSearch(그리드 서치) (cv_results_, best_params_ , best_score_, estimator, param_grid, scoring, cv, refit) 그리드 서치는 최적의 파라미터를 찾아준다. 여러 모델에는 각각의 파라미터가 있는데 어떤 조합일 때 제일 좋은 점수가 나오는지 비교해주는 것이다. 이번엔, 2개 파라미터의 조합을 볼 것이고, 결정 트리로 사용할 것이다. 라이브러리 from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import GridSearchCV, train_test_split import pandas as pd 훈련데이터 검증 데이터 분류 iris = load_iris() data = iris.data target = iris.target X_train, X_test, y_trai.. 2021. 7. 15.
머신러닝 cross_val_score (estimator, scoring) 데이터를 분류하는 방법 중에 하나인 KFold와 Stratified_KFold가 있다. 이 두 방법의 API가 바로 cross_val_score 이다. 바로 코드를 보겠다. from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import cross_val_score, cross_validate iris_data = load_iris() df_clf = DecisionTreeClassifier(random_state=999) data = iris_data.data target = iris_data.target scores = cross_val_score.. 2021. 7. 13.
머신러닝 Stratified KFold Stratified KFold는 기존의 KFold의 단점을 보완하기 위해 나왔다. 만약에 암을 예측하는 프로그램을 만든다고 가정하자. 100명의 사람이 있는데 이중엔 암인 사람인 많아봐야 1-2 명 있을 것이다. 기존의 KFold 로 나눈다면, 1-2명뿐이라 예측하기도 어렵고, 찾아내기도 어렵다. 이런 단점을 보완하고 너무 적거나 너무 많을 때 골고루 분류해주는 작업이다. 라이브러리 from sklearn.datasets import load_iris import pandas as pd from sklearn.model_selection import StratifiedKFold 분배 이번에도 붓꽃데이터를 가지고 와서 분류해보겠다. iris.target에는 0,1,2 이렇게 3가지 종류가 있다. 바로 불러.. 2021. 7. 13.