Develop

목차 배경 Electron 사용 배경 개발화면 구성 및 기능 시행착오 개발 후기 1. 배경 라인웍스에서는 의료 데이터를 활용한 다양한 머신러닝 프로젝트를 진행하고 있습니다. 머신러닝에는 사용하는 접근 방법에 따라 다양한 방법론들이 있지만, 이번 글에서 다루는 내용은 지도 학습(supervised learning)을 이용한 진단보조시스템(Clinical Decision Supporting System 이하 CDSS) 개발을 주로 설명하고 있습니다. 의료 데이터를 활용한 CDSS를 개발하는 경우에는 생각보다 많은 걸림돌이 있습니다. 그중 대표적인 것은 양질의 데이터를 확보하는 것입니다. 일반적으로 많이 알려지고 많은 팀들이 시도하는 문제들은 충분히 양질의 데이터셋이 공개(Kaggle, Amazon AWS 등등)되어있는 경우가 많습니다만, 그렇지 않은 문제들은 직접 데이터셋을 준비해야된다는

MIMIC-III 데이터베이스는 무료로 공개된 다년간의 중환자입원 기록으로, 다양한 의료정보 분석에 활용되고 있습니다.본 글은 Docker로 Postgres 설치하고 MIMIC-III 데이터베이스 세팅한 방법에 대해 작성한 글로서, Docker로 테스트용 데이터베이스를 설치하는 사례를 소개합니다.이 문서의 내용을 참조하였으며, 누구나 쉽게 mimic 데이터베이스를 설치할 수 있도록 정리하였습니다.MIMIC-III 데이터는 교육을 이수한 후에 접근이 가능합니다. 자세한 정보는 여기를 참고하세요. 1단계. mimic-code 리포지토리를 클론Workspace 폴더에 mimic-code 리포지토리를 클론합니다. git clone https://github.com/MIT-LCP/mimic-code 2단계. MIMIC-III 데이터를 얻기MIMIC csv 파일은 Workspace 폴더에 하위 폴더 ‘mimic’을 생성하고 mimic에 하위 폴더 ‘data’를 생성하고 이

라인웍스는 헬스케어 분야에서 대용량 데이터 처리 시스템을 기반으로 기계학습 엔진 및 시각화 기술 기반으로한 데이터 서비스를 개발하는 헬스케어 빅데이터 스타트업입니다. 의료 명세서 데이터 등 실제 데이터에 근거하여 질병과 의약품간의 연결성을 분석한 데이터베이스를 구축하고 있으며, 이를 통하여 의약품 개발 지표 등 기존에는 분석할 수 없었던 데이터를 생산하여 다양한 의료산업 생태계에 서비스를 제공하고 있습니다. 이 기술력을 인정받아 2016년 카이트 창업가 재단에서 엔젤투자, 올해 4월 카카오인베스트먼트로부터 19억원 규모의 투자를 유치하였고 계속해서 빠른 속도로 성장해가고 있습니다. 라인웍스 Tech 팀은 헬스케어 데이터 플랫폼을 만드는 것을 목표로

들어가며 이전 글에서 예방과 예측 중심으로 재편되는 의료산업에서 보건의료 빅데이터, 그 중에서도 의료명세서의 가치와 역할을 언급하였다. 그리고 건강보험심사평가원의 의료명세서(청구명세서)가 시간의 흐름에 따라 환자별 의료비용의 변화를 보여줄 수 있다는 점에 주목하였다. 이러한 배경에서, 우리는 의료명세서에서 시간 정보를 추출하여 유사한 패턴의 환자들 시계열 군집화를 적용하였다. 이 작업은 특정 질병의 의료비용 추산를 위한 탐색적 연구로서 의의가 있고, 시퀸스 분석을 적용한 의료행위 탐색으로 내용이 이어질 예정이다. 데이터셋 분석 대상은 연도별 담낭암 환자군, 즉 한국표준질병 사인분류에 따라 C23(담낭의 악성 신생물)으로 진단 받은 환자의 의료명세서이다. 의료명세서에 포함된 치료와

들어가며 평균 기대 수명이 늘어나면서 건강한 삶의 중요성이 강조되는 가운데, 보건의료 분야의 목적이 치료 중심에서 정밀, 예방, 예측 의료 중심으로 옮겨가고 있다. 보건의료 빅데이터는 이러한 의료산업 재편에 중요한 역할을 하고 있다. 보건의료 빅데이터의 대표적인 예로 전자건강기록(EHR), 임상 시험 데이터, 의료명세서가 있다. 우리는 이 글에서 의료명세서를 다양한 시각으로 조명할 것이다. 환자 개인의 부상 인구집단 기반의 의료가 개인에게 집중되기 시작하면서 보건의료 관계자, 제약사 등이 의료 서비스를 제공하는 방향에도 변화가 나타났다. 환자 개개인에 집중하며 전체적인 시각에서 의료 서비스를 개편하려는 움직임이 생겨났다. 예로는, 흑색종 환자마다 암의 진행

이전 포스팅 에 이어서 Python 에서 TAJO 를 사용하는데 필요한 몇 가지 사항을 정리해본다. Query 를 실행했다 그리고 이전 포스팅 마지막에 실행한 쿼리를 보자. query = "select * from table1" cur.execute(query) result = cur.fetchall() 결과를 python 에서 사용해보자. for each in result: print each[0] / each[1] 이런 경우 아래와 같은 Error 문구를 볼 수 있다. TypeError: unsupported operand type(s) for /: 'java.lang.Long' and 'java.lang.Long' 문제는 문제는 query 의 결과값이 숫자인 경우 아래와 같은 형식으로 리턴되기 때문이다. print type(each[2]) <class 'jpype._jclass.java.lang.Long'> 해결해보자 사실 해결책은 간단하다. 결국 TAJO 의 결과 값이 JDBC 를

작년에는 필요한 알고리즘은 직접 개발하여 사용했었는데 회사가 발전해감에 따라서 점점 시스템을 구축할 필요를 느끼고 있어서 기존에 다른 기업들이 공개한 데이터와 관련된 기술들을 찾아보았다. 우선 트위터 에서는 2011년에 Bootstrap 외에도 실시간 분석 분산 시스템 인 Storm 을 공개했다. (2011.08.04)A Storm is coming: more details and plans for release (2013.09.06)트위터 Storm 소개 2013년에는 StormHadoop 을 결합한 Summingbird 을 추가로 공개하였다. (2013.09.03)Streaming MapReduce with Summingbird 2014년에는 구글 에서 Mesa 라는 highly scalable analytic data warehousing system

라인웍스에서는 정적인 데이터를 분석하는 경우 데이터레이크(Data Lake) 로 TAJO 를 사용하고 있다. 회사 내에서 분석하고 서비스로 만들어내는 모든 데이터는 여기에서 시작된다. 우선 TAJO 에 Query 를 이용하여 데이터를 쪼개보고, 붙여보고, 나열해본 후에는 이를 csv 파일로 만든 후 에 Python 으로 load 하여 그래프를 그리거나 머신러닝 알고리즘을 수행하는 형식이다. (Python 의 경우 직접 실행하는 방법도 있고 IPython Notebook 을 사용하기도 한다.) 결국 Data – TAJO – CSV – Python – RESULTS 와 같은 단계를 거치게 되는데 이 단계를 단축시켜보자는게 이