11월 미션 IBM Cloud 관련 기술 포스팅

IBM Cloud에 매우 다양한 기술들이 있습니다.

그 중에 할만한게 뭐 없을까 IBM 블로그를 둘러보다가 …
“공개의료데이터 분석을 통해 데이터 통찰력 향상하기”가 있었습니다.
저번 달에 MAIC에서 주관하는 심박수를 활용하여 수술중 저혈압을 예측하는 대회가 있었는데요 그 때가 떠오르면서 이번엔 어떤 의료 데이터인지 궁금해졌습니다.

그래서 이번 주제는 “Watson Studio for ML”입니다

요약

오피오이드(opioid) 과다 복용에 의한 사망, 처방자 유형, 처방전과 같은 Kagle 데이터를 기반으로 scikit-learn과 Python (IBM Watson Studio)을 사용하여 오피오이드(opioid) 처방을 예측합니다. 이 패턴을 통해 Watson Studio 노트북에서 데이터를 탐색하고, Pixie Dust를 사용해서 여러가지 초기 결과를 시각화 할 수 있습니다. 초기 탐색 후에는 scikit-learn을 사용하여 여러 모델을 훈련하고 오피오이드(opioid) 처방을 가장 정확하게 예측할 수있는 방법을 파악합니다.

WorkFlow

flow

  1. Watson Studio 서비스에 로그인하십시오.
  2. Watson Studio에 데이터 자산으로 데이터를 업로드하십시오.
  3. Watson Studio에서 노트북을 시작하고 이전에 작성한 데이터 자산을 입력하십시오.
  4. Pixie Dust로 데이터 시각화를 생성하십시오.
  5. pandas로 데이터를 탐색하십시오.
  6. scikit-learn으로 기계 학습 모델을 훈련시킵니다.
  7. 예측 성능을 평가하십시오.

Watson Studio to make a New Project

New Project

watson-1

먼저 Watson Studio로 접속하신 후 빨간 네모를 누르시면 새로운 프로젝트를 생성할 수 있습니다.

notice: 블로그에 있는 참조 페이지는 오래되서 지금과 약간 다를 수 있습니다.

watson-2

두 가지 중에서 저는 어떤한 Form도 갖고 있지 않기 때문에 빈 프로젝트를 생성했습니다.

Load Data

data

Asset(자산)카테고리의 우측에 보시면 데이터를 로드할 수 있는 곳이 있습니다.
Drop방식이라 편리해요!

그렇게 추가를 하시면 Asset에 데이터를 확인할 수 있습니다.

asset_data

New Notebook

사실 노트북을 불러오는 방식은 두 가지가 있습니다.

  1. 블로그 내용대로 Github에서 가져온다.
  2. 로컬 ~.ipynb 파일을 로드한다.

저는 두번째 방식을 택했습니다.

new_notebook-1

빨간 네모에 로컬에 있던 test.ipynb를 추가했습니다.
python 설정환경은 여러가지가 있는데 그 중에 필요하신 것을 선택하세요.

마지막에 Create를 누르시면

notebook-1

Kaggle

kaggle-1

이제 데이터를 찾으러 Kaggle에 접속합니다.
Data 탭을 누르시고 검색하시면 바로 나와요!

kaggle_data-1

캐글의 장점!!! 미리 데이터셋이 어떤 컬럼과 변수명으로 되어있는지 심지어 시각화까지 해줍니다

Machine Learning

사실 처음에 Asset에 분명 데이터를 추가했는데 파일 경로를 모르겠어서 매우 당황스러웠습니다…

진짜 !ls를 해도 아무것도 안보이고 막막하던 차에 엄청난 기능을 알게 되었습니다.

load_dataset_in_notebook

우측 상단에 있는 빨간 네모를 클릭하시면 옆에 저렇게 새로운 창이 보입니다.

그리고 Pandas DataFrame을 눌러주시면!!

res

자동으로 Pandas로 데이터를 읽고 .head()까지 해줍니다.
처음에 너무 신기해서 몇 번을 다시 해봤는지 모르겠네요.

이렇게 데이터를 로드했으니 Kaggle Notebook을 참고하여 학습했습니다.

accuracy

Accuracy는 이렇게 나왔고 그 높은 3개를 택해서 plot도 작게 그려봤습니다.
*In sample = train set, Out sample = test set

In Sample

plt1

Out Sample

plt2

후기

처음으로 IBM Cloud를 활용해 기계학습을 해봤습니다. 제가 선택한 python 문제인지는 모르겠습니다만 Colab에서는 얼마나 또 성능이 차이날지 확인은 해보고 싶어집니다.
처음에 NoteBook안에서 파일 경로를 몰라서 엄청 해맸던게 아휴… 그런데 또 그런 꿀기능이 저런 곳에 숨어있었다니 생각지도 못했습니다. 천천히 하나씩 해보면서 어디까지 가능한가 궁금하기도 합니다.

-끝-

References

IBM기술블로그

DATA받는곳(Kaggle)

참고한NoteBook

노트북에서데이터로드및액세스

Loading data from your local system