[모집공고] 人Co INTERNSHIP 2021 동계



[모집분야]
- 지원대상 : 학사 기졸업자 또는 졸업예정자
- 지원기간 : 2020년 11월 30일(월) ~ 12월 10일(목)
- 지원서류 : 지원서(첨부된 당사 양식),
                 성적증명서 및 졸업증명서(기졸업자 또는 졸업예정자 대상)
- 지원방법 : 지원서류를 메일로 발송 (recruit@insilicogen.com)

[전형일정]

- 1차 서류전형 : 2020년 12월 14일(월) 서류합격 발표 (개별연락)
- 2차 면접전형 : 2020년 12월 21일(월) ~ 12월 22일(화)
- 최종 합격자발표 : 2020년 12월 24일(목)
- 인턴근무지 : 본사(경기도 용인시)
- 인턴기간 : 총 6주(2020년 12월 28일(월) ~ 2월 5일(금))
- 인턴혜택 : 1. 생물정보 기초 교육 커리큘럼
                  2. 기업 공통업무 기본역량 습득
                  3. 점심 제공
                  4. 수료증 발급
- 별도 공지사항 : 인턴십 기간 동안 정직원과 동일하게 출퇴근 규정 엄수
                         중도 이탈자 수료 불인정

[입사지원서 양식]

Posted by 人Co

2020/11/27 15:17 2020/11/27 15:17
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/365

공공데이터 포털 활용하기


 
4차 산업혁명과 함께 빅데이터 시대가 도래하였습니다. 빅데이터 시대의 핵심 경쟁력은 더 많은 데이터를 보유하는 것입니다.
빅데이터는 통계, 분석뿐만 아니라 AI 학습에까지 활용되어 데이터 확보의 중요성은 점점 더 커지고 있습니다.
 
우리나라의 디지털 경쟁력은 우수하다고 평가받고 있으나, 빅데이터 활용은 OECD 국가 중 꼴등 수준이라고 합니다.
이를 극복하기 위해 현재 국가에서는 개인 및 회사의 빅데이터 활용능력을 키우는 데 필요로 하는 데이터를 제공 및 활용할 수 있도록 공공데이터를 제공하는 공공데이터 포털을 운영하고 활성화하기 위해 많은 노력을 기울이고 있습니다.
 
아래 본문에서는 이러한 공공데이터 포털의 활용방법을 소개하고자 합니다.
 

 
공공데이터 포털은 공공기관이 생성 또는 취득하여 행정안전부에서 관리하는 공공데이터를 제공하는 통합제공 시스템으로 다양한 공공데이터를 국민 누구나 편리하고 쉽게 활용할 수 있도록 파일형식의 데이터(csv, excel, xml), Open API, 시각화, 분석 서비스 등 다양한 방식으로 제공하고 있으며, 검색을 통해 원하는 형식의 공공데이터를 빠르고 정확하게 찾을 수 있습니다.
 
 
 
 

[그림 1] 공공데이터 찾기
 
[데이터찾기] 메뉴는 데이터목록, 국가중점데이터, 이슈데이터로 구성되어 있습니다.
 
  • 데이터목록

[데이터목록]에서는 공공데이터 포털에서 제공하는 모든 데이터를 검색을 통하여 찾을 수 있으며, 자주 검색된 키워드를 검색창 하단에 배치하여 최근 이슈가 되는 키워드를 확인하고 이를 검색에 활용할 수 있습니다. 또한, 상세검색이나 조건검색(분류체계, 서비스유형, 제공기관유형, 태그, 확장자) 등을 통해 다양한 방식으로 검색할 수 있습니다.
 

[그림 2] 데이터목록
 
  • 국가중점 데이터

[국가중점 데이터]는 국민이나 기업의 수요 중심으로 개방의 효과성, 용이성, 시급성 등을 분석하여 가장 높은 분야의 데이터를 선정한 카테고리로 구성되어 있습니다.
 

[그림 3] 국가중점데이터
[이슈데이터]는 COVID-19, 미세먼지, 저출산/고령화 등의 사회현안별 이슈 키워드를 통하여 사회적 관심도가 가장 높은 카테고리로 구성되어 있습니다.




 


  • OpenAPI 데이터 활용

1. 제공 받고자 하는 데이터를 찾아 상세페이지로 이동합니다.


[그림 5] Open API신청1
 
 
2. 활용신청 버튼을 눌러 활용목적과 상세기능 선택 및 라이선스를 동의합니다.
 

