본문 바로가기
728x90

Data Analytics with python/[Theory]14

[Machine Learning] Oversampling & Undersampling Class 속성이 매우 불균형한 분포를 가지고 있는 경우 사용합니다. 이상 레이블을 가지는 데이터 건수가 정상 레이블을 가진 데이터 건수에 비해 너무 적기 때문에 데이터 세트를 학습 시킬 때 예측 성능의 문제가 발생할 수 있습니다. 정상 레이블을 가지는 데이터 건수가 매우 많기 때문에 일방적으로 정상 레이블로 치우친 학습으로 이상 데이터 검출이 어려워지는 문제가 있습니다. Oversampling(오버 샘플링)과 Undersampling(언더 샘플링) 방법은 지도 학습에서 극도로 불균형한 레이블 값 분포로 인한 문제점을 해결합니다. Undersampling : 많은 레이블을 가진 데이터 세트를 적은 레이블을 가진 데이터 세트 수준으로 감소시키는 방식 Oversampling : 적은 레이블을 가진 데이터 세.. 2023. 2. 18.
[Machine Learning][Classification] Classifier Algorithms ▶ 랜덤 포레스트 Bagging (Bootstrap aggregating): 같은 알고리즘으로 여러 개의 분류기를 만들어서 보팅으로 최종 결정하는 알고리즘 데이터 세트가 전체 데이터에서 일부가 중첩되게 샘플링 됩니다. 이를 부트스트래핑이라 합니다. bootstrapping : 여러 개의 데이터 세트를 중첩되게 분리하는 것 배깅의 대표적인 알고리즘입니다. 여러 개의 결정 트리 분류기가 전체 데이터에서 배깅 방식으로 각자의 데이터를 샘플링해 개별적으로 학습을 수행한 후 최종적으로 모든 분류기가 보팅을 하여 최종 예측 결정을 합니다. from sklearn.ensemble import RandomForestClassifier as RFC rf_clf = RFC(random_state= 0) rf_clf.fit.. 2023. 2. 16.
[Machine Learning][Classification] Ensemble Learning 앙상블 학습 여러 개의 분류기(Classifier)를 생성하고 그 예측을 결합함으로써 보다 정확한 최종 예측을 도출하는 기법입니다. 앙상블 학습의 유형 대표적으로 ① 보팅(Voting), ② 배깅(Bagging), ③ 부스팅(Boosting) 이 있고 이외에도 스태깅 등 다양한 앙상블 방법이 있습니다. 보팅 VS 배깅 VS 부스팅 ● 보팅 : 서로 다른 알고리즘을 가진 분류기를 결합하여, 데이터 샘플링을 같게 가져가면서 학습을 수행합니다. - Hard Voting : 각각 분류기가 예측한 결괏값들 중 다수의 분류기가 결정한 예측값을 최종 보팅 결괏값으로 선정합니다. 즉, 마치 '다수결 원칙' 처럼 결과값을 선정합니다. - Soft Voting : 분류기들의 레이블 값 결정 확률을 각 class별로 모두 .. 2023. 2. 15.
[Machine Learning] K-Menas_2 비지도 학습에 속한다. 비슷한 위치에 있는 데이터들을 그룹으로 묶어 군집화 한다. 두 가지 변수에 속한 데이터 값들을 그룹핑 하는 경우 타겟 레이블이 없고 여러 데이터 값들만 있는 상태에서 군집화가 가능하다. 데이터들을 관찰하고 유클리드 거리값이 비슷한 데이터들 간에 묶는 과정을 거친다. K-Means 알고리즘 단계 step1. 군집의 수를 정합니다. k step2. 각 군집의 중심이 될 랜덤 k의 지점을 선택합니다. step3. 정한 중심으로 근처에 있는 데이터를 할당하여 k개의 군집을 만듭니다. step4. 각 군집의 새로운 중심을 계산합니다. step5. 각각의 데이터들을 새로운 근처의 중심에 재할당합니다. step6. step4부터 반복합니다. 최적의 k숫자 ELBOW METHOD: 최적의 군집 .. 2023. 2. 14.
[Machine Learning] 실루엣 분석 silhouette analysis 군집화 평가 방법으로 각 군집 간의 거리가 얼마나 효율적으로 분리되어 있는지를 나타내는 평가 방법입니다. ● 실루엣 계수(silhouette coefficient) : 개별 데이터가 가지는 군집화 지표 ● 실루엣 계수는 개별 데이터가 가지고 있으며 같은 군집내의 데이터와 얼마나 가깝게 뭉쳐 있고, 다른 군집에 있는 데이터와는 얼마나 멀리 분리되어 있는지를 나타내는 지표입니다. ● 실루엣 계수는 다음과 같이 정의합니다. s(i) = - a(i) : i번째 데이터에서 자신이 속한 클러스터내의 다른 데이터 포인트들의 평균 거리 ex) 1번 데이터의 경우 a(1) = mean(a12, a13, a14) - b(i) : i번째 데이터에서 자신이 속하지 않은 클러스터 중 가장 가.. 2023. 2. 14.
[Machine Learning] K-means_1 K-means ● 군집화(Clustering)에서 가장 일반적으로 사용되는 알고리즘 ● 군집 중심점이라는 특정한 임의의 지점을 선택해 해당 중심에 가장 가까운 포인트들을 선택하는 군집화 기법입니다. k=2인 군집화 ① 2개의 군집 중심점을 임의로 설정(초기화 알고리즘에 의해 적합한 위치에 중심점이 위치함)합니다. ② 각 데이터는 가장 가까운 중심점에 소속합니다. ③ 중심점에 할당된 데이터들의 평균 중심으로 중심점을 이동시킵니다. ④ 각 데이터는 이동된 중심점을 기준으로 가장 가까운 중심점에 다시 소속합니다. ⑤ 다시 중심점에 할당된 데이터들의 평균 중심으로 중심점을 이동합니다. ⑥ 평균 중심 이동을 반복하여 중심점을 이동하였지만 데이터들의 중심점 소속 변경이 없으면 군집화.. 2023. 2. 14.
[Machine Learning] 차원 축소 차원 축소 (Dimension Reduction) 매우 많은 피처로 구성된 다차원 데이터 세트의 차원을 축소해 새로운 차원의 데이터 세트를 생성하는 기법입니다. *차원 증가의 한계 1) 수백 개 이상의 피처로 구성된 데이터 세트일수록 예측 신뢰도가 떨어집니다. 상대적으로 적은 차원에서 학습된 모델의 예측 신뢰도가 더 높습니다. 2) 피처가 많아질수록 개별 피처간에 상관관계가 높을 가능성이 커집니다. 특히, 선형 모델에서는 입력 변수 간의 상관관계가 높을 경우로 인한 다중 공선성 문제로 모델의 예측 성능이 저하됩니다. 3차원 이하의 차원 축소를 통해서 시각적으로 데이터를 압축해서 표현하면 직관적을 데이터를 해석할 수 있습니다. 함축적인 특성 추출은 기존 피처가 전혀 인지하기 어려웠던 잠재적인 요소를 추출하.. 2023. 2. 13.
[Machine Learning] LDA Linear Discriminant Analysis ● 선형 판별 분석법으로 불립니다. ● PCA와 유사하게 입력 데이터 세트를 저차원 공간에 투영해 차원을 축소하는 기법입니다. ● 개별 클래스를 분별할 수 있는 기준을 최대한 유지하면서 차원을 축소합니다. ● 지도학습의 분류에서 사용하기 쉽습니다. 즉, 지도학습 이기에 LDA 학습할 입력데이터에 클래스의 결정 값이 있어야 합니다. LDA 변환 시 클래스의 결정 값이 필요합니다. ● 입력 데이터의 결정 값 클래스를 특정 공간상에서 최대한 분리할 수 있는 축을 찾습니다. ● 클래스 간 분산(between-class scatter)과 클래스 내부 분산(within-class scatter)을 사용하여 두 비율을 최대화하는 방식입니다. ● 클래스 간 분산은 최.. 2023. 2. 13.
[Machine Learning][Regression] 회귀 소개 회귀분석은 영국의 통계학자 갈톤(Galton)이 수행한 연구에서 유래했다는 것이 일반론입니다. 갈톤의 연구에 따르면 부모의 키가 아주 크다고 자식의 키가 부모보다 더 커져서 세대를 이어가면서 무한 정 커지는 것이 아니며 그 반대도 마찬가지라는 것입니다. 결국 사람의 키는 평균 키로 회귀하려는 경향을 가진다는 자연의 법칙이 있다는 것입니다. 회귀분석은 데이터 값이 평균과 같은 일정한 값으로 돌아가려는 경향을 이용한 통계학 기법입니다. 통계학 용어에서 회귀는 여러 개의 독립변수와 한 개의 종속변수 간의 상관관계를 모델링하는 기법을 통칭합니다. 머신러닝 회귀 예측은 주어진 피처(독립변수)와 결정 값(종속변수) 데이터 기반에서 학습을 통해 최적의 회귀 계수를 찾아내는 것입니다. 회귀에서 가장 중요한 것은 "회귀.. 2023. 2. 2.
[Machine Learning] 머신 러닝 개괄 1. 머신러닝이란 머신러닝은 명시적인 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구 분야이다. - Arthur Samuel (아서 새뮤얼), 1959 training set (훈련 세트) : 시스템이 학습하는 데 사용하는 샘플입니다. training instance(훈련 사례) or Sample(샘플) : 각 훈련 데이터를 칭합니다. 2. 머신러닝 작업의 사례 ● 제품 이미지 분석하여 자동으로 분류 - CNN(합성곱 신경망) ● 폐암 진단하기 : CNN을 사용해 픽셀을 분류 ● 자동으로 뉴스 기사를 분류 : 텍스트 분류로 RNN(순환 신경망), CNN, Transformer ● 회사의 내년도 수익을 예측 : Regression (linear or polynomial), 회귀 SVM, 회귀 R.. 2023. 1. 30.
[Machine Learning][나이브 베이지안 ] NAIVE BAYES 나이브 베이스는 베이즈의 정리를 기반으로 하는 분류 기법입니다. 베이즈 정리는 사전확률을 알고 있을 때, 사건 발생 후에 그 확률이 수정되거나 변할 수 있다는 의미입니다. 과제 : 새로운 고객은 빨간색으로 분류되는가 초록색으로 분류되는가? NAIVE BAYES step1. prior probability (사전 확률) - 얕은 추측 우리는 빨간 점보다 파란 점을 더 많이 갖고 있기 때문에 우리는 새로운 점이 빨간 점보다 파란 점(더 흔한 클래스)으로 속할 것이라 판단합니다. 빨강 점의 사전확률 = Number of RED Points / Total Number of Points = 20 / 60 초록 점의 사전확률 = Number of GREEN Points / Total Number of Points .. 2023. 1. 26.
그래프 유형 선택하기 선 그래프 ● 시간 경과에 따른 추세 분석 및 시연에 적합하다 ● 변화를 쉽게 관찰 가능하다 ● 신속한 데이터 설정 및 테스트 ● 한 축은 가변 값(예를 들어 가격)을 나타낼 수 있고 다른 축은 시간을 나타낼 수 있습니다 (가령, 월별 매출 시각화를 수행하는 것과 비슷하다). 막대 그래프 ● 범주 비교에 적합 ● 이해하기 쉬운 전통적인 그래프 표현 ● 막대의 길이는 수치 또는 백분율을 표현 ● 신속한 프로토타이핑을 지원하는 간단한 설정 산점도 ● 두 변수 간의 관계 시연 ● 비선형 패턴 시연의 이점이 있다. ● 구축 및 시각화가 쉽고, 많은 산업에서 널리 인정받고 있다. ● 사용자가 정의하기 쉽다. 히트맵 ● 다양한 항목 비교에 유용 ● 쉽게 이해 가능한 색상 변화 ● 보는 사람을 특정 위치로 안내 가능.. 2023. 1. 21.
클래스(class)와 객체(object)와 인스턴스(instance) 구분 클래스는 객체를 정의하고 만들기 위한 변수와 메서드로 구성합니다. 클래스를 잘 설명하기 위해 주로 어떤 걸 계속 찍어내는 모형 틀에 비유합니다. 똑같은 일을 하는 걸 반복하기 쉽게 만들어 주기 때문입니다. 혹시, 붕어빵 타이쿤이라는 게임을 들어본 적이 있나요? (붕어빵을 반복적으로 만들어 파는 게임) 저는 클래스를 붕어빵을 계속 찍어주는 틀로 이해해보았습니다. 클래스(class) : 붕어빵틀, 객체(object) : 붕어빵, 인스턴스(instance) : 경로 붕어빵 틀로 찍어낸 여러 개의 붕어빵이 생기게 되고 각각 하나의 붕어빵은 객체입니다. 이런 붕어빵 틀로 만든 붕어빵은 서로 독립적입니다. 독립적이란 표현은 서로 영향을 미치지 않는다는 의미입니다. 하나의 붕어빵을 입에 베어 물어도 다른 붕어빵은 멀.. 2022. 3. 1.
PCA (Principal Component Analysis) : 주성분 분석 개요 PCA는 여러 변수 간에 존재하는 상관관계를 이용하여 가장 대표하는 주성분(PC)을 추출해 차원을 축소하는 기법입니다. PCA로 차원을 축소할 경우 기존 데이터의 정보 유실을 최소화 해야합니다. 따라서 PCA는 가장 높은 분산을 찾는 방향으로 데이터의 축을 설정해 차원을 축소합니다. 즉, 분산이 데이터의 특성을 가장 잘 나타낸다고 가정합니다. 여기서 분산은 데이터가 널리 퍼져있는 정도를 말합니다. 첫 번째 주성분은 분석이 가장 큰 대각 선 방향으로 축을 찾습니다. 두 번째 주성분은 첫 번째 축에 직교하고 남은 분산을 최대한 보존하는 축을 찾습니다. 더 고차원 데이터셋이라면 이전의 두 축에 직교하는 축을 찾으며 데이터셋에 있는 차원의 수만큼 축을 찾아가는 과정입니다. 따라서 주성분 벡터의 원소 개수는 원본.. 2022. 2. 28.
728x90