데이터분석/데이터 분류 및 군집화 10

Pipeline(파이프 라인)의 개념과 활용하기

1. 파이프라인 개념 Pipeline은 데이터 전처리에서 학습까지의 여러 과정을 하나로 연결하는 것입니다. 데이터 전 처리 및 분류의 모든 단계를 포함하는 단일 개체를 만들 수 있습니다. 파이프라인을 사용할 때와 사용하지 않았을 때를 코딩해서 비교해서 확인하고자 합니다. 필요한 모듈을 import 하고, iris 데이터 셑을 불러옵니다. from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.svm import SVC from sklearn.metrics import accuracy_score, class..

서포트 벡터 머신(SVM)을 활용한 분류모형

Support Vector Machine(SVM)은 머신러닝 분야에서 가장 인기가 높은 데이터 분류 방법으로 알려져 있다. SVM은 두 데이터 그룹을 나누는 평면 중에서 폭이 가장 넗은 것을 찾는 방법으로 분리평면을 "결정 경계"라고 합니다. 결정경계와 서포트 벡터 사이의 거리를 magrin이라고 하고, Hard margin과 Soft Margin이 있습니다. 하드 마진(Hard margin) : 어떠한 데이터도 마진내에 들어오지 않는데, 엄격하게 지켜져야 하는 마진을 하드마진이라 부름 소프트(Soft margin) : 분리 평면을 찾을 수 있도록 일부 데이터가 마진 내에 들어오도록 허용하는 것 임 아래의 그림은 데이터A와 데이터B는 소프트 마진에 관한 그림입니다. 마진은 점이 닿기 전까지의 선형 분류기..

Random Forest와 XGBoost(eXtreme Gradient Boosting)

Random Forest는 의사결정나무 기반한 ensemble(앙상블) 머신러닝 모델입니다. 앙상블은 여러 Base모델들의 예측을 다수결 법칙또는 평균을 이용해 통합하여 예측 정확성을 향상시키는 방법입니다. 랜던포레스트 배경(양상블) 의사결정나무를 Base모델로 사용하고 있고 다수의 의사결정나무모델을 위한 예측을 종합하는 앙상블 방법이고 하나의 의사결정모델보다 예측 정확도가 높습니다. 1, Btoostrap기법을 이용하여 다수의 training 데이터를 생성 2. traing data로 무작위 변수를 사용하여 Decision tree모델을 구축 3. 예측을 종합 함

앙상블(Ensemble)의 기본개념 및 Bagging 예제

머신 러닝에서 앙상블이란 단어 그대로 여러 단순한 모델을 결합하여 정확한 모델을 만드는 방법입니다. 분류를 할 때 여러 개의 분류기(Classifier)를 생성하고 여러 모델을 결합하여 최종 예측을 도출하는 기법입니다. 앙상블 학습의 유형은 전통적으로 보팅(Voting), 배깅(Bagging) 그리고 부스팅(Boosting) 이 있습니다. Voting : 하나의 데이터 셑을 이용하여 서로 다른 알고리즘으로 Classifier를 결합하는 방식 Bagging : 샘플을 여러 번 뽑아(Bootstrap) 같은 유형의 알고리즘으로 모델을 학습시켜 결과물 집계 (Aggregration).하는 방식 Boosting : 오분류된 데이터에 초점을 맞추어 가중치를 활용하여 약 분류기(weak classififier)을 ..

의사결정나무를 이용한 분류모형

의사결정규칙을 나무구조와 같이 도표화하여 분류와 예측작업을 수행하는 분석 방법입니다. 여러 가지 규칙을 순차적으로 적용하면서 독립 변수 공간을 분할하는 분류모형입니다. 의사결정나무의 구성요소 뿌리마디(root node) : 시작되는 마디로 전체 자료를 포함 자식마디(child node) : 하나의 마디로부터 분리되어 나가 2개 이상의 마디들 부모마디(parent node) : 주어진 마디의 상위 마디 끝마디(terminal node) : 자식마디가 없는 마디 중간마디(internal node) : 부모마디와 자식마디가 모두 있는 마디 가지(branch) : 뿌리마디로부터 끝 마디까지 연결된 마디 들 깊이(depth) : 가지를 이루고 있는 마디의 갯수 의사결정나무의 원리 "예"와 "아니요"로 답변하는 스..

분류모형의 성능평가

