머신러닝 11

Machine Learning

1. 머신러닝 문제의 종류 Label의 유무에 따른 구분Label 있으면 : 지도학습(Supervised Learning) / 라벨 없으면 : 비지도학습(Unsupervised Learning)지도학습에서, 연속적인 문제 : Regression(회귀) / 카테고리컬한 문제 : classification(분류) 2. 용어x = input variable (입력변수)  independent variable (독립변수)explanatory variable(설명변수)input feature  y = output variable (출력변수)dependent variable (의존변수)response variable (반응변수) target variable n  = number of training examples..

머신러닝 2024.04.20

ML_Overview

[Machine Learning 의 범위] AI(Artificial Learning) > ML(Machine Learning) > Deep Learning [Make decisions] 인간 : 과거의 경험을 바탕으로 3단계 1. Remember: Reflect on past situations that are similar. 2. Formulate: Establish general rules based on these reflections. 3. Predict: Apply these rules to forecast the results of specific actions. 기계 : 데이터를 학습하고, 인간 학습의 단계를 모방 1. Remember: Collect, organize, and store v..

머신러닝 2024.04.14

[4장] 파이썬 머신러닝 완벽 가이드_분류_3

06. XGBoost(eXtra Gradient Boost) XGBoost XGBoost는 트리 기반의 앙상블 학습에서 각광받고 있는 알고리즘 중 하나 GBM에 기반하고 있지만, GBM의 단점인 느린 수행 시간 및 과적합 규제 부재 등의 문제 해결 가능 CPU 환경에서 병렬학습이 가능해서 기존 GBM보다 빠르게 학습 완료 가능 [주요 장점] 1. 뛰어난 예측 성능 2. GBM 대비 빠른 수행시간 3. 과적합 규제 4. Tree pruning : 더 이상 긍정 이득이 없는 분할을 가지치기 해서 분할 수를 더 줄임 5. 자체 내장된 교차 검증 : 지정된 반복 횟수가 아니라 교차 검증을 통해 평가 데이터셋의 평가값이 최적화 되면 반복을 중간에 멈출 수 있는 조기 중단 기능이 있음 6. 결손값 자체 처리 - X..

머신러닝 2023.06.02

[4장] 파이썬 머신러닝 완벽 가이드_분류_2

04. 랜덤 포레스트 랜덤 포레스트의 개요 및 실습 배깅의 대표적인 알고리즘 랜덤 포레스트의 기반 알고리즘은 결정 트리로, 결정 트리의 쉽고 직관적인 장점 가짐 여러 개의 결정 트리 분류기가 전체 데이터에서 배깅 방식으로 각자의 데이터를 샘플링해 개별적으로 학습을 수행 후, 최종적으로 모든 분류기가 보팅을 통해 예측 결정 개별 트리가 학습하는 데이터셋은 전체 데이터에서 일부가 중첩되게 샘플링된 데이터셋 여러개의 데이터셋을 중첩되게 분리하는 것을 부트스트래핑 (Bootstrapping) 이라고 함 Bagging = bootstrap aggregating 서브셋의 데이터 건수는 전체 데이터 건수와 동일하지만, 개별 데이터가 중첩되어 만들어짐 이처럼 데이터가 중첩된 개별 데이터셋에 결정 트리 분류기를 각각 사..

머신러닝 2023.05.24

[4장] 파이썬 머신러닝 완벽 가이드_분류_1

