분류 전체보기 206

일반 데이터 학습용/테스트용 분리

지난번에는 이미지 데이터가 대상인 Data Augmentation의 ImageDataGenerator 를 이용하여 학습데이터를 분리하였다. 이번에는 단순히 pandas 로 읽어들인 숫자 문자등의 데이터를 분리해 보겠다. 1. numpy 를 이용하는 방법 import numpy as np def shuffle_and_split_data(data, test_ratio): np.random.seed(42) # np.random.permutation(length) : 랜덤으로 일련번호의 순서를 바꿈 shuffled_indices = np.random.permutation(len(data)) # 테스트 사이즈를 계산 test_set_size = int(len(data) * test_ratio) # 초반 test_..

pydub.AudioSegment

Install Package pip install pydub # 내부적으로 ffmpeg 라이브러리를 사용하기에 OS에 맞게 ffmpeg 설치 필요 불러오기 from pydub import AudioSegment wav_audio = AudioSegment.from_wav("input.wav") mp3_audio = AudioSegment.from_mp3("input.mp3") 정보 # 프레임레이트 print(wav_audio.frame_rate) # 채널수 (스테레오=2, 모노=1) print(wav_audio.channels) # 재생시간 print(wav_audio.duration_seconds) frame rate 변경 sound = audio.set_frame_rate(16000) 저장 wav_a..

7. 결과분석

Time-domain analysis 값 판단기준 판정 SDNN 40.97 비건강: 100 비건강 pNN50/NN50 0.34/1 50mm이상 차이가 나는 간격수와 비율 높을수록 건강 비건강 자연로그RMSSD 2.6 범위: 0 ~ 6.5 0 ~ 100 으로 환산 (값 / 6.5 x 100) 40 건강: 70 이상 보통: 50 ~ 70 비건강: 50미만 비건강 Frequency-domain analysis 정의 약어 한글 풀네임 주파수 파워 관계 SNS 교감신경 Sympathetic Nervous Systems LF / HF PSNS(또는 PNS) 부교감신경 Parasympathetic Nervous System HF ※ HF( 주파수 0.15 ~ 0.4 Hz) 는 ..

6. Heart Rate Variability (HRV)

심박 변이도(HRV)의 이해와 중요성HRV란 무엇인가?심박 변이도(Heart Rate Variability, HRV)는 심박 간격의 미세한 변화를 의미합니다. 이는 연속된 심장 박동 사이의 시간이 약간씩 늘어나거나 줄어드는 현상을 말합니다.HRV는 특수 장비 없이는 인지하기 어려우나, 건강한 사람들에게도 존재합니다.심장 상태, 불안, 우울증 등 신체 및 정신 건강 상태를 반영할 수 있습니다.HRV 자체는 일반적인 현상으로, 부정맥을 의미하지 않습니다.정상적인 심박 리듬일반적인 심박은 "Sinus Rhythm"이라고 합니다.심박 간격이 0.12초보다 길 경우 "Sinus Arrhythmia"이라고 합니다.부정맥은 주로 호흡에 의해 발생하며, 정상적인 심혈관계 반응의 일부입니다.호흡과 무관한 경우, 다른 심..

5. R-R Intervals

R-R Intervals 계산 numpy.diff 를 이용하여 전후 피크들의 차를 구한다. # rr_peaks 는 샘플의 간격 rr_ecg = np.diff(rr_peaks) # 샘플간격을 초단위로 변환 -> 1간격 = (1000 / 샘플링) rr_ecg = rr_ecg * (1000 / 130) 인터폴레이션함수 정의 ( 주파수 분석을 위해 ) # rr_ecg 는 밀리초 단위 # x 축 = RR간격을 나열(=축적) # 나중에 1초를 4등분(=0.25초)해야 하므로 밀리초를 초로 변환(= 1000 으로 나눔) x_ecg = np.cumsum(rr_ecg) / 1000 # 위의 X축과 RRI값을 Y축으로 하는 인터폴레이션 함수를 선언 f_ecg = interp1d(x_ecg, rr_ecg, kind='cub..

학습 데이터 준비

샘플데이터는 Food-11 을 사용하겠다. 구조는 아래와 같고 training은 학습용, validation은 학습중 배치별 학습평가용, evaluation은 최종 모델의 평가용이다. Data Data Augmentation 인위적으로 학습 데이터를 이용하여 변형된 데이터셋을 만드는 기술을 Data Augmentation 이라 한다. 목적은 아래와 같다. 모델이 overfitting되는 걸 방지 초기 학습데이터가 적을시 모델의 정확도를 향상 새롭게 데이터를 늘리는 라벨링과 클리닝의 오퍼레이션 코스트를 삭감 ImageDataGenerator 학습(training)용과 밸리데이션용을 따로 정의. from keras.preprocessing.image import ImageDataGenerator train_..

(VGG16) Fine tunning

VGG16 Max-pooling, Flatten, Normalization 레이어들을 제외한 16개의 레이어들로 구성되어 있다. 1000 종류의 이미지로 구성되어 있는 ImageNet 이미지 데이터셋을 가지고 학습을 하였기 때문에 마지막 레이어인 SoftMax에 의해 분류되는 클래스는 1000 개가 된다. 모델의 하위 레이어들은 특징 추출(feature extraction)에 집중을 하고 상위 레이들은 분류(classification)에 사용된다. 그러므로 Fine tunning은 아래 레이어들의 파라미터는 고정을 시켜 놓고 상위 레이어들을 목적에 알맞게 갈아치워서 새롭게 변한 상위 레이어들의 파라미터만 학습하는 원리가 된다. 위 하단의 이미지로 보면 상단의 레이어들이 하위 레이어에 해당되고 하단의 레이..