Project 13

결론

1. 고찰 생물정보학이 수행하는 역할은 크게 두 가지로 분류할 수 있다. 먼저 첫 번째 역할은 생물학 연구에 필요한 데이터 저장 기술이나 데이터 분석 방법을 개발하는 것이다. 두 번째 역할은 다형 데이터를 분석함으로써 질병의 진단과 치료에 중요한 역할을 하는 표지(marker)를 찾아내거나, 생물체 전반에 대한 통합적인 이해를 제시하는 것이다. 지금까지 질병에 걸린 환자들의 여러가지 데이터들을 수집하여 진단에 중요한 역할을 하는 표지를 찾아냈다. 더 나아가 생물학적 데이터(유전자, 대사체 등)만으로 질병을 진단하는 알고리즘을 설계하였다. 그 결과 이진 분류기 기준 정확도 90% 이상의 유의미한 결과들을 도출해 냈으며 feature importance를 이용하여 해당 진단 기준의 중요한 인자를 산출할 수 ..

대장암 혈액 진단

1)Data 준비 NCBI에서 제공하는 오픈소스 microarray 데이터셋으로 진행하였다(GSE164191). 이 데이터셋은 정상인 62명, 대장암에 걸린 환자 59명의 혈액 액체 생검 마이크로 어레이 결과이다. 이 연구에서 GPL570 microarray chip사용하였으며, 54676개 probe를 통해 암 세포에서 어떤 유전자가 발현되는지 알 수 있다.  2) 알고리즘 설계 NCBI 데이터 다운 시 필요한 전치 행렬, 필요 없는 column 제거, 오버 샘플링 등의 전처리를 마치고, 레이블링을 진행하였다. NCBI에서 확인한 결과 62번째 데이터까지 일반인, 그 이후로는 환자의 데이터이므로 해당 내용에 맞게 레이블링을 진행하였다.  랜덤 포레스트 모델을 이용하여 성능 지표를 확인한 결과, 88%의..

신장 질환 진단 모델

1) Data 준비 서울대학교 임상약리학과에서 제공받은 HPLC-MS/MS 데이터셋으로 진행하였다. 이 데이터셋은 정상인 66명, 신장질환을 가진 환자 220명의 대사체 분석 결과이다.  2) 알고리즘 설계 신장 질환 데이터는 ‘group’ column에 발병 원인이 나타나 있고 일반인인 경우 normal로 표시되어 있다. 따라서 해당 column이 레이블이 된다. Sample은 ID와 같은 학습에 필요 없는 일련번호이므로 삭제하였다. 그 이후로 나오는 모든 column은 대사체의 발현량 데이터이다.   첫 번째 실험으로 발병 원인에 따라 다른 레이블을 부여하여, 발병 원인까지 예측할 수 있는 모델을 설계해 보았다.  오버 샘플링 등의 전처리 후 랜덤 포레스트 모델을 이용하여 정확도를 예측해 보았다. 결..

대장암 진단 모델

1) Data 준비 NCBI에서 제공하는 오픈소스 microarray 데이터셋으로 진행하였다(GSE44076). 이 데이터셋은 정상인 50명, 대장암에 걸린 환자 196명의 대장 조직 생검 마이크로 어레이 결과이다. 이 연구에서 GPL13667 microarray chip사용하였으며, 20254개 probe를 통해 암 세포에서 어떤 유전자가 발현되는지 알 수 있다.  2) 알고리즘 설계 NCBI에서 다운받은 데이터는 기본적으로 행 열이 뒤바뀌어 있고 학습에 필요 없는 환자 ID가 존재한다. 따라서 이를 처리해주는 작업을 이전과 같이 진행해 주었다. 변환 결과 모든 실수형 데이터들이 object로 바뀌어 있어 다시 float형으로 바꾸는 작업을 수행하였다. NCBI에서 해당 데이터의 환자 인덱스와, 일반인..

전립선암 진단 모델

1) Data 준비 NCBI에서 제공하는 오픈소스 microarray 데이터셋으로 진행하였다(GSE62872). 이 데이터셋은 정상인 160명, 전립선암에 걸린 환자 264명의 전립선 조직 생검 마이크로 어레이 결과이다. 이 연구에서GPL19370 microarray chip사용하였으며, 20254개 probe를 통해 암 세포에서 어떤 유전자가 발현되는지 알 수 있다.  2) 알고리즘 설계 데이터셋을 불러온 후 데이터의 형식을 살펴보았다. 우선 환자의 id가 column 이름으로 설정되어 있고, 발현 유전자의 이름이 행방향으로 설정되어 있다. 데이터셋의 행과 열 방향이 반대로 되어있기 때문에 전치행렬로 바꾸어 주어야 하고, 환자 ID는 학습에 필요 없기 때문에 지워준다. 전치행렬로 바꾸고 학습에 필요 없..

