데이터분석 26

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)을 ..

연관규칙을 이용한 상품 추천(Apriori 알고리즘)

연관규칙 분석은 자료에 존재하는 항목(item)들 간의 if-then 형식의 연관규칙을 찾는 방법으로서 비지도 학습법의 일종입니다. 상품의 구매, 서비스 등 일련의 거래 또는 사건들 간의 연관성에 대한 규칙을 발견하기 위해 적용되고, 특히 마케팅에서 고객이 동시에 구매한 장바구니 내의 상품들에 대한 관련성을 분석하는 장바구니 분석에 많이 적용이 됩니다. 연관규칙 적용 예 연관규칙의 적용 예는 다양합니다. 금융 : 금융서비스 내용으로 부터 대출과 같은 특정한 서비스를 받을 가능성이 높은 고객 탐색 병원 : 합병증 발생 예측 보험 : 보험사기 패턴 탐색, 특정 서비스 신청 예측 등 인터넷 쇼핑몰 : 상품 추천 텍스트마이닝 : 웹페이지 간의 링크에 대한 분석 연관규칙의 유형은 유용한 규칙, 자명한 규칙, 설명..

다양한 데이터 스케일링(Data Scaling)

데이터 스케일링이란 데이터 전처리 과정 중의 하나로서, 피처(feature) 즉 속성 들마다 데이터값의 범위의 차이가 클 경우 데이터 스케일링을 해야 됩니다. 즉 데이터 스케일링을 통해 모든 피처들의 데이터 분포나 범위를 동일하게 조정해 줍니다. 사이킷런에서 제공하는 5가지의 스케일러입니다. 종류 설명 StandardScaler 평균 0 과 표준편차1이 되도록 정규화하는 기본적인 스케일러 MinMaxScaler 최대값 1, 최소값 0이 되도록 스케일링 MaxAbsScaler 최대 절대값이 1, 최소값이 0이 되도록 스케일링 RobustScaler 중앙값과 IQR을 사용하여 이상치의 영향을 최소화하여 스케일링 Normalizer 행단위의 정규화하는 스케일링 가장 많이 사용되는 StandardScaler를 ..

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

의사결정규칙을 나무구조와 같이 도표화하여 분류와 예측작업을 수행하는 분석 방법입니다. 여러 가지 규칙을 순차적으로 적용하면서 독립 변수 공간을 분할하는 분류모형입니다. 의사결정나무의 구성요소 뿌리마디(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..

추천시스템에 대한 이해

추천시스템은 고객의 취향과 관심에 부합하는 상품과 콘텐츠를 추천함으로써 고객에게 지속적인 서비스를 받게 하고 상품 및 콘테츠를 추가로 구매하도록 유도합니다. Amazon, 쿠팡, Youtube, Netflix, 쇼핑몰 등에서 널리 사용되고 있습니다. 추천시스템의 알고즘의 종류는 CBF(콘텐츠기반 : Content Based Fillering)과 CF(협업 필터링 : Collaborative Filltering)가 있으며, CBF와 CF를 같이 사용하는 하이브리드 방식이 있습니다. 1 . 협업 필터링 (Collaborative Filtering): 협업 필터링은 사용자와 아이템 간의 상호 작용을 기반으로 추천하는 방식으로, 사용자의 이전 행동과 비슷한 패턴을 가진 다른 사용자나 아이템을 찾아서 추천을 생성..

scikit-learn의 데이터셋 활용

sklearn.dataset에서 제공되는 데이터 셋들이 존재합니다. Scikit-learn 라이브러리는 파이썬의 머신러닝 라이브러리 중 하나인 분류, 회귀분석, 군집화, 의사결정나무 등의 다양한 머신러닝 알고리즘을 적용할 수 있는 다양한 데이터셋이 있습니다. scikit-learn(사이킷런)은 머신러닝 라이브러리 참조 : https://scikit-learn.org/dev/index.html scikit-learn: machine learning in Python — scikit-learn 1.4.dev0 documentation Model selection Comparing, validating and choosing parameters and models. Applications: Improved a..

중심 기반 군집의 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..

728x90