01. 분류의 개요 분류(Classification) - 지도학습의 대표적인 유형 (*지도학습 : 레이블(Label)처럼 명시적인 답이 있는 데이터가 주어진 상태에서 학습하는 머신러닝 방식) - 학습 데이터로 주어진 데이터의 피처와 레이블값(결정 값, 클래스 값)을 머신러닝 알고리즘으로 학습하여 모델을 생성 - 생성된 모델에 새로운 데이터 값이 주어졌을때 미지의 레이블 값을 예측하는 것 (= 기존 데이터가 어떤 레이블에 속하는지 패턴을 알고리즘으로 인지 -> 새롭게 관측된 데이터에 대한 레이블 판별) 분류를 구현할 수 있는 다양한 머신러닝 알고리즘 베이즈(Bayes) 통계와 생성 모델에 기반한 나이브 베이즈(Naive Bayes) 독립변수와 종속변수의 선형 관계성에 기반한 로지스틱 회귀(Logistic ..

머신러닝 2023.05.20

[3장] 파이썬 머신러닝 완벽 가이드_평가_2

4. F1 스코어 F1 스코어 - 정밀도와 재현율을 결합한 지표 - 정밀도와 재현율이 어느 한 쪽으로 치우치지 않을때 상대적으로 높은 값을 가짐 - f1_score() 사용 5. ROC 곡선과 AUC ROC 곡선(Receiver Operation Characteristic Curve) - 이진 분류의 예측 성능 측정에서 중요하게 사용되는 지표 - FPR(False Positive Rate)이 변할 때 TPR(재현율 또는 민감도, True Positive Rate)이 어떻게 변화하는지 나타내는 곡선 - FPR : X축, TPR : Y축 -> FPR에 따른 TPR의 변화가 곡선 형태로 나타남 - 민감도 : 실제값 Positive가 정확히 예측되야 하는 수준 - 특이성(Specificity, 민감도에 대응하는..

머신러닝 2023.05.13

[3장] 파이썬 머신러닝 완벽가이드_평가_1

[ 머신러닝 프로세스 ] 1. 데이터 가공/변환 2. 모델 학습/예측 3. 평가 성능 평가 지표(Evaluation Metric)는 모델이 회귀인지 분류인지에 따라 여러 종류로 나뉨 회귀의 경우 대부분 실제값과 예측값의 오차 평균값에 기반 분류의 성능 평가 지표 - 정확도(Accuracy) - 오차행렬(Confusion Matrix) - 정밀도 (Precision) - 재현율 (Recall) - F1 스코어 - ROC AUC 분류는 결정 클래스 값 종류의 유형에 따라 긍정/부정과 같은 2개의 결과만 갖는 이진 분류와 여러개의 결정 클래스 값을 갖는 멀티 분류로 나뉨 01. 정확도(Accuracy) 정확도 : 실제 데이터에서 예측 데이터가 얼마나 같은지 판단하는 지표 = 예측 결과가 동일한 데이터 건수 /..

머신러닝 2023.05.05

[2장] 파이썬 머신러닝 완벽가이드_사이킷런_2

05. 데이터 전처리 데이터 전처리 : 사이킷런의 ML 알고리즘을 적용하기 전에 데이터에 대해 미리 처리해야 할 기본 사항 1. 결손값, NaN,null 값은 허용 X - Null을 고정된 다른 값으로 변환해야 함 (많지 않으면 피처의 평균값 등으로 대체) - Null값이 대부분이라면 피처를 드랍하는 것이 나음 - 중요도가 높은 피처일 경우, Null을 피처의 평균값으로 대체할 경우 예측 왜곡이 심할 수 있음 2. 사이킷런의 머신러닝 알고리즘은 문자열 값을 입력값으로 허용 X - 모든 문자열 값은 인코딩 되어 숫자형으로 변환되어야 함 - 문자열 피처는 일반적으로 카테고리형 피처(코드값)와 텍스트형 피처를 의미 - 텍스트형 피처는 *피처 백터화(feature vectorization) 기법으로 벡터화하거나..

머신러닝 2023.04.28

[2장] 파이썬 머신러닝 완벽 가이드_사이킷런_1

01. 사이킷런(scikit-learn) - 파이썬 머신러닝 라이브러리 중 가장 많이 사용되는 라이브러리 #설치 pip install scikit-learn==1.0.2 pip instll -U scikit-learn #버전확인 import sklearn print(sklearn.__version__) 02. 머신러닝 만들어보기 - 붓꽃 품종 예측하기 : 꽃잎의 길이와 너비, 꽃받침의 길이와 너비 피처 기반으로 품종 예측 - Classification은 대표적인 지도학습의 예시 - 지도학습은 다양한 피처와 분류 결정값인 레이블(Lable) 데이터로 모델을 학습한 뒤, 별도의 테스트 데이터셋에서 레이블 예측 : 명확한 정답이 주어진 데이터를 먼저 학습한 뒤 정답 예측 - 학습데이터셋 + 테스트 데이터셋 으..

머신러닝 2023.04.21

[1장] 파이썬 머신러닝 완벽 가이드_Pandas

Pandas 행과 열로 이루어진 2차원의 데이터를 효율적으로 가공/처리 넘파이가 저수준 API가 대부분 넘파이를 기반으로 작성된 판다스는 넘파이보다 훨씬 유연하고 편리하게 데이터 핸들링 가능 판다스는 여러형태의 데이터를 DataFrame으로 변경해 데이터 가공/분석 편리 DataFrame 판다스의 핵심 개체 DataFrame은 여러개의 행과 열로 이루어진 2차원 데이터를 담는 구조체 Index , Series 로 구성 Index는 Primary key처럼 개별 데이터를 고유하게 식별하는 키 Series와 DataFrame은 모두 Index를 키값으로 가지고 있음 Series와 DataFrame의 가장 큰 차이는 Series는 컬럼이 하나, Dataframe은 여러개 DataFrame은 여러개의 Serie..

머신러닝 2023.04.14