프로젝트 개요 및 이론적 배경

프로젝트 개요 1990년대 인간 유전체 프로젝트 (Human Genome Project) 이후 염기나 단백질의 서열을 자동으로 분석할 수 있는 각종기기(DNA Sequencer, DNA Microarray 등)들의 획기적인 발전으로 생물학적 정보의 양은 기하급수적으로 증가하였다. 여러 방법론을 사용하여 생명현상 정보를 얻어내 이를 분석하는 생물정보학이 대두되고 있다. 질병은 여러 유전자나 대사체와 연관되어 있다. 특정한 질병에 걸린 사람은 그와 관련된 유전자나 대사체의 발현양이 높게 나타난다. 따라서 유전자나 대사체로 사람의 질병을 해석할 수 있다면, 여러 질병의 진단과 치료에 큰 기여를 할 수 있을 것이다. 따라서 본 프로젝트에서는 머신 러닝, 딥러닝 기법을 이용하여 여러 생물정보학적 데이터를 처리해 ..

모델 설계(MLP, KNN, LightGBM)

Multi Layer Perceptron가장 먼저 시도했던 알고리즘은 MLP입니다. MLP는 현재 가장 각광받고 있는 분류기이기 때문에 저희 프로젝트에서도 좋은 성능을 나타낼 수 있을 것이라고 생각하여 먼저 시도하였습니다. Batch size는 32 Epochs는 10으로 설정하였으며, 정형데이터를 이용하였기 때문에 CustomDataset클래스을 만들어 이용했습니다. Train_loader의 X_train은 32(배치 수)*3(피처x, y, z)이고 y_train은 32*1(방위 값)입니다. 네트워크의 구조는 3개의 fully connected layer를 가지도록 구성하였습니다. Activation function으로는 ReLU를 사용하였으며, 이를 통과하기 전에 batch normalization을..

데이터 분석

이번 글에서는 전처리를 마친 데이터를 이용하여 분석을 진행한 코드를 리뷰합니다. 데이터 전처리 과정을 마친 후 데이터 분석을 진행하였습니다. 데이터 분석의 목적은 다음과 같습니다. -      수집한 데이터의 경향성을 확인하고 feature와 label의 상관관계를 시각화 하여 데이터를 이해한다. Analysis 함수는 데이터 분석을 수행해 주는 함수입니다. 후술할 데이터 분석 코드는 모두 Analysis 함수 안에 포함되어 있습니다. 실험 데이터 수집 과정에서 예기치 못한 오류로 null값이 측정되었을 수 있습니다. 따라서 null값의 수를 측정해 주었습니다. 또한 describe()를 통해 데이터셋의 통계학적 수치를 확인해 보았습니다. 구동 결과 null 개수는 0개였습니다. 또한 x, y, z축의 ..

데이터 수집

Weltried의 프로젝트 주제는 웨어러블 벨트를 이용하여 앉은 자세 시각화와 이를 통한 자세 교정 피드백 어플리케이션 개발입니다. 이를 위해 어플리케이션을 설계하고 개발하는 클라이언트 파트와, 계정 생성 및 AI모델 연동을 위한 서버 파트, 3축 가속도 데이터를 이용하여 현재 자세의 방향을 정의하는 AI 파트로 부서를 나누었습니다. AI파트는 자세 데이터를 이용하여 모델을 학습하고, 이를 통해 실시간으로 현재 자세를 예측하기 위해 다음과 같이 세부 일정을 정하였습니다. -      자세 데이터 수집을 위한 실험 설계-      수집 데이터 가공, 전처리 및 데이터 분석-      모델 설계 이번 글에서는 앉은자세 측정 모델을 개발하기 위한 데이터 수집 과정에 대해 소개합니다. 실험 설계WELT사의 웨어..

데이터 전처리

Weltried의 앉은 자세 측정 어플리케이션 개발에서 AI부서가 맡은 파트는 3축 가속도 센서로부터 들어오는 raw data를 이용하여 8방향 + 중앙 중 어느 방향으로 사용자가 앉아있는지 판단하는 AI모델을 개발하는 것입니다. Weltried의 웨어러블 벨트에 존재하는 3축 가속도 센서는 5Hz의 속도로 어플에 가속도 데이터값을 전달합니다. 이번 글에서는 전달받은 값을 전처리하고 분석한 코드를 리뷰합니다. raw data는 다음과 같이 x, y, z축 가속도 데이터를 받습니다. raw data 는 팀원 6명이 특정 조건에서 측정하여 데이터를 수집하였습니다. 데이터를 수집한 방법은 다음과 같습니다.총 9방향으로 돌아가며 측정 (0: 후방, 1:우측 후방, 2: 우측, ... , 8: 중앙)허리를 굽힌 ..