분류 전체보기339 결정 트리 실습 - 사용자 행동 인식 데이터 분류 예제 🧑🏻💻 예제 설명 스마트폰 센서를 장착한 30명의 행동데이터를 수집 결정 트리를 이용해 어떠한 동작인지 예측 데이터 불러오기 : feature.txt 파일 로드 피처 인덱스와 피처명을 가지고 있으므로 이를 DataFrame으로 로딩하여, 피처 명칭 확인 import pandas as pd DATA_PATH = '/content/drive/MyDrive/data' feature_name_df = pd.read_csv(DATA_PATH + '/human_activity/features.txt',sep='\s+', header=None,names=['column_index','column_name']) feature_name_df.head(1) 피처명 index 제거 후, 피처만 따로 저장 피처명 : 인체의.. 2023. 8. 21. [분류 알고리즘(앙상블)] 결정 트리(Decision Tree) ✔ 분류란? 학습 데이터로 주어진 데이터의 피처와 레이블값(결정 값, 클래스 값)을 머신러닝 알고리즘으로 학습해 모델을 생성하고 이렇게 생성된 모델에 새로운 데이터 값이 주어졌을 때 미지의 레이블 값을 예측하는 것이다. 분류를 구현하는 알고리즘 나이브 베이즈 로지스틸 회귀 결정 트리 서포트 벡터 머신 최소 근접 알고리즘 신경망 앙상블 이 중, 이미지, 영상, 음성, NLP 영역에서 신경망에 기반한 딥러닝이 머신러닝계를 선도하고 있지만, 이를 제외한 정형 데이터의 예측 분석 영역에서는 👉 앙상블이 매우 높은 예측 성능으로 인해 많은 분석가와 데이터 과학자들에게 애용되고 있다. ✔ 앙상블이란? 서로 다른/또는 같은 알고리즘을 단순 결합한 형태도 있음 (대부분 동일한 알고리즘을 결합) 일반적으로 배깅과 부스팅.. 2023. 8. 21. [이진 분류_성능 평가 지표] 정밀도 / 재현율 정밀도와 재현율은 Positive 데이터 세트의 예측 성능에 좀 더 초점을 맞춘 평가 지표 # 정밀도 Positive 예측 성능을 더욱 정밀하게 측정하기 위한 평가 지표로, 양성 예측도라고도 불림 예측을 Positive로 한 대상 중에 실제 값도 Positive로 일치한 데이터 비율 사이킷런의 API는 다음과 같다 from sklearn.metrics import precision_score # 재현율 실제 값이 Positive인 대상 중에 예측도 Positive로 일치한 데이터 비율 민감도 또는 TPR(True Positive Rate)라고도 불림 사이킷런의 API는 다음과 같다 from sklearn.metrics import recall_score 🔍 정밀도와 재현율은 언제 중요할까? 재현율이 중요.. 2023. 8. 20. [분류_성능 평가 지표] 정확도와 오차 행렬(이진 분류) 💜 분류의 성능평가 지표 정확도 오차행렬 정밀도 재현율 F1 스코어 ROC AUC 👉 분류는 결정 클래스 값 종류의 유형에 따라 - 긍정/부정과 같이 2개 결괏값만 가지는 '이진 분류'와 - 여러 개의 결정 클래스 값을 가지는 '멀티 분류'가 있다. 👉 위 지표들은 특히 '이진 분류'에서 중요한 지표이다. 💜 가장 직관적인 '정확도' 실제 데이터에서 예측 데이터가 얼마나 같은지를 판단하는 지표 전체 예측 데이터 건 수 중 예측 결과가 동일한 데이터 건수 비율 단, 불균형한 레이블 데이터 세트에서는 성능 수치로 사용할 수 없음 데이터 분포도가 균일하지 않은 경우, 대충 예측해도 정확도가 높아져버리는 현상 발생 이러한 문제를 극복하기 위해 여러 가지 분류지표와 함께 적용하여 ML 모델 성능을 평가해야 한다!.. 2023. 8. 18. [GridSearchCV] 교차 검증 & 하이퍼 파라미터 튜닝을 한 번에 GridSearchCV 역할 ▶︎ 교차 검증을 기반으로 하이퍼 파라미터의 최적 값을 찾게 해줌 - 데이터 세트를 학습/테스트 세트로 자동 분할 - 하이퍼 파라미터 그리드에 기술된 파라미터를 순차적으로 적용 - 학습과 평가까지 수행 👉 즉, cross-validation을 위한 학습/테스트 세트로 자동으로 분할한 뒤, 하이퍼 파라미터 그리드에 기술된 모든 파라미터를 순차적으로 적용해 최적의 파라미터를 찾을 수 있게 해준다. 사이킷런은 GridSearchCV 를 이용해 Classifier나 Regressor와 같은 알고리즘에 사용되는 하이퍼 파라미터를 순차적으로 입력하면서 편리하게 최적의 파라미터를 도출할 수 있다 최고 성능을 가지는 파라미터 조합을 찾기 위해, 파라미터의 집합을 만들고 순차 적용하며 최적화.. 2023. 8. 17. [교차 검증] Stratified K 폴드 Stratified K 폴드 Stratified K 폴드는 불균형한 분포도를 가진 레이블 데이터 집합을 위한 K 폴드 방식이다 불균형한 분포도를 가진 데이터 집합은 특정 레이블 값이 특이하게 많거나 매우 적어서 값의 분포가 한 쪽으로 치우치는 것을 말한다. Stratified K 폴드는 K 폴드가 레이블 데이터 집합이 원본 데이터 집합의 레이블 분포를 학습 및 테스트 세트에 제대로 분배하지 못하는 경우의 문제를 해결해준다 따라서, 왜곡된 레이블 데이터 세트에서 분류를 할 때는, 반드시 Stratified K 폴드를 사용해야한다. 일반적인 분류에서도 Stratified K 폴드를 사용하며 회귀에서는 지원되지 않는다.(분포 측정이 불필요하기 때문) 📑 동작 방식 1. 원본 데이터의 레이블 분포를 먼저 고려 .. 2023. 8. 17. [교차 검증] K-폴드 교차 검증 교차 검증 교차검증은 여러 세트로 구성된 학습 데이터 세트와 검증 데이터 세트에서 학습과 평가를 수행하는 것이다. 각 세트에서 수행한 평가 결과에 따라 하이퍼 파라미터 튜닝 등의 모델 최적화를 더욱 손쉽게 할 수 있다. 대부분의 ML 모델의 성능 평가는 (1)교차 검증 기반의 1차 평가 후, (2)테스트 데이터 세트에 적용해 평가하는 프로세스이다. 교차 검증을 통해 과적합 문제도 개선할 수 있다. K-폴드 교차 검증 가장 보편적으로 사용되는 교차 검증 기법 K개의 데이터 폴드 세트를 만들어서, K번만큼 각 폴드 세트에 학습과 검증 평가를 반복적으로 수행하는 방법 위 예시 이미지에서는 5번의 교차 검증 결과를 평균한 결과로 예측을 수행하게 된다. 📑 예제 1. 5개의 폴드 세트로 iris 데이터 분리 kf.. 2023. 8. 17. 데이터 분리 : train 데이터와 Validation 데이터 train_test_split() ▶︎ train_test_split 모듈 사용 : 학습 데이터 셋과 test 데이터 셋을 손쉽게 분리할 수 있음 from sklearn.model_selection import train_test_split X_train, X_valid, y_train, y_valid = train_test_split(X, y, test_size=비율(0~1 사이), random_state=숫자) X : 학습에 사용되는 독립 변수 데이터 (배열이나 데이터프레임) y : 예측하고자 하는 종속 변수 데이터 test_size : 테스트용 데이터 개수를 지정. (1보다 작은 실수를 기재할 경우, 비율을 나타냄) train_size : 학습용 데이터의 개수를 지정. (1보다 작은 실수를 기재할 .. 2023. 8. 17. [데이터 전처리] MinMaxScaler를 이용한 데이터 정규화 예제 스케일링이란? 머신러닝 과정에서는 데이터의 특성(feature)을 추출하여 모델을 학습시킨다. 그러나 데이터 값이나 분산이 너무 크거나 작으면 모델의 학습에 부정적인 영향을 미칠 수 있다. 이를 방지하기 위해 '스케일링' 과정을 통해 데이터 값을 조정하고 분산을 줄이게 된다. min-max 정규화 min-max 정규화 는 수치형 데이터 값을 0과 1 사이의 값으로 변환해주는 스케일링 방법 중 하나이다 정규화를 위한 수식은 다음과 같다 X' = (X - MIN) / (MAX - MIN) X : 원본 데이터 값 X' : 정규화가 완료된 데이터 값 MIN : 최솟값 MAX : 최댓값 sklearn 라이브러리(Library)의 MinMaxScaler 사용법 👉 sklearn 라이브러리(Library)의 MinM.. 2023. 8. 17. 이전 1 ··· 22 23 24 25 26 27 28 ··· 38 다음 728x90