[그림 6] Open API신청
 
 
3. 활용신청이 완료된 OpenAPI는 1~2시간 이후에 사용할 수 있으며, 일반 인증키와 요청변수를 통해 데이터를 받아 볼 수 있습니다.
 

[그림 7] Open API신청3
 
 
4. 키-값(key-value) 형태의 XML 혹은 JSON 데이터로 요청변수에 맞는 데이터를 제공 받아 볼 수 있습니다.
 

[그림8] 출력 결과 데이터
5. 제공 받은 데이터는 출력결과 항목에서 매칭되는 항목에 데이터를 활용할 수 있습니다.



[그림 9] 출력결과 항목
 
이러한 과정들을 거쳐 받은 Open API 데이터는 웹&앱 개발 혹은 연구에서 실시간으로 원하는 검색조건으로 데이터를 받아 활용할 수 있습니다. 또한, 활용 기간은 보통 승인일로부터 24개월간이며, 만료 시 재발급요청을 통하여 활용할 수 있습니다.
 
 


  • 공공데이터 신청

공공데이터포털에서 보유하고 있으나 제공하지 않는 데이터는 공공데이터 신청서를 작성하여 제공 여부 심의 후 제공 받을 수 있습니다.


[그림 10] 공공데이터 신청과정
 
 

