머신러닝62 Proj 사용자 행동 인식 예측 분류 Human Activity Recognition 목표 사용자 행동 인식 데이터 세트를 활용해 예측 분류 수행 데이터 준비 30명에게 스마트폰 센서를 장착한 뒤 사람의 동작과 관련된 여러가지 피처를 수집한 데이터 https://www.kaggle.com/datasets/uciml/human-activity-recognition-with-smartphones/ 분석 모델 구축 결정 트리 Decision Tree 먼저 데이터를 불러옴 그리고 컬럼 값(피처명)도 불러옴 피처명을 보면 X, Y, Z 이런식으로 나와 있는데, 인체의 움직임과 관련된 속성의 평균(mean)과 표준편차(std)가 X,Y,Z축 값으로 되어 있는 듯 함 그러다보니 중복되는 피처명들이 있을 수도 있음 (563개나 되니까) 그럼 오류가 날 수 있으니까 체크체크 체크해봤을 때 아무것도 나오지.. 2023. 12. 6. ML 결정 트리 과적합 Overfitting 결정 트리는 규칙 생성 로직을 제어하지 않으면 완벽하게 분류하기 위해 트리 노드를 계속해서 만들어 감. 그래서 나중에는 매우 복잡한 규칙 트리가 생길 수 있음. ▶ 이는 쉽게 과적합, Overfitting이 될 수 있다는 것을 의미함. ▷ 그래서 결정 트리는 과적합이 상당히 높은 ML 알고리즘 중 하나임 이를 제어하기 위해 max_depth, min_samples_leaf 등 하이퍼파라미터를 튜닝하는 것임 - 어떻게 학습 데이터를 분할해서 예측을 수행하는지, 이로 인한 과적합 문제를 시각화 해볼 예정 ▶ 분류를 위한 데이터 세트를 임의로 만들어 봄 ▷ 사이킷런에서 분류 테스트용 데이터를 쉽게 만들 수 있도록 make_classification() 함수 제공 ▷ 각 피처 X, Y축으로 나열된 2차원 그래프.. 2023. 11. 29. ML feature의 중요한 역할 지표 (결정 트리 알고리즘) 결정 트리 모델은 균일도의 기반해서 어떤 속성을 규칙 조건으로 선택하느냐가 중요한 요건 중 하나임. 몇 가지의 feature가 명확한 규칙 트리를 만드는 기여함. ▶ 이걸로 모델이 간결하고 outlier에 강한 모델을 만들 수 있음. 그래서 feature의 중요한 역할 지표를 확인해볼 수 있는데 : DecisionTreeClassifier 객체의 feature_importances_ 속성으로 확인할 수 있음. petal length가 가장 중요도가 높은 피쳐이고 (수치는 0.555) sepal width이 0으로 가장 중요도가 낮은 피쳐이다. 이전에 올렸던 graphviz와 중요한 피처 지표를 활용한다면 알고리즘이 어떻게 동작하는지 직관적으로 이해하기 쉽다 ✅ 2023. 11. 28. ML 결정 트리 모델 시각화 Graphviz 결정 트리 알고리즘이 어떤 규칙으로 트리를 생성하는지 보여주는 Graphviz 패키지. ▶ scikit-learn에서 쉽게 인터페이스 할 수 있게 export_graphviz( ) API 제공 ▷ 학습이 완료된 Estimator, 피처 이름 리스트, 레이블 이름 리스트 입력하면 학습된 결정 트리 규칙을 시각화함 → 파이썬으로 개발된 패키지가 아니라서 😂 설치한 후에 파이썬 래퍼(Wrapper) 모듈을 별도로 설치해야함 1. Graphviz에서 본인 컴퓨터 스펙에 맞는 파일을 설치함 https://graphviz.org/download/ Download Graph Visualization Software graphviz.org 2. 설치할때 로컬PC의 시스템 PATH 변수를 설정 2-1. PATH 변수가 .. 2023. 11. 28. 이전 1 2 3 4 5 ··· 16 다음