brunch

You can make anything
by writing

C.S.Lewis

by 허주부 Jan 11. 2019

다시, 복기

패스트캠퍼스 데이터사이언스스쿨 팀프로젝트 후기

2018년 7월 9일의 기록입니다


데이터사이언스 스쿨 8기, 첫 번째 팀프로젝트가 끝났습니다. 패스트캠퍼스 데이터사이언스 스쿨은, 배운 지식을 체득할 수 있도록 2번의 팀 프로젝트와 1번의 개인 프로젝트(가능하다면 그 이상으로 해도 된다)의 기회를 제공합니다. 


이번 팀 프로젝트는 “회귀 분석”에 대해서 배우는 프로젝트였습니다. 회귀 분석(Regression Analysis)이란, “관찰된 연속형 변수들에 대해 두 변수 사이의 모형을 구한 뒤 적합도를 측정해 내는 분석 방법”(위키피디아)입니다. 부동산 가격에 영향을 주는 원인이 무엇인지 알고 싶다고 가정해볼게요. 이때, 회귀 분석은 여러 독립 변수(위치, 학군, 범죄율 등)와 종속 변수(부동산 가격) 간 관계를 고려하여, 부동산 가격에 긍정적 혹은 부정적 영향을 주는 독립 변수(원인)가 무엇인지 가릴 수 있도록 합니다. 회귀분석은 단순하지만 통계학, 데이터 분석의 기초라 할 수 있는 기법이지요.


저는 6월 14일부터 약 3주간 다른 세 명의 팀원과 “Zillow Home Value’s Prediction”라는 프로젝트를 진행했습니다. Zillow는 북미의 온라인 부동산 거래 플랫폼인데, 부동산 가격을 예측하는 Zestimate라는 머신러닝 모델을 서비스하고 있습니다. 우리 팀의 목적은, Zestimate가 예측하는 부동산 가격과 실제 가격의 log 차이, logerror를 구하는 것이었지요.



logerror = log(Zestimate) - log(SalePrice)



결코 쉽지 않은 3주였습니다. EDA(Exploratory Data Analysis), Feature Selection, Modeling, 그리고 발표까지. 예상하지 못한 상황이 종종 발생했고, 그럴 때마다 극복하기 쉽지 않은 한계를 느꼈습니다. 그래서 사실, 프로젝트가 끝난 이후, 프로젝트 관련 자료는 모두 다 덮어놓고 다시 쳐다보고 싶지 않았어요. 그러나 프로젝트의 경험을 온전히 나의 것으로 만들기 위해서는, 매번 프로젝트가 끝났을 때 그러했던 것처럼, 회고를 해야 했습니다. 서론이 길었네요. 다음 내용은 6월 14일부터 7월 7일까지 약 3주간 회귀 분석 프로젝트를 진행하며 적은 회고록입니다.(프로젝트에 대한 더욱 자세한 내용)








# 회고의 목적

1. 데사스 첫 번째 팀 프로젝트. EDA, feature selection, modeling 전 과정을 직접 해볼 수 있었다.

2. 그러나 프로젝트 전 과정을 온전히 내 것으로 소화하기 위해서는 회고의 작업이 필요하다.


# 발표 피드백 (김도형 박사님, 김현규 매니저님)


LIKE

    1. 문서화, 정리, PT가 잘 되어 있다.

    2. 첫 모델의 Performance를 개선하는 작업을 반복적으로, 다양하게 시도했다.

    3. EDA, feature selection, modeling 작업이 유기적으로 이루어졌다. 


WISH

    1. 스케일링을 완전히 하지 못했다. 영향력이 적은 클래스를 따로 묶어 제거하는 작업을 할 필요가 있다.

    2. 캐글 다른 팀 프로젝트와 비교(linear 검색). 더욱 개선할 수 있는 부분이 있었다.

    3. EDA 과정에서, 독립 변수와 종속 변수가 선형 관계를 갖지 않는다는 사실을 직감적으로 인지하고, 다른 방법을 시도할 필요가 있었다.(조금 더 빨리)


# 프로젝트 회고


INSIGHT

    1. EDA를 시작하기 전, Data description은 꼼꼼하게 읽고 궁극적 목적이 무엇인지 충분히 이해하는 작업, 전체 흐름이 어떻게 이루어질지 가늠하는 작업 등 선제 작업이 필요하다. 첫 번째 팀 프로젝트는 선제 작업이 제대로 이루어지지 않았기 때문에, 팀장으로서 각 단계마다 어떤 작업을 수행해야 하는지 등의 의제를 전혀 제시하지 못했다.

    2. 팀장으로서 다른 팀원과 더욱 적극적으로 커뮤니케이션할 필요가 있었다. 팀원이 지금 무엇을 하고 있는지, 어느 부분에서 역량이 뛰어난지, 어떤 요소 때문에 내적 외적으로 갈등하고 있는지 인지하지 못했다. 그래서 다른 팀원이 만족스럽게 프로젝트에 참가할 수 있도록, 나아가 스스로의 잠재력을 최대한 발휘하도록 하지 못했다.

    3.내 생각보다 팀에 기여한 정도가 크지 않았다.(TODO를 제대로 수행하지 않았다) 더 많은 시간을 각 단계 별로 할애해야 했다. 솔직히 이번 프로젝트는 찬민님이 처음부터 끝까지  대부분 방향을 설정하고 기여했다. 

    4.프로젝트 전 과정에서의 선택은 정량적, 정성적 데이터를 기반으로 해야 한다.(data-driven process) 


ACTION ITEM

    1. Zillow 선형회귀 분석 프로젝트를 문서화한다.

    2. EDA, Feature Selection, Modeling 전 과정을 다시 시도하고, 캐글에 제출한다.

    3. 사고 과정, 코드는 어떠했는지 살핀다.








초등학교 때 바둑 선생님은, 계가 - 바둑에서 각자의 점수를 결산하는 것 - 를 마친 이후에도 대국을 복기 - 대국을 찬찬히 되돌아보는 것 - 하기를 권하셨어요. 대학교 은사님도, 글을 더욱 잘 쓰기 위해서는, 글을 쓴 다음에도 퇴고를 게을리하지 말라고 하셨고요. 두 분의 말씀은, 프로젝트가 끝난 이후에도, 그래서 더는 프로젝트에 대해서 생각하고 싶지 않은 지금도, 프로젝트에 대해서 다시금 뜯어보도록 합니다. 이 방법이, 느리지만 가장 확실하기 때문입니다. 지금보다 앞으로 나아가도록 하는.

매거진의 이전글 데이터사이언스 스터디/프로젝트는 어떻게 할까?
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari