Cough Analysis - Cough classification

지난 몇년동안 계속 끝나지 않은 COVID-19

2020년 3월 11일에 COVID-19는 전세계 최소 114국으로 퍼졌으며 약 4,000명이 사망하여 세계보건기구는 COVID-19가 세계적 대유행임을 선언하였다.

COVID-19가 전세계적으로 대유행을 하면서 우리들의 많은 일상에 변화들이 일어나게 되었다.

그로 인해서 조금이나마 우리가 COVID-19에 예방이라도 할 수 있을까? 라는 생각을 하게 되었고,

COVID-19의 증상으로는, 가족 내에서 발생한 사례를 분석하였을 때 노출 후 3–7일 경에 열과 호흡기 증상이 발생하였다.

열, 마른 기침, 피로 감이 주요 증상이며, 코막힘, 콧물, 인후통, 근육통 등은 비교적 드물게 나타난다.

발병 초기에 드물지만 두근거림, 설사, 두통과 같은 호흡기와 무관한 증상이 먼저 나타나기도 하였다.$\quad$ 병의 초기에 열이 없는 경우도 있었다.

COVID-19는 무증상 감염부터 폐렴 및 사망까지 일으킨다.

심한 경우 폐렴으로까지 가는 COVID-19는 주로 나타나는 증상 중 기침이 있습니다.

그래서 기침소리를 분석해서 사람들의 기침 소리로 COVID-19를 분류할 수 있을지 연구해봐야겠다고 생각하게 되었습니다.

  • 메타데이터 가져오고 녹음 오디오 올바른거 선택

  • 나이와 기침소리 감지 점수에 따라서 다른 등급 정의\ MinMaxScaler, OneHotEncoder,LabelEncoder으로 데이터값을 0과 1사이의 범위 값으로 변환 (1에 가까우면 진짜 기침 소리일 가능성 높고, 0에 가까울수록 가짜 기침 소리일 가능성이 높다)

  • COVID 식별 모델 교육\ 각 audio_class에 대해, 녹음의 오디오 속성뿐만 아니라 주요 메타데이터를 기반으로 상태를 표시하는 별도의 모델을 교육한다.

  • 모든 오디오 파일에 대한 DSR 루프 출력

  • 데이터 프레임에서 클래스 균형 조정

  • 데이터 프레임을 저장하여 값 지정

  • 지정된 UUID에 대한 사운드 및 스펙트로그램 시각화

  • 분할 열차 시험\ 데이터 집합의 불균형으로 인해 작은 클래스를 보존하려고 'stratify' 인수를 사용.

  • 데이터셋 정규화\ 데이터 유출을 방지하기 위해 훈련 세트만 사용하여 스케일러를 장착.

  • 모형 정확도를 표시하고 평가하는 데 사용되는 도우미 함수

  • 로지스틱 회귀 분석 설정(멀티 클래스)\ 로지스틱 회귀분석 대표적인 이진분류 기법으로, train 값과 라벨링(0 또는 1)을 통해 모델을 생성, 생성된 모델에 test 값을 넣어 예측해본다.

  • XGBoost를 사용하여 BDT 분류기 교육

  • XG Boost 교육 진단\ 특정 변수의 상대적 영향도를 측정하여 분류 모델의 불순도를 더 많이 낮춰주는 변수들을 찾고, 정렬되기 전 인덱스를 리스트 형태로 반환하고, 배열을 뒤집는다.

  • 예측을 원래 데이터 프레임으로 다시 병합\ 병합 후 XGBoost에서 잘못된 작업을 수행하는 항목을 선택하고 출력.