모빌리티

머신러닝 연습 문제 몇개

haghiasophia 2018. 11. 16. 21:49

이 문제는 30명의 타이타닉 승선자 명단을 분석한 뒤

추가로 주어지는 10명의 생존 여부를 추정하는 문제였다.

첫 열의 survived가 1이면 생존, 0이면 사망

두번째 열의 pclass는 1이면 1등석, 2이면 2등석, 3이면 3등석

name은 이름, sex는 남성(male)과 여성(female), age는 나이 (여기서 NaN은 데이터가 없는 경우)

sibsp는 함께 탑승한 형제 또는 배우자의 수

parch는 함께 탑승한 부모 또는 자녀의 수

ticket은 티켓 번호, fare는 티켓 요금, cabin은 선실번호

embarked는 탑승한 곳이라고 했다.


평소 하던 대로 엑셀에 데이터를 옮긴 후 피벗과 필터링을 여러 가지로 해보니

1,2등석 여성은 전부 살았었다.

1등석 남성은 80%가 살았었다.

어린 아이도 비교적 많이 살아 남은 편.


머신러닝은 이렇게 저렇게 계산해보는 피벗과 필터링을 프로그램이 대신 알아서 여러번 해본 후 최적점을 찾아 주는 셈이다

그리고 이 문제는 비교적 단순한 편.


다음은 심장질환 문제

55개의 샘플이 주어졌다.

age는 나이, sex는 남자(1)와 여자(0), chest_pain은 가슴통증 유형

blood_pressure는 혈압, serum_cholestoral은 혈청콜레스테롤, fasting_blood_sugar는 공복혈당

electro는 안정 심전도 결과, max_heart_rate는 최대 심동박수, angina는 운동으로 유발된 협심증

st_depression은 휴식 대비 운동시의 심전도상 ST 분절, slope는 주요 vessels의 수

thal은 Thallium heart scan, diagnosis는 심장질환 유무이다.


이 문제는 심장질환에 영향을 미칠 세개의 요인을 골라보는 문제와

심장질환을 찾아낼 인자들을 필요한 만큼 골라내는 문제 두가지였다.


우선, 타이타닉과 달리, 남자/여자도 1과 0으로 컴퓨터가 인지할 수 있게 표시되었다.

그리고, 용어들부터 무슨 말인지 잘 모르겠고, 수치가 무얼 의미하는지는 더더욱 모르겠는 상태.

즉 상식적으로 컴퓨터와 동등한 선상에 놓였다.

단지 수치만 가지고 뭔가를 찾아내야만 하는 상황.

이런 경우 각 분야를 Domain이라고 하던데, 의사나 간호사들이 내용(domain)을 잘 아니까 이쪽은 훨씬 더 이해가 빠를 터.


마찬가지로 엑셀에 옮겨 놓고 피벗, 필터링을 해보는데

열의 갯수가 늘어나고, 숫자가 많다보니 타이타닉 보다는 진도가 잘 안나가던데.


잘 푼 사람은 보니까, 머신러닝 프로그램에 이런 저런 변수를 계속 바꿔가면서 넣어 보고 높은 점수를 찾은 사람이었다.


다음 문제는 전화 판촉 프로모션을 통한 정기예금 가입율

샘플은 30개였지만 항목이 22개나 된다.

나이, 학력, 결혼유무, 대출유무, 이전 판촉 경험, 등등

그리고 이건 성공율이 무척 낮다.

분석에 의거, 프로모션을 제공할 타겟 고객이 정기예금에 가입하거나 가입하지 않거나 하는 경우와

프로모션을 제공했지만 가입하지 않는 경우, 제공 안한 사람이 가입하는 경우로 나누고

그 경우의 기대 손익까지 평가하는 프로그램을 살펴봤었다.


강의를 들으며 들었던 생각은

우선 AI나 머신러닝은 도구라는 거였다.

결국 문제를 파악하고 정의하는 것은 사람이 해야 하는 것.

그런데 나부터도 AI가 머신러닝이 뭐든 다 할 거라는 우려를 했었기에.


또, 머신러닝이 답을 찾아내기 위해서는

어떻게 접근할 지 (문제 파악/정의)에 달려 있지만

더더욱 중요한 것은 데이터가 제대로 존재하느냐 이기도 했다.

쓰레기를 넣으면 쓰레기가 나온다고 표현을 하던데

프로젝트는 90%가 넘게 데이터 가지고 씨름한다고 했다.

이 얘기는 제대로 된 프로젝트는 찾기 힘들다는 것이기도 하다.

또 비용 대비 손익 개념을 도입하면 문이 더 좁아지는 것 같고.


머신러닝 팀은 데이터 엔지니어와 통계전문가(머신러닝전문가), 도메인 전문가로 구성되는데

여기에 책임자를 한명 더 추가한다고 했다.

책임질 사람이 필요하다고. 대부분 성과가 잘 안나오기에. 시간과 비용의 압박하에서 말이다


참고로, 머신러닝은 단순화 하자면 범주(classification), 숫자(regression), 세분화(clutering)으로 볼 수 있어 보였다.


요즘같으면 계산기를 사용하듯, 머신러닝 사용할 날이 곧 올 거 같다는 생각도 든다.



'모빌리티' 카테고리의 다른 글

KT 화재  (0) 2018.12.04
GM 크루즈와 구조조정  (0) 2018.11.28
블랙아웃  (0) 2018.11.13
수소자전거  (0) 2018.10.27
자율주행 임시 운행 허가  (0) 2018.10.09