- 미니프로젝트 3차
- CV: 시각지능 딥러닝
미니프로젝트 3차
미니프로젝트 3차는 스마트폰 센서 데이터 기반 모션 분류 모델로 정적 및 동적 활동을 분류 머신러닝, 딥러닝을 활용하여 프로젝트를 진행하는 과정이었습니다.
EDA
1. 환경 설정
- 라이브러리: 데이터 조작을 위한 Pandas, 수치 연산을 위한 Numpy, 시각화를 위한 Matplotlib 및 Seaborn과 같은 필요한 라이브러리
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
2 . 데이터 로딩
- 데이터 로드: 여러 축을 통한 가속도 및 자이로스코픽 데이터를 포함하는 데이터 프레임으로 센서 데이터를 로드
data = pd.read_csv('')
features = pd.read_csv('')
3. 데이터 개요
- 초기 검사: 데이터 세트의 형태, 유형 및 요약 통계를 확인하 센서 데이터의 분포, 규모 이해
print(data.describe())
print(data.info()) ..
4. 피처 중요도 분석
- 랜덤 포레스트 모델: 활동 유형을 예측하는 데 각 피처가 얼마나 기여하는지를 평가하기 위해 랜덤 포레스트 분류기를 사용
- 시각화: 피처 중요도를 플롯 하여 모델의 예측력에 가장 크게 기여하는 피처를 식별
모델링
- 데이터 전처리:
- 가변수화, 데이터 분할
- NaN 값 확인 및 처리
- 데이터 스케일링
- 모델 생성:
- 다양한 알고리즘을 적용하여 최소 4개 이상의 모델을 생성
- 생성된 모델의 성능 비교
- 변수 중요도를 기반으로 상위 N개의 변수를 선정하여 모델링 수행
- 데이터 전처리:
- 가변수화, 데이터 분할
- NaN 값 확인 및 처리
- 데이터 스케일링 (필요시)
- 모델 생성:
- 다양한 알고리즘을 적용하여 최소 4개 이상의 모델을 생성
- 생성된 모델의 성능 비교
- 변수 중요도를 기반으로 상위 N개의 변수를 선정하여 모델링 수행
cv
다양한 텍스트의 모양의 글자 이미지를 갖고 있는 notMNIST 데이터셋을 활용한 이미지 분류 진행을 학습을 시작으로 CV에 대해 학습을 진행했습니다.
notMNIST 데이터셋을 활용한 이미지 분류
- 데이터셋 소개: notMNIST는 다양한 글꼴에서 추출한 알파벳 이미지를 포함하는 데이터셋으로, 각 이미지는 A부터 J까지의 10개 클래스 중 하나에 속합니다. 이 데이터셋은 전통적인 MNIST 데이터셋의 대안으로 알려져 있다고 합니다
데이터 전처리
- 이미지 및 레이블 처리: 로드된 데이터에서 이미지와 레이블을 추출, 각 이미지는 28x28 픽셀 크기이며, 이미지 데이터는 학습에 적합하도록 전처리 과정을 진행했습니다.
- 데이터 분할: 이미지와 레이블 데이터를 학습 세트와 검증 세트로 분할합니다. 일반적으로 데이터의 80%를 학습에 사용하고 20%는 모델의 성능을 검증하는 데 사용합니다.
모델 구축 및 훈련
- 신경망 구성: Keras 라이브러리를 사용하여 신경망을 구성합니다. 이 네트워크는 여러 층을 포함하여 이미지에서 패턴을 학습하도록 설계됩니다. 모델은 컴파일 후, 학습 데이터를 사용하여 훈련되며, 조기 종료 기법을 사용하여 과적합을 방지합니다.
평가 및 시각화
- 모델 평가: 검증 데이터셋을 사용하여 학습된 모델을 평가합니다. 모델의 정확도와 손실을 측정하여 성능을 평가하고, 잘못 분류된 이미지를 시각적으로 검토하여 모델의 예측을 확인합니다.