Colab 17

17. K-평균 (K-means) & 실루엣 계수 (silhouette coefficient) 02

import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.datasets import make_blobs, load_iris from sklearn.cluster import KMeans from sklearn.metrics import silhouette_score plt.rc('font', family='NanumBarunGothic') iris = load_iris() # print(iris) X = iris.data y = iris.target # 시각화를 위해 컬럼을 합친다 df = pd.DataFrame(data=X, columns=iris.feature_names) df['target'] = y # ..

Colab/머신러닝 2023.03.10

16. K-평균 (K-means) & 실루엣 계수 (silhouette coefficient) 01

K-평균 (K-means) : 거리기반 특징 군집을 원모양으로 간주 모든 특성은 동일한 Scale을 가져야한다 이상치에 취약하다 Inertia value를 이용한 적정 군집구 판단 inertia 군집내 데이터들과 중심간의 거리의 합으로 군집의 응집도를 나타내는 값이다. 값이 작을 수록 응집도가 높게 군집화가 잘되었다고 평가 kmeandml inertia_ 속성으로 조회 군집단위 별로 inertia 값을 조회한수 급격히 떨어지는 지점이 적정 군집수 라고 판단 평가 실루엣 지표 (Silhouette) 실루엣 계수 (silhouette coefficient) * 개별 관측치가 해당 군집내의 데이터와 얼마나 가깝고 가장 가까운 다른 군집과 얼마나 먼지를 나타내는 지표 * -1 ~ 1사이의 값을 가지며 1에 가까..

Colab/머신러닝 2023.03.10

14. GBoost 02

loss : 경사 하강법에서 사용할 비용함수 MSE learning rate : 학습률 n_estimator : weak_learn 개수 (디폴트 100) subsample : weak_learn 가 학습에 사용하는 데이터와 샘플링의 비율 (디폴트 1) > 과적합이 우려되면 1보다 작은 수 from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.ensemble import GradientBoostingClassifier # 정확도, 혼돈행렬(참, 예측), 리포트 from sklearn.metrics imp..

Colab/머신러닝 2023.03.10

12. 부스팅(Boosting) 01

배깅(Bagging)과 부스팅(Boosting)의 차이점 1. m1에 x에서 샘플링된 데이터를 입력 2. y1에서 예측이 잘못된 x중의 값들에 가중치를 반영해서 model m2에 입력 3. y2에서 예측이 잘못된 x' 중의 값들에 가중치를 반영해서 model m3 에 입력 4. 각 모델의 성늘이 다르기 때문에 가중치를 입력 경사 하강법 : Cost 함수(비용함수, 손실함수)의 최소값을 구함 α 는 학습율(Learning rate), 스텝사이즈 (Step-Size) : (얼마나 촘촘히 학습을 할것인가) 대표적인 하이퍼 파라미터 낮은 학습률 : 손실 Loss 감소가 선형의 형태를 보임 천천히 학습됨 높은 학습률 : 손실 감소가 지수적인 형태 구간에 따라 빠른 학습 또는 정체가 보임 매우 높은 학습률 : 경우..

Colab/머신러닝 2023.03.09

10. 랜덤 포레스트 (random forest) 02

import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, metrics from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestClassifier # 정확도, 혼돈행렬, 리포트 from sklearn.metrics import accuracy_score, confusion_matrix, classification_report # 표준화 lib from sklearn.preprocessing import StandardScaler wine = datasets.load_win..

Colab/머신러닝 2023.03.09

09. 랜덤 포레스트 (random forest) 01

여러 개의 의사결정트리를 생성 > 투표를 시켜 다수결로 결정 복원 추출 방식 더보기 로또를 뽑는 다고 가정할 시 10번을 뽑고 다시 10번 구슬을 넣을 경우 > 중복된 숫자가 발생할 수 있음 비 복원추출방식 더보기 로또를 뽑는 다고 가정할 시 10번을 뽑고 다시 10번 구슬을 제외할 경우 Decision Tree 여러개로 숲(forest)을 만든다 Bagging, Boosting > Ensemble Bootstrapping - Training data 에서 동일 한 dataset을 중복 허용하여 랜덤하게 추출하는 것 outliner 영향을 받지 않음 선형 비선형 관계 없음 Decision tree 과적함 overfitting 보완 Boosting model 이해하기 위한 알고리즘 import pandas..

Colab/머신러닝 2023.03.09

08. 결정 트리 (Decision Tree) 02

import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split, GridSearchCV from sklearn.tree import DecisionTreeClassifier from sklearn import tree from sklearn import datasets from sklearn.preprocessing import StandardScaler iris = datasets.load_iris() iris.feature_names # covariance:2개의 확률변수의 선형관계를 나타냄 # 선형성이 있으면 선형관계 알고리즘을 적용할수 있다..

Colab/머신러닝 2023.03.08