[그림 11] 공공데이터 신청서
(https://data.go.kr/tcs/dor/insertDataOfferReqstDocView.do)
 



  • 공공데이터활용 사례

공공데이터 포털의 공공데이터들을 활용한 사례는 어떤 것들이 있을까요? 2가지의 사례를 통해 알아보고자 합니다.

첫 번째로 아파트 실거래 정보를 기반으로 '호갱노노'라는 아파트 시세를 확인할 수 있는 앱이 있습니다. 최근 부동산 가격이 치솟아 내 집 마련의 꿈이 힘들어지고 있습니다. 호갱노노라는 앱은 부동산 실거래가 정보를 공공데이터로 받아 부동산의 실거래가를 제공하여 부동산 구매자가 호갱이 되지 말고 현명한 구매를 하게 하는 목적으로 만들어진 앱입니다.


[그림 12] 호갱노노
 
두 번째로는 COVID-19라는 커다란 재앙 같은 바이러스가 전 세계에 퍼지며 위기를 맞았습니다. 이러한 시기에 맞춰 대학생들이 만들어낸 코로나 확진자의 지역별 분포를 그려준 코로나 맵이라는 앱을 기억하시나요? 이 앱도 공공데이터 포털에서 제공하는 데이터를 활용하여 만든 앱입니다. 이렇게 공공데이터 포털에서 제공하는 공공데이터는 많은 분야에서 유용하게 활용되고 있습니다.
 
 
[그림 13] 코로나맵
공공데이터 포털에 대해 간단한 소개 및 활용법을 적어보았습니다.
데이터는 데이터 분석 및 AI 기술 활용 등 많은 분야에서 활용됨에 따라 매우 중요한 요소로 자리를 잡았으며, 데이터의 양과 질의 승부라 할 만큼 데이터의 필요성이 중요한 시대가 되었습니다. 국가에서 데이터를 제공하는 기회를 통해 사업 및 창업, 또는 연구에서 종류별, 내용별 비즈니스 모델에 활용한다면 더 빠르고 높은 성과를 낼 수 있을 것으로 생각합니다. 또한, 코로나 맵, 호갱노노, 마스크 알림이, 미세먼지 앱 등 이미 많은 사례가 있는 만큼 필요의 맞게 공공데이터 포털을 활용하여 시장에서의 경쟁력을 키워나가길 기원합니다.



작성 : BS실 백인우 주임개발자

Posted by 人Co

2020/11/23 08:52 2020/11/23 08:52
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/364

[Webinar] 제6회 유전체 데이터 분석 교육

Posted by 人Co

2020/11/16 13:12 2020/11/16 13:12
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/362



4차 산업의 핵심 기술인 빅데이터(Big Data)는 인공지능(AI), 사물인터넷(IoT), 증강현실(AR), 가상현실(VR) 등과 함께 필수적인 요소로 평가받고 있습니다. 이러한 빅데이터를 이용하여 크고 복잡한 현상에서 의미 있는 패턴을 찾고, 의사 결정에 필요한 통찰을 얻는 데이터 분석이 중요해지고 있습니다. 데이터 분석에는 크게 두 가지의 접근방법이 있습니다.

먼저 확증적 데이터 분석(CDA: Confirmatory Data Analysis)은 가설을 설정한 후, 수집한 데이터로 가설을 평가하고 추정하는 전통적인 분석입니다. 관측된 형태나 효과의 재현성 평가, 유의성 검정, 신뢰구간 추정 등의 통계적 추론을 하는 분석 방법으로 설문조사나 논문에 관한 내용을 입증하는 데 사용됩니다.

두 번쨰로 탐색적 데이터 분석(EDA: Exploratory Data Analysis)은 원 데이터(Raw data)를 가지고 유연하게 데이터를 탐색하고, 데이터의 특징과 구조로부터 얻은 정보를 바탕으로 통계모형을 만드는 분석방법입니다. 주로 빅데이터 분석에 사용됩니다. 확증적 데이터 분석은 *추론통계로, 탐색적 데이터 분석은 *기술통계로 나누어 볼 수 있습니다.

[Fig.1] 확증적 데이터 분석(CDA)과 탐색적 데이터 분석(EDA)

오늘은 이 중에서 탐색적 데이터 분석에 관하여 이야기해 보고자 합니다.

  • 추론통계 – 수집한 데이터를 이용하여 추론 예측하는 통계 기법으로 신뢰구간 추정, 유의성 검정 기법 등을 이용함
  • 기술통계 – 수집한 데이터를 요약 묘사 설명하는 통계 기법으로 데이터의 대푯값, 분포 등을 이용함




“ '탐색적 데이터 분석(EDA)’은 우리가 존재한다고 믿는 것들은 물론이고 존재하지 않는다고 믿는 것들을 발견하려는 태도, 유연성, 그리고 자발성이다. “ - 존 튜키 (도서 Doing Data Science 중)

탐색적 데이터 분석이란 벨 연구소의 수학자 존 튜키가 제안한 데이터 분석 방법으로 통계적 가설 검정 등에 의존한 기존 통계학으로는 새롭게 나오는 많은 양의 데이터의 핵심 의미를 파악하는 데 어려움이 있다고 생각하여 이를 보완한 탐색적 데이터 분석을 도입했다고 합니다. 데이터를 분석하고 결과를 내는 과정에서 원 데이터에 대한 탐색과 이해를 기본으로 가지는 것이 가장 중요합니다. 이에 따라 탐색적 데이터 분석은 데이터의 분포와 값을 다양한 각도에서 관찰하며 데이터가 표현하는 현상을 더 잘 이해할 수 있도록 도와주고 데이터를 다양한 기준에서 살펴보는 과정을 통해 문제 정의 단계에서 미처 발견하지 못한 다양한 패턴을 발견하고 이를 바탕으로 기존의 가설을 수정하거나 새로운 가설을 추가할 수 있도록 합니다. 데이터에 대한 관찰과 지식이 이후에 통계적 추론이나 예측 모델 구축 시에도 사용되므로 데이터 분석 단계 중 중요한 단계라고 할 수 있습니다. EDA의 목표는 관측된 현상의 원인에 대한 가설을 제시하고, 적절한 통계 도구 및 기법의 선택을 위한 가이드가 되며, 통계 분석의 기초가 될 가정을 평가하고 추가 자료수집을 위한 기반을 제공합니다.



탐색적 데이터 분석은 한 번에 완벽한 결론에 도달하는 것이 아니라 아래와 같은 방법을 반복하여 데이터를 이해하고 탐구하는 과정입니다.

  • (1) 데이터에 대한 질문 & 문제 만들기
    (2) 데이터를 시각화하고, 변환하고, 모델링하여 그 질문 & 문제에 대한 답을 찾아보기
    (3) 찾는 과정에서 배운 것들을 토대로 다시 질문을 다듬고 또 다른 질문 & 문제 만들기

이러한 과정을 기반으로 데이터에서 흥미 있는 패턴이 발견될 때까지, 더 찾는 것이 불가능하다고 판단될 때까지 도표, 그래프 등의 시각화, 요약 통계를 이용하여 전체적인 데이터를 살펴보고 개별 속성의 값을 관찰합니다. 데이터에서 발견되는 이상치를 찾아내 전체 데이터 패턴에 끼치는 영향을 관찰하고, 속성 간의 관계에서 패턴을 발견합니다.

1. 전체적인 데이터 살펴보기

데이터 항목의 개수, 속성 목록, NAN 값, 각 속성이 가지는 데이터형 등을 확인하고, 데이터 가공 과정에서 데이터의 오류나 누락이 없는지 데이터의 head와 tail을 확인합니다. 또한, 데이터를 구성하는 각 속성값이 예측한 범위와 분포를 갖는지 확인합니다.

2. 이상치(Outlier) 분석

먼저 앞서 실습했던 방법으로 개별 데이터를 관찰하여 전체적인 추세와 특이사항을 관찰합니다. 데이터가 많다고 특정 부분만 보게 되면 이상치가 다른 부분에서 나타날 수도 있으므로 앞, 뒤, 무작위로 표본을 추출해서 관찰해야 합니다. 이상치들은 작은 크기의 표본에서는 나타나지 않을 수도 있습니다. 두 번째로는 적절한 요약 통계 지표를 사용합니다. 데이터의 중심을 알기 위해서는 평균, 중앙값, 최빈값을 사용하고, 데이터의 분산도를 알기 위해서는 범위, 분산 등을 이용합니다. 통계 지표를 이용할 때에는 평균과 중앙값의 차이처럼 데이터의 특성에 주의해서 이용해야 합니다. 세 번째로는 시각화를 활용합니다. 시각화를 통해 데이터의 개별 속성에 어떤 통계 지표가 적절한지를 결정합니다. 시각화 방법에는 Histogram, Scatterplot, Boxplot, 시계열 차트 등이 있습니다. 이외에도 기계학습의 K-means 기법, Static based detection, Deviation based method, Distance based Detection 기법을 이용하여 이상치를 발견할 수 있습니다.

3. 속성 간의 관계 분석

속성 간의 관계 분석을 통해 서로 의미 있는 상관관계를 갖는 속성의 조합을 찾아냅니다. 분석에 대상이 되는 속성의 종류에 따라서 분석 방법도 달라져야 합니다. 변수 속성의 종류는 다음과 같습니다.

[Fig.2] 데이터의 종류

먼저 이산형 변수- 이산형 변수의 경우 상관계수를 통해 두 속성 간의 연관성을 나타냅니다. Heatmap이나 Scatterplot을 이용하여 시각화할 수 있습니다. 다음으로 이산형 변수 - 범주형 변수는 카테고리별 통계치를 범주형으로 나누어서 관찰할 수 있고, Box plot, PCA plot 등으로 시각화할 수 있습니다. 마지막으로 범주형 변수- 범주형 변수의 경우에는 각 속성값의 쌍에 해당하는 값의 개수, 분포를 관찰할 수 있고 Piechart, Mosaicplot 등을 이용하여 시각화할 수 있습니다.


사례를 통해 살펴보겠습니다. jupyter notebook 환경 안에서 pandas를 이용하여 진행하였습니다. 분석에 사용한 데이터는 iris data입니다

iris (붓꽃) data는 통계학자인 Fisher가 공개한 데이터로 iris의 3가지 종(setosa, versicolor, virginica)에 대해 꽃받침과 꽃잎의 넓이와 길이를 정리한 데이터입니다. 종별로 50개씩 150개체의 데이터가 있으며 기계학습 중 분류(Classification)에 적합한 데이터입니다. 데이터의 크기가 작고 이해가 쉬운 데이터이고 R이나 Python 머신러닝 패키지인 Scikit-learn 에서 쉽게 접근할 수 있는 데이터이기에 해당 데이터로 분석을 진행해 보았습니다.

1. 데이터 읽어오기

df.to_csv('iris_dataset.csv', index=False)

 

2. 전체적인 데이터 살펴보기

shape, dtype 함수를 통해 데이터 항목의 개수와 type을 알아보겠습니다.

print(df.shape) # 데이터의 행, 열 개수 출력
print(df.dtypes) # 데이터의 타입 출력



[Fig.3] iris 데이터 항목의 갯수, 형식 출력
 

head, tail 함수를 이용해서 앞 5행, 뒤 5행의 데이터를 살펴보도록 하겠습니다.

df.head() # 앞 5행 출력
df.tail() # 뒤 5행 출력


[Fig.4] iris 데이터 head 출력



[Fig.5] iris 데이터 tail 출력
 
duplicate와 drop_duplicate 함수를 이용하여 중복값을 확인하고 삭제해 보겠습니다.
 
df[df.duplicated(keep=False)] # 중복된 열 출력
df = df.drop_duplicates() # 중복된 열 제거
df.shape() #제거된 열 확인
 

[Fig.6] iris 데이터 중복값 출력 및 제거

isna 함수로 Nan 값을 값별로 True, False 형태로 확인하고 열별로 Nan값을 sum 함수로 더해 한 눈에 확인 해 보겠슶니다. dropna 함수로 Nan값을 제거하거나, fillna로 Nan값을 다른 값으로 치환할 수 있습니다.

df.isna() #Nan값이 있는지 출력 True, False 형태로 출력됨
df.isna().sum() # 열별 Nan값을 출력함 
df = df.dropna() #Nan값을 제거 fillna()함수로 Nan값을 치환할 수도 있음
df.shape() #제거된 열 확인 
 

[Fig.7] iris 데이터 Nan값 출력 및 제거
 
 

3. 이상치(Outlier) 분석

describe 함수를 통해 각 컬럼별로 요약 통계 (갯수, 평균, 표준편차, 최솟값, 최댓값과 4분위수)를 수치값으로 확인할 수 있습니다.

df.describe() # 각 컬럼별 요약 통계 지표 출력 


[Fig.8] iris 데이터 셋의 요약 통계 지표
 
Histogram으로는 데이터의 분포를 확인할 수 있습니다. 이를 토대로 어느 부분에 자료가 많이 집중되어있는지와 이상치를 살펴볼 수 있고 데이터의 좌우 대칭성을 설명할 수 있습니다. 주의할 점은 계급 폭을 다르게 하면 해석이 달라질 수 있다는 것입니다.
 

[Fig.9] Histogram
 
Scatterplot 으로 두 번수 간의 방향, 트렌드, 밀집도와 이상치를 확인할 수 있습니다. 또한, 아래와 같이 명목형 변수의 군집별로 색을 다르게 하여 구분할 수도 있습니다.
 

[Fig.10] Scatterplot
 
앞서 describe() 함수로 수치를 확인했다면 boxplot은 그래프로 최솟값, 최댓값, 4분위수와 중앙값, 이상치를 확인할 수 있습니다.
 

[Fig.11] Boxplot
 

4. 속성 간의 관계 분석

상관계수를 통하여 두 속성 간의 연관성을 나타낼 수 있습니다. -1 에 가까우면 음의 상관관계, 0 이면 상관관계가 없고 1은 양의 상관관계를 나타냅니다. 이를 Heatmap으로 시각화하여 확인할 수 있습니다.

[Fig.12] 상관계수 및 Heatmap

Pairplot은 데이터의 모든 컬럼들의 변수의 상관관계를 histogram과 Scatterplot으로 출력합니다. 전체 데이터의 상관관계를 한눈에 볼 수 있습니다.

[Fig.13] Pairplot

위의 boxplot으로는 단변량 변수의 수치를 시각화하여 확인하였다면, 이 변량 변수를 사용하여 상관성을 볼 수도 있습니다.

[Fig.14] Boxplot

PCAplot은 여러 변수의 변량을 주성분(Principal Component, 서로 상관성이 높은 여러 변수의 선형 조합으로 만든 새로운 변수)으로 요약, 축소하는 방법으로 먼저 Screeplot을 이용하여 주성분의 수를 정하고 이를 바탕으로 아래와 같은 PCAplot, Biplot을 그려 분포와 주성분 간의 관계를 확인합니다. 각 주성분이 차지하는 분산의 누적비율을 계산해서 각 주성분이 전체 분산 중 얼마만큼 설명해 주는지를 알 수 있습니다.

[Fig.15] PCAplot


탐색적 데이터를 공부하면서 ‘맛있는 요리’를 만들기 위해서는 가장 먼저 ‘맛있는 음식재료’를 준비해야 하듯이 데이터 분석에서 맛있는 음식재료라고 할 수 있는 EDA가 중요하다는 말이 인상 깊었습니다. 가장 기본적인 원 데이터를 다양한 방면에서 데이터를 관찰하면서 인사이트를 이끌어 낼 수 있다는 것이 EDA의 큰 장점인 것 같습니다. 위의 실습 스크립트도 함께 첨부하니 함께 공부할 수 있으면 좋겠습니다! 이번 블로그를 통해서 탐색적 데이터 분석의 전반적 흐름과 중요성을 알 수 있는 시간이 되었으면 좋겠습니다. 감사합니다.




작성 : AIDX A.I. Lab 박주희 개발자

Posted by 人Co

2020/11/08 16:34 2020/11/08 16:34
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/361