목록분류 전체보기 (82)
데이터로그😎
배깅(Bagging) 모두 같은 알고리즘 여러 dataset (데이터 중첩 허용) ex) 랜덤 포레스트 파라미터 n_estimators 생성할 트리의 개수 이 값이 높을수록 모델의 성능이 좋아질 수 있지만, 시간과 메모리 사용량이 증가할 수 있음. max_depth 트리의 최대 깊이 이 값을 높이면 복잡한 모델을 만들 수 있지만, 과적합(overfitting) 문제가 발생할 수 있음. min_samples_split 노드를 분할하기 위한 최소한의 샘플 데이터 수 이 값을 낮추면 노드가 분할되는 빈도가 높아져 모델의 복잡도가 증가할 수 있음 min_samples_leaf 리프 노드가 되기 위한 최소한의 샘플 데이터 수 이 값을 높이면 모델이 학습하는 데 사용되는 데이터 수가 줄어들어 일반화 성능이 향상될 ..
앙상블의 한 종류인 보팅에 대해 글을 쓸 것. 앙상블의 종류에 대해서는 이전에 발행한 글을 참고. 2023.09.04 - [머신러닝/지도 학습_분류] - 4. Ensemble (앙상블) 4. Ensemble (앙상블) 여러개 분류기(Classifier)를 생성하고 그 예측을 결합함으로써 보다 정확한 최종 예측을 도출하는 기법 Ensemble의 목표: 다양한 분류기의 예측결과를 결합함으로써 단일 분류기보다 신뢰성이 높은 fine-1004.tistory.com 보팅(Voting) 서로 다른 알고리즘을 가진 분류기 결합(Linear, KNN,SVM…) 하나의 dataset 하드보팅(다수결), 소프트 보팅(확률의 평균) 하드보팅: 다수결. 다수의 분류기가 결정한 예측값을 최종 보팅 결과값으로 선정 소프트보팅: ..
여러개 분류기(Classifier)를 생성하고 그 예측을 결합함으로써 보다 정확한 최종 예측을 도출하는 기법 Ensemble의 목표: 다양한 분류기의 예측결과를 결합함으로써 단일 분류기보다 신뢰성이 높은 예측값을 얻는 것 앙상블의 종류 앙상블 종류 설명 Voting (보팅) 서로 다른 알고리즘을 가진 분류기 결합(Linear, KNN,SVM…) 하나의 dataset 하드보팅(다수결), 소프트 보팅(확률) Bagging (배깅) 모두 같은 알고리즘 여러 dataset (데이터 중첩 허용) ex) 랜덤 포레스트: 랜덤 포레스트는 여러 개의 결정 트리를 생성하고 이들을 결합하여 예측을 수행하는 앙상블 기법. 각 결정 트리는 부트스트랩 샘플(복원 추출)을 기반으로 학습하고, 무작위로 선택된 특성 집합을 사용하여..
선형회귀 방식을 분류에 적용한 알고리즘 → 분류에 사용됨 Logistic Regression은 선형 회귀와 유사한데, 출력값이 0과 1 사이의 값으로 제한되도록 변형된 모델입니다. 이를 위해 입력 데이터의 **가중합(가중치와 특성값의 곱의 합)**을 시그모이드 함수(sigmoid function)에 적용합니다. 시그모이드 함수는 S자 형태의 곡선으로, 입력값이 큰 음수일 때 0에 가까운 값, 입력값이 큰 양수일 때 1에 가까운 값, 입력값이 0일 때 0.5의 값을 출력합니다. 이렇게 입력 데이터의 가중합을 시그모이드 함수에 적용하면, 모델의 출력값은 0과 1 사이의 값으로 제한됩니다. 이 값은 해당 샘플이 양성 클래스에 속할 확률로 해석할 수 있습니다. 예를 들어, 출력값이 0.7일 경우 해당 샘플이 양..
회귀, 분류에 모두 사용 가능 ‘정보 균일도’ 라는 룰을 기반으로 하고 있어 알고리즘이 직관적임. 정보균일도 측정 지표 정의 정보이득지수 1-엔트로피 지수(혼잡도, 서로 다른값많으면 엔트로피 높음) 결정트리는 정보이득지수가 높은 속성을 기준으로 분할 정보이득지수↑ 데이터 균일도 ↑ 지니계수 불평등지수 0 가장 평등 → 1 불평등 결정트리는 지니계수가 낮은 속성을 기준으로 분할 지니계수↓ 데이터 균일도↑ Decision Tree Classification의 파라미터 min_samples_split 노드를 분할하기 위해 필요한 최소한의 샘플 수 min_samples_split=2로 설정하면 노드를 분할하려면 적어도 2개의 샘플이 있어야 함 값을 늘리면 트리의 깊이가 줄어들고 모델이 더 간단해지며, 과적합을 ..
분류는 언제 사용하는가: 예측 결과가 숫자가 아닐때 스팸메일 필터링(스팸 yes or no) 시험 합격 여부(합격 or 불합격) 재활용품 분리수거 품목(캔, 스티로폼…) 암 여부( 악성 or 종양 ) 분류에 사용되는 머신러닝 알고리즘 Naive-Bayes 나이브베이즈 Logistic Regression: 독립변수-종속변수의 선형관계성에 기반 Decision Tree: 데이터 균일도에 따른 규칙 기반 Support Vector machine Nearest Neighbor Neural Network Ensemble: 서로 다른 머신러닝 알고리즘 결합
1. 정확도(accurcay) 2. 오차행렬(confusion matrix) 3. 정밀도(precision) 4. 재현율(recall) 5. F1 score 6. ROC AUC 0. 데이터 준비 암 데이터 받아오기 from sklearn.datasets import load_breast_cancer import pandas as pd import numpy as np cancer = load_breast_cancer() data = cancer.data target = cancer.target feature_names = cancer.feature_names df = pd.DataFrame(data= data, columns = feature_names) df['target'] = target df ta..
1. 데이터 인코딩 1-1. 레이블 인코딩 1-2. 원-핫 인코딩 2. 피처 스케일링 2-1. StandardScaler (표준화) 2-2. MinMaxScaler(정규화) 1. 데이터 인코딩 1-1. 레이블 인코딩 언제 사용하는가? 문자열 → 숫자열로 인코딩하기 좋음 각 레이블에 고유의 숫자들을 매길 때 사용 fit items 리스트에 있는 고유한 문자열을 찾아냄. TV=0, 냉장고= 1, 전자레인지=2, 컴터=3, 선풍기=4, 믹서=5로 매팽할 방법을 학습함. transform items 리스트의 값들을 이전에 학습된 방법에 따라 인코딩. tv → 0, 냉장고 → 1, 전자레인지 → 2,... 로 인코딩. from sklearn.preprocessing import LabelEncoder items=..