분류모형의 성능을 평가하기 위해서는 다양한 명령이 필요하다. 사이킷런 패키지에서 지원하는 분류 성능평가 명령은 다음과 같다. 구분사이키런 명령분류표confusion_matrix(y_true, y_pred)정확도(Accuracy)accuracy_score(y_true, y_pred)정밀도(Precision)precision_score(y_true, y_pred)재현율(Recall)recall_score(y_true, y_pred)위양성률fbeta_score(y_true, y_pred, beta)f1점수f1_score(y_true, y_pred) classification_report( 정밀도, 재현율, F1점수) classfication_report(y_true, y_pred)roc커브roc_curveAU..

중심 기반 군집의 K-Means 군집화 알고리즘

중심 기반 군집에 해당하는 KMeans 클러스터링 알고리즘은 n개의 중심점을 찍은 후에, 이 중심점에서 각 점간의 거리의 합이 가장 최소화가 되는 중심점 n의 위치를 찾고, 이 중심점에서 가까운 점들을 중심점을 기준으로 묶는 군집화 알고리즘 입니다. 중심 기반 군집에는 K-Means, K-Median, K-medoid 등이 있습니다. K-Means 군집화 알고리즘은 중심 기반 군집 종류 입니다. 1. K-Means의 장점 계층적으로 군집을 형성시키지 않고 개체들을 몇 개의 군집으로 구분 초기에 부적절한 병합(분리)이 일어났을 때 회복 가능 군집의 수를 사전에 정의 개체의 수가 많을 때 유용 계층적 군집법에 비하여 계산량이 적음 대용량 데이터를 빠르게 처리할 수 있음 2. K-Means의 절차 1.군집의 ..

데이터 계층적 군집화(Hierarchical Clustering)

비지도학습방법으로 유사한 데이터를 N개의 소그룹으로 묶어내는 것을 군집화(clustering)라 합니다. 예를 들어, 신용카드회사에서 고객 소비 데이터를 이용하여 유사한 소비 경향을 군집화하고, 유사 군집(cluster)에 대한 마케팅 활동을 할 수 있습니다. 군집화(Clustering)는 유사한 데이터들의 그룹으로 나누는 것 군집화 종류 종류 설명 알고리즘 에시 계층적 군집 (Hierarchical Clustering) 각 군집이 계층을 통해 구분되는 방법 (응집형, 분리형) Dendrogram 중심 기반 군집 (Centroid Based Clustering) 군집(클러스터)의 중심점(centroid)를 정한 뒤 클러스터의 중심점에 가까운 개체들을 하나의 군집으로 모아가면서 확장하는 방법 K-Means..

K-Nearest Neighbors 알고리즘 이해과 붓꽃(IRIS) 데이터 활용

K-Nearest Neighbors 알고리즘에 대해 이해하고 붓꽃(IRIS) 데이터 활용하여 실습하고자 한다 K-nearest neighbors(K-최근접 이웃) 즉 KNN classification 머신러닝 기법은 분류(Classification) 알고리즘이다. 주변의 가장 가까운 K개의 데이터를 보고 데이터가 속할 그룹을 판단하는 알고리즘이 K-NN 알고리즘으로 가까운 거리를 측정할 땐 유클리드 거리(Euclidean distance)를 사용함. K-Nearest Neighbors 알고리즘을 이용하여 붓꽃 종을 분류하기 1. KNN 알고리즘 이해하기 K-nearest neighbors(K-최근접 이웃) 알고리즘은 주변의 가장 가까운 K개의 데이터를 보고 데이터가 속할 그룹을 판단하는 알고리즘임. K-..

데이터 분류(Classification)과 군집화(Clustering)의 차이점

군집화와 분류의 차이점 이해하기 분류 : 지도학습의 종류, 군집 : 비지도 학습 1. 분류(Classification)과 군집(Clustering) 차이점 분류 : 각개체의 소속집단의 정보를 알고 있을 경우새로운 데이터의 그룹을 예측하기 위한 것(지도학습) 군집 : 각개체의 소속집단의 정보를 모를 경우, 데이터의 특성을 알고 싶은 경우(비지도 학습) 2. 학습방법과 예시 분류 : 분류 작업은 레이블(소속집단의 정보)된 학습 데이터를 사용하여 모델을 훈련하고, 이 모델을 사용하여 새로운 데이터를 예측하거나 분류합니다. 주요 분류 알고리즘에는 아래와 같고, 사례는 이메일 스팸 필터링, 손글씨 숫자 인식, 암 종양 여부 판단 등과 같은 것이 분류에 해당합니다. 로지스틱 회귀 의사결정 트리 랜덤 포레스트 최근접..

728x90