혹시 데이터 마케팅 강연을 찾으시나요?
그렇다면 이 쪽으로
고객님이 제출해주신 설문조사에 기반하여 다음의 커리큘럼을 추천드립니다.
도움이 필요하신가요? 그렇다면 010-2508-8374(안경민 매니저)으로 연락 주세요!
비전공, 비개발직군 가능
입문반 4주 과정을 오프라인에서 집중해서 듣고, 온라인으로 교육/실습/피드백을 받는 수업입니다. 입문반 수업을 들을 시간적 여유가 부족하거나, 수업 완강 이후에도 언제든지 온라인으로 복습또는 심화 과정을 추가 학습하길 원하는 분들을 위해 준비했습니다.
50% 할인 결제하기비전공, 비개발직군 가능
강남, 강북, 분당 과정 오픈
비전공, 비개발직군을 위한 데이터 사이언스 입문 코스. 캐글 데이터 사이언스 경진 대회의 문제와 데이터를 교재 삼아 실습하고 필수 프로그래밍 툴킷을 배웁니다.
현재 잔여 좌석 5개
50% 할인 결제하기비전공, 비개발직군 가능
비전공, 비개발직군을 위한 프로그래밍 입문 코스입니다. 프로그래밍 언어 파이썬을 활용한 업무 자동화, 데이터 분석, 크롤러 제작 등을 배우며, 최종적으로는 크롤러를 활용한 데이터 수집 및 텍스트 분석, 업무 자동화 봇을 포함, 파이썬으로 거의 모든 분야를 섭렵할 수 있는 개발자가 되는 것을 목표로 합니다.
50% 할인 결제하기입문 과정 이수자 또는 파이썬 프로그래밍 경험자
DS School 입문 과정을 이수한 분, 또는 간단한 파이썬 문법(반복문, 함수, etc)을 배운 분 중에서, 데이터 분석가(Data Analyst)로 이직하거나 취업/전향하는 것에 관심 있는 분들을 대상으로 하는 수업입니다.
40% 할인 결제하기입문 과정 이수자 또는 경력자
프로그래밍과 데이터사이언스의 기초 지식이 있으나, 머신러닝 알고리즘을 전혀 써본 적이 없는 분, 내지는 써보았으니 그 원리를 잘 모르는 분들을 대상으로 합니다.
40% 할인 결제하기입문 과정 이수자 또는 파이썬 프로그래밍 경험자
미션 완료시, 장학금 5만 원 지급
기본적인 프로그래밍 실력을 갖췄지만, 인공지능과 딥러닝에 관한 지식이 전혀 없는 분들을 대상으로 합니다. 특히나 딥러닝을 활용한 자연어처리나 영상처리, 음성인식에 관심이 많은 분을 위한 커리큘럼으로 구성되어 있습니다.
50% 할인 결제하기입문 과정 이수자 또는 경력자
미션 완료시, 장학금 5만 원 지급
심화반을 들을 수 있는 시간적 장소적 여건이 되지 않는 분들을 위해 준비했습니다. 신규 캐글 경진대회에 참여하며, 프로의 기준점인 캐글 경진대회 상위 10% 안에 드는 것을 목표로 합니다.
50% 할인 결제하기전 과정 교육 및 커리어 코스
입문/중급/고급 과정을 8주만에 완주하고, 커리어 코칭 (이력서, 포폴 제작, 기술 인터뷰 준비)을 받아 프로그래머 & 데이터 사이언티스트로써 경력을 시작하도록 돕는 압축 취업 코스.
예약 하기요즘 머신러닝에 흥미를 가진 사람들이 많고 관련된 자료는 더 많은 시대가 되었지만 어떻게 시작해야 좋을지 아는 사람은 많지 않습니다. 강성희님과 함께하면서 그저 머신러닝에 흥미만 있었던 저는 차근차근 무엇을 해야 할지 따라갈 수 있었습니다. 실제로 프로젝트를 수행하면서 배운 것은 무엇과도 바꿀 수 없는 값진 경험이었습니다.
- 유상현 (한양대 컴공 졸업) NC소프트 AI랩 입사
대학생 시절부터 인공지능과 머신러닝에 대한 흥미가 있었으나, 이를 가르쳐주고 실전에 적용할 수 있는 방법을 알려주는 곳은 많지 않았습니다. 그러던 중 강성희 강사님의 수업을 통해 다양한 데이터 분석 및 모델링 노하우를 전수받았고, 이 경험과 가치를 인정해준 카카오브레인에 입사할 수 있었습니다. 이번 수업을 통해 여러분들도 이러한 값진 노하우를 전수받는다면 좋겠습니다.
- 이주진 (연세대 수학과 학사 휴학) 카카오브레인 입사
이 수업을 통해 딥러닝 알고리즘을 이미지 데이터에 적용하는 기초 개념을 잡을 수 있었으며, 요 근래 나오는 최신 논문을 막힘없이 읽을 수 있는 기반 지식을 탄탄하게 갖출 수 있었습니다. 그 덕분에 네이버 이미지 검색팀에 합격할 수 있었고, 현재는 그동안 배운 내용을 활용하여 검색팀에서 딥러닝 검색모델을 구현 및 개발하고 있습니다. 만일 딥러닝에 관심이 많고, 장기적인 관점에서 취업이나 이직을 고려하는 분들에게는 본 강의를 강력하게 추천합니다.
- 김인식 (UNIST 졸업) 네이버 Search / Vision 팀 입사
기존에는 학생 신분으로써 데이터를 받아 분석 해보기가 쉽지 않았습니다. 그러던 중 강사님의 Kaggle 강의를 통해 기초적인 이용법과 함께 관련 코딩 스킬을 접할 수 있는 기회가 되었고, 그를 시작으로 다양한 데이터를 다뤄 보고 뛰어난 분석가들이 공유하는 스크립트를 찾아보며 데이터 분석의 재미를 느낄 수 있게 되었습니다. 그리고 그 경험을 통해 현재 업무 스킬의 기반이 될 수 있었습니다.
- 최일지 (부경대 시스템경영공학과 석사 졸업) 카카오브레인 입사
강성희 멘토님은 소프트웨어마에스트로 과정에서도 훌륭한 멘토로 소문나 있고, 저희 회사에 소개해 주신 수강생들 모두 뛰어난 개발자입니다. 강성희 멘토님의 수업을 수강하는 것은 실력을 빠른 기간에 높일 수 있는 좋은 기회가 될 것이라 생각합니다. 스타트업에서 개발자들을 보내 교육을 시켜도 좋을 것 같습니다. 개발자분들과 스타트업 임원진 분들께 추천드립니다.
데이타사이언스의 필요성은 향후 다양한 비즈니스 분야 전반에 걸쳐 더욱 커질것으로 예상되며, 이로인해 데이터 사이언스는 비즈니스의 중요한 한축이 될것입니다. 제가 담당하는 개발자들을 위해 데이터 사이언스 교육과정을 포함시켰고, 강성희 대표의 실습에 기반한 강의는 학생들에게 만족도가 높았습니다. 이후 수강생 중 한명은 매쉬업엔젤스 포트폴리오팀에 입사하기도 하였습니다. 데이터 사이언스에 관심 있는 분들에게 이 강의를 꼭 권하고 싶습니다.
데이터분석 기술기반의 스타트업에서 CTO로 일하면서 가장 함께하고 싶은 인재는 문제 정의부터 분석 결과 도출하기 까지의 전과정에 필요한 스킬과 경험을 갖추고 있거나 혹은 빠르게 습득하여 합류 즉시 실제 업무에서 함께 일할 수 있는 개발자일 것입니다. 이러한 인재는 스스로의 다양한 현업 경험이나 시행착오로도 성장할 수 있지만, 훌륭한 프로그램의 체계적인 교육을 통해서도 육성될 수 있음을 이미 경험하고 있습니다. 본 강연은 많은 경험을 쌓은 최고의 강사진이 진행하는 만큼, 인공지능/빅데이터 시대에서 가장 중요한 역할을 할 데이터 개발자들이 다수 탄생할 수 있을 것으로 기대합니다.
이제 IT 시대가 아니라 DT(Data Technology) 시대 입니다. 쏟아지는 방대한 데이터에서 의미 있는 정보를 추출하는 능력이야 말고 미래의 핵심 가치가 될 것입니다. 많은 스타트업의 그로스 해킹 전략에 데이터의 분석, 인사이트 도출, 실험 및 결과 데이터를 재 분석하는 루프가 활용됩니다. 강성희님이야 말로 이런 새로운 시대를 준비하는 데 적격입니다. 강의를 통해 새로운 시대를 준비하고 능력을 배우게 됨으로써 한 단계 성장하는 기회가 되실 겁니다.
DS스쿨 강남 강의장 |
![]() ![]()
|
DS스쿨 강북 강의장 |
![]() ![]()
|
DS스쿨 분당 강의장 |
![]() ![]()
|
준비물 |
|
커리큘럼 다운로드
과정 소개 및 캐글(Kaggle) “Titanic: Machine Learning from Disaster” 경진대회 참여
DS School 데이터 사이언스 입문반의 대주제는 “데이터는 생각보다 어렵지 않으며, 누구든지 쉽게 데이터를 다룰 수 있다.”라는 것을 깨닫는 것입니다. 1주차 수업에서는 엑셀을 활용하여 데이터를 분석하는데, 간단한 엑셀 공식과 피벗 테이블(Pivot Table)만으로 데이터를 분석하는 방법을 체험합니다.
이번 수업에서는 데이터 사이언티스트의 온라인 경진대회 캐글(Kaggle)에 도전합니다. 첫 번째 경진대회는 RMS 타이타닉 해상사고의 데이터를 바탕으로, 유사한 해상사고가 발생했을 경우 어떤 승객이 생존하며, 또한 어떤 승객이 사망하는지를 예측하는 경진대회입니다.
매우 어려워 보이지만, 실습에 들어가면 데이터를 분석하는 일이 굉장히 쉽고 재미있다는 것을 알 수 있습니다. 수강생분들은 먼저 엑셀에서 사칙연산을 하는 방법과 제어문(IF)과 같은 간단한 엑셀 공식, 그리고 피벗 테이블(Pivot Table)을 활용하여 데이터를 분석하는 법을 배웁니다. 이후 전통적인 데이터 분석 방법인 1) 가설 수립, 2) 가설 검증, 3) 검증된 가설로 예측. 하는 세 가지 방식을 통해 생존자와 사망자를 예측합니다.
가령 1) "여성인 경우 해상사고에서 탈출 우선순위가 높기 때문에 생존율이 높다.”는 가설을 세웠으면 (가설 수립) 2) 엑셀의 피벗 테이블(Pivot Table)로 여성일 경우의 생존율과 남성일 경우의 생존율을 비교합니다. (가설 검증), 3) 가설 검증이 완료되었으면 제어문(IF)을 활용해 a) 승객이 남성일 경우 사망했다고 예측하고, b) 여성일 경우 생존했다고 예측합니다. (검증된 가설로 예측)
이 예측 결과를 캐글(Kaggle)에 제출하면, 몇 명의 승객을 맞췄는지에 대한 정답률을 알려줍니다.
이후 수강생분들끼리 팀을 짜서 자율 실습에 들어갑니다. 실습 목표는 경진대회의 상위 25% (예측 정확도 약 78.947%)에 도달하는 것입니다. 만일 첫 수업에서 상위 25%에 도달할 수 있다면 데이터 사이언티스트로서의 소질이 있다고 판단할 수 있습니다. 실습이 끝나면 가장 점수가 높은 수강생을 뽑아서 개인 인터뷰와 선물 증정식을 합니다.
자율 실습이 끝나면, 마지막으로 강사가 프로그래밍 시연을 합니다. 프로그램 언어 파이썬(python.org), 데이터 분석 패키지 판다스(Pandas), 데이터 시각화 패키지 시본(Seaborn), 마지막으로 인공지능&머신러닝 알고리즘 중 하나인 의사결정나무(Decision Tree)를 활용해 데이터를 분석하고 그 결과를 캐글에 제출합니다. 목표는 마찬가지로 경진대회 상위 25%에 해당하는 78.947%의 예측 정확도를 달성하는 것입니다.
수업 신청 하러가기 >프로그래밍 언어 파이썬(Python)과 관련 데이터 분석 패키지를 학습하기. 학습이 끝난 후 Titanic: Machine Learning from Disaster 경진대회에 재도전.
2주차 수업에서는 본격적으로 데이터 분석을 배우며, 크게 다음의 툴을 학습합니다.
위 네 개의 툴을 사용하는 법을 배웠다면, 마지막으로 1 ~ 4번을 조합하여 타이타닉 경진대회에 재도전합니다. 이번에는 엑셀이 아닌 파이썬을 활용하여 상위 25% (예측 정확도 78.947%)에 도전하며, 실습이 끝난 뒤에는 강사가 경진대회 상위 5% (예측 정확도 81.818%)에 도달할 수 있는 노하우를 공유합니다.
2주차에 학습할 툴에 대한 상세 설명은 다음과 같습니다.
파이썬
파이썬(Python)은 데이터 분석과 인공지능 분야에서 가장 많이 쓰이는 프로그래밍 언어입니다. 파이썬은 고레벨 프로그래밍 언어(High-Level Programming Language)답게 매우 직관적이면서 사람이 이해하기 쉬우며, 숙련자는 물론 프로그래밍 언어를 처음 접해보는 사람도 단기간에 배울 수 있습니다.
이번 수업에서는 파이썬의 다음 기능을 배울 것입니다.
판다스
판다스(Pandas)는 파이썬에서 자주 쓰이는 데이터 분석 패키지입니다. 판다스에서는 엑셀에서 사용하는 기능을 그대로 쓸 수 있는데, 엑셀에 비해서 1) 대용량 데이터를 다루는 데 적합하며 (엑셀은 데이터의 용량이 100메가만 넘어가면 느려집니다), 2) 엑셀보다 훨씬 복잡한 기능을 코드 몇 줄로 구현할 수 있습니다. 3) 또한 파이썬을 기반으로 동작하기 때문에 데이터 분석 결과를 다양한 분야에 응용할 수 있습니다. (ex: 데이터베이스에 저장하기, 웹페이지에 띄우기, 머신러닝 알고리즘에 집어넣기 등)
이번 수업에서는 판다스의 다음 기능을 배울 것입니다.
싸이킷런 + 의사결정나무
싸이킷런(scikit-learn)은 파이썬에서 인공지능&머신러닝에 관련된 알고리즘을 하나로 묶어놓은 패키지입니다. 싸이킷런을 활용하면 알고리즘을 직접 구현할 필요 없이, 이미 만들어진 구현체를 파이썬으로 가져와 사용하면 됩니다.
이번 수업에서는 싸이킷런의 대표적인 머신러닝 알고리즘인 의사결정나무(Decision Tree)를 활용할 것이며, 크게 다음 기능을 배울 것입니다.
캐글의 새로운 경진대회 Bike Sharing Demand 참여하기.
이번 시간에는 2주차에서 학습한 내용을 바탕으로 새로운 경진대회에 참가합니다. Capital Bikeshare 라는 워싱턴 D.C. 소재의 자전거 대여 스타트업에서 제공한 데이터를 바탕으로, 2011년도와 2012년도의 시간당 자전거 대여량을 예측하는 경진대회에 참석합니다.
기존에 참여한 타이타닉 경진대회와 전혀 달라 보이지만, 우리가 이전까지 배운 지식을 이번 경진대회에서도 그대로 활용할 수 있습니다. 여기에 더불어, 3주차에서는 데이터를 분석하여 그 결과를 머신러닝 알고리즘에 적용하는 탐험적 데이터 분석(Exploratory Data Analysis, 이하 EDA)에 대해서 배웁니다. 정확하게는 다음의 데이터 분석 노하우를 배울 것입니다.
또한 3주차에는 의사결정나무(Decision Tree)의 업그레이드 버전인 랜덤 포레스트(Random Forest)를 학습합니다. 이 알고리즘은 대부분 의사결정나무보다 더 좋은 성능을 보장하는 강력한 알고리즘입니다. 이 알고리즘의 원리와 사용 방법을 배우면 더 정확한 예측 모델을 구현할 수 있습니다.
이번 실습의 최종 목표는 Bike Sharing Demand 경진대회의 상위 25% 안에 드는 것입니다. 2주차에서 배운 내용과 3주차에서 새롭게 배운 내용을 조합하면 어렵지 않게 상위 25%에 도달할 수 있습니다. 실습이 끝나면 마지막으로 강사의 시연을 통해 Bike Sharing Demand 경진대회의 상위 25%, 더 나아가서 10% 후반대에 도달할 수 있는 노하우를 공유합니다.
수업 신청 하러가기 >데이터 시각화(Data Visualization)를 배운 뒤, 다시 한번 Bike Sharing Demand 경진대회에 참석하기.
이번 시간에는 새로운 데이터 분석 방식인 데이터 시각화(Data Visualization)를 배웁니다. 데이터 시각화 패키지는 파이썬에서 가장 많이 사용하는 matplotlib와 Seaborn을 사용하며, 히스토그램(histogram)이나 bar plot, scatter plot 등의 시각화 방법과 그 결과를 해석하는 방법을 배웁니다.
데이터 시각화를 배웠으면 3주차에 이어 다시 한번 Bike Sharing Demand 에 도전합니다. 이번 실습에는 판다스(Pandas)를 활용한 데이터 분석 노하우와 matplotlib, Seaborn을 활용한 데이터 시각화 노하우를 병행합니다. 또한 이외에도 다음의 내용을 추가로 배울 것입니다.
마지막으로 4주차에는 랜덤 포레스트(Random Forest)를 넘어서서, 가장 강력한 머신러닝 알고리즘인 그래디언트 부스팅 트리(Gradient Boosting Tree)를 배웁니다. 이 알고리즘은 1) 구조화된 데이터(Structured Data)에 한하여 언제나 최고의 성능을 보장하며, 2) 현장에서도 자주 쓰이는 매우 실용적인 알고리즘입니다. 이번 수업에서는 가장 뛰어난 그래디언트 부스팅 트리의 구현체인 XGBoost와 LightGBM을 사용합니다.
이번 실습의 최종 목표는 Bike Sharing Demand 경진대회의 상위 10% 안에 드는 것입니다. 일반적으로 캐글 경진대회에서 상위 10% 안에 진입한 사람은 프로페셔널한 데이터 사이언티스트로 간주합니다. (해당 참석자에게는 캐글에서 공인하는 동메달 마크가 부여됩니다) 만일 4주차 수업에서 스스로의 힘으로 상위 10%에 도달할 수 있다면, 데이터 사이언티스트로서 충분한 재능을 보유하고 있다고 판단할 수 있습니다.
실습이 끝나면 마지막으로 강사가 간단한 시연을 통해 Bike Sharing Demand 경진대회의 상위 5% 이내에 진입할 수 있는 노하우를 공유합니다. 캐글에서는 상위 5%에 진입한 사람을 프로 중에서도 특출나게 뛰어난 데이터 사이언티스트로 간주합니다. (해당 참석자에게는 캐글에서 공인하는 은메달 마크가 부여됩니다) 입문반 수업을 통해 경진대회 상위 5%의 노하우를 습득할 수 있다면, 데이터 사이언티스트 되는 데 필요한 지식은 거의 습득했다고 가정해도 무방합니다.
마지막으로 수업이 끝난 뒤, 수강생분들이 앞으로 스스로 공부를 하는 데 도움이 될 자료를 공유합니다. 파이썬, 판다스, 인공지능&머신러닝을 추가로 공부하는 데 도움이 될 서적과 인터넷 자료를 소개하고, 다른 경진대회에 도전하고 싶은 분들을 위해 추천할만한 주요 캐글 경진대회를 소개합니다. 또한, 해당 경진대회 상위권에 도달할 수 있는 다양한 팁을 공유한 뒤 수업을 마무리합니다.
수업 신청 하러가기 >커리큘럼 다운로드
과정 소개 및 테스트 주도 개발을 활용한 웹 페이지 크롤러 구축 시연.
DS School 프로그래밍 입문반에서 처음 다룰 대주제는, “왜 같은 프로그래밍 언어인 파이썬을 쓰는데 잘하는 프로그래머와 그렇지 않은 프로그래머 간의 격차가 생기며, 이 차이가 결국 연봉의 차이로 이어질까?"를 깨닫는 것입니다.
전통적인 소프트웨어 교육 과정에서는 이 부분을 명확하게 설명해주지 않습니다. (그리고 학문적으로 깊게 다루지도 않습니다) 그래서 대부분의 컴퓨터공학과 출신은, 이를 수업이 아니라 중간/기말 과제에서 맨땅에 헤딩하듯이, 그리고 취업 후에도 1~2년간 독학으로 깨우치게 됩니다.
시대는 변하여, 같은 프로그래밍 언어를 사용함에도 성과와 연봉 테이블의 차이가 나는 이유를 궁금해하는 사람들이 생겨나기 시작했고, 이 생산성(Productivity)의 차이를 줄이기 위한 여러 가지 학습 방법론을 제시했습니다. 이 과정에서 나온 가장 효과적인 소프트웨어 개발 방법론이 바로 테스트 주도 개발(TDD)입니다.
그런 의미에서, 이번 수업에서는 테스트 주도 개발(TDD)이 무엇인지, 왜 이 방법론이 개발자의 생산성을 늘려주며, 어떠한 과정을 통해 여러분들을 초심자에서 현업 프로그래머로 바꿔줄 수 있는지 강사가 시연을 통해 보여드립니다. 이번 시연에서는 유명 전자상거래 회사(쿠팡, 지마켓 등) 또는 SNS(인스타그램, 페이스북 등)의 정보를 자동으로 수집하는 웹 크롤러를 TDD로 구현해볼 생각입니다. 이 시연에서 여러분들에게 보여드리고 싶은 부분은 다음과 같습니다.
이 시연을 전부 보게 되면, 파이썬과 TDD의 기본만 배우면 누구나 프로그래밍으로 크롤러를 구현할 수 있다는 사실을 깨닫게 될 것입니다. 그리고 이를 배우는 앞으로의 3주간의 과정에 대해서 자세히 설명을 드린 후, 수업을 마무리합니다.
수업 신청 하러가기 >2주차 수업에서는 모든 프로그래밍의 기본이 되는 프로그래밍 언어에 대해 배웁니다. 수업에서는 가장 현대적이고 대중적인 프로그래밍 언어 중 하나인 파이썬(Python)에 대해 배울 것이며, 간단한 문법과 원리를 배운 뒤 바로 파이썬을 실생활에 응용할 수 있는 간단한 문제를 풀어봅니다.
이번 수업에서 중점적으로 다루고 싶은 내용은 다음과 같습니다.
마지막으로 프로그래밍 문법을 복습하고 이를 실생활에 응용할 수 있는 간단한 프로그래밍 과제를 함께 풀어봅니다. 이번 과제에서는 수강생에게 상품 데이터와 구매 데이터가 주어졌다는 가정하에, 고객의 다수의 상품을 구매했을 때 할인 정보와 기타 혜택을 계산한 최종 매출을 자동으로 계산하는 프로그램을 만들 것입니다. (그리고 이를 엑셀에 자동으로 집어넣는 법까지 알려드립니다) 이 과정에서 여러분들이 배울 수 있는 내용은 다음과 같습니다.
이 과제를 전부 구현하였으면, 마지막으로 이 계산 결과를 엑셀에 자동으로 집어넣는 부분까지 구현하고 수업을 마무리합니다.
수업 신청 하러가기 >2000년대 이후로 소프트웨어 개발의 난이도는 현격히 낮아지고 있습니다. 그러면서 자연스럽게 프로그래밍 언어는 대중화되고, 동시에 하나의 프로그래밍 언어가 많은 기능을 포함하기 시작했습니다.
그렇기에 요즘은 프로그래머에게 하나의 분야(ex: 웹, 모바일 등)가 아닌, 여러 분야를 담당하는 개발자가 되기를 기대하는 시대가 오고 있습니다.
하지만 아무리 뛰어난 프로그래머라도 파이썬이라는 방대한 프로그래밍 언어에 존재하는 모든 기능을 배우는 것은 불가능합니다. 그렇다면 개발자는 어떻게 여러 분야를 동시에 개발할 수 있을까요? 방법은 간단한데, 아직 배우지 않은 분야에 대한 문서와 튜토리얼을 빠르게 읽고 습득하는 능력을 갖추고 있기 때문입니다.
이번 수업에서는 2주차에서 배운 내용을 바탕으로, 지금까지 내용이 아닌 새로운 기능을 스스로 배우기 위해서는 어떤 게 필요한지 살펴보겠습니다. 3주차의 주제는 텍스트 처리입니다. 주어진 텍스트 데이터를 다루되, 이를 1, 2주차 수업에서 배우지 않았음에도 스스로 빠르게 자료를 찾아 배우는 법을 공부합니다.
이를 위해서 주어진 신문 기사를 바탕으로, 특정 기사에 담겨있는 텍스트를 분석하는 방법을 배웁니다. 가령 신문 기사에 특정 키워드만 담긴 게시물만 검색하거나, 키워드 간의 중요도를 바탕으로 신문 기사의 우선순위를 산정하는 것도 배울 것입니다. 이후 해당 신문 기사를 작성한 기자분의 이메일로 PR 자료를 전송하는 이메일 자동 전송 프로그램까지 구축할 것입니다.
이번 수업에서 여러분들에게 알려드리고자 하는 내용은 다음과 같습니다.
마지막 주차는 지금까지 배운 내용을 활용하여, 강사나 조교의 도움을 최대한 받지 않고 스스로 웹페이지에서 정보를 읽어오는 크롤러 시스템을 만들어보겠습니다. 이번에는 SNS 페이지(ex: 트위터, 페이스북, 인스타그램)에서 정보를 읽어와서 엑셀로 저장하는 법을 배우겠습니다.
이번 수업에서 배우고자 하는 내용은 다음과 같습니다.
또한 파이썬 기능 외적으로도 다음의 습관을 쌓는 법을 배울 것입니다.
크롤러를 다 만들었다면, 이 크롤러를 응용해서 SNS에 게시글을 올리는 일명 봇(bot)을 구현하는 방법까지 배우고 수업을 마무리합니다.
수업을 마무리하면, 마지막으로 앞으로 수강생분들이 스스로 프로그래밍을 공부하는데 도움이 되는 자료를 공유합니다. 파이썬의 다양한 추가 기능부터, 크롤러의 추가 기능을 만들때 고려해야 하는 사항. 기타 프로그래밍으로 만들 수 있는 다양한 기능(웹 개발, 이미지 처리, 데이터베이스 접근, 데이터분석 시각화 및 머신러닝 등)을 스스로 공부할 수 있는 추가 자료를 제공해드립니다.
수업 신청 하러가기 >커리큘럼 다운로드
첫 수업에서는 데이터 분석의 기본을 배웁니다. 데이터 분석(Data Analytics)의 의미와 역할, 데이터 분석을 통해 얻을 수 있는 것을 배운 뒤, 파이썬의 데이터 분석 패키지 판다스(Pandas)를 학습합니다.
판다스(Pandas)를 사용하면 대용량의 데이터를 효율적으로 분석할 수 있고, 복잡한 분석도 파이썬을 활용해 간단하게 처리할 수 있습니다. 수업에서는 판다스의 가장 기본적인 데이터 형식인 데이터프레임(DataFrame)의 사용법부터, 데이터에서 행렬을 가져오고, 색인하고, 정렬하고, 잘못된 데이터를 정리하는 법 등을 배웁니다.
판다스(Pandas)를 배웠으면, 이번에는 프리랜서 오픈마켓 서비스 크몽(Kmong)의 데이터를 가져와서 정리하는 데이터 클리닝(Data Cleaning)을 진행한 뒤, 다음의 질문에 대해 데이터에 기반한 답을 제시합니다.
두 번째 수업에서는 판다스(Pandas)의 심화 기능을 다룹니다. 데이터를 정렬하거나, 그룹화하는 방법 등을 배우고, 피벗 테이블(pivot table)을 활용해 데이터를 통계분석 하는 노하우 등도 배웁니다. 마지막으로 여러 개로 나누어진 데이터를 merge, join, concat 등의 기능을 활용해 하나로 합쳐서 분석하는 노하우도 다룹니다
판다스의 심화 기능을 모두 배웠으면, 이번에는 헬스케어 스타트업 눔(Noom)의 데이터를 활용해 분석을 시작합니다. 먼저 잘못된 회원 정보(몸무게가 너무 높거나, 키가 너무 작거나)를 정리하는 데이터 클리닝(Data Cleaning)을 진행한 뒤, 다음의 질문에 대해 데이터에 기반한 답을 제시합니다.
세 번째 수업에서는 데이터를 저장하고 처리하는 전문 프로그램인 데이터베이스(Database), 그리고 이 데이터베이스에서 데이터를 가져올 수 있는 전용 프로그래밍 언어인 SQL(Structured Query Language)에 대해 집중적으로 배웁니다.
가장 기본적인 SQL 문법인 SELECT를 통해 데이터를 가져오는 법 부터 시작해, 정렬(ORDER BY), 색인(WHERE) 등을 포함한 응용도 함께 배웁니다. 또한 여러 개의 데이터를 SQL를 활용해 하나로 합치는 JOIN에 대해서도 집중적으로 다룰 것입니다.
SQL을 다루는 법을 배웠으면, 이번에는 데이터사이언스 교육 스타트업 DS School의 마케팅 데이터와 결제 데이터를 분석합니다. 분석 목표는 어느 마케팅 채널이 가장 효율적이며, 반대로 어느 마케팅 채널이 가장 효율적이지 않은가? 입니다. 효율적인 마케팅 채널이 있다면 해당 채널에 마케팅 예산을 집중하고, 반면에 효율적이지 않은 채널이 있다면 해당 마케팅 채널에 집행한 예산을 줄일 수 있습니다. 마케팅 효율에 대한 구체적인 질문은 다음과 같습니다.
네 번째 수업에서는 앞서 배운 판다스와 SQL 노하우와 더불어, 데이터를 시각화한 뒤 이 결과를 바탕으로 결론을 도출하는 방법을 배웁니다.
데이터 시각화는 주어진 데이터를 직관적으로 표현할 수 있다는 장점이 있으며, 그렇기 때문에 분석 결과를 다른 사람에게 이해시키고 설득할 수 있도록 도와줍니다. 하지만 효과적이고 직관적인 데이터 시각화를 위해서는, 이를 위한 적절한 시각화 그래프나 도표를 사용해야 합니다.
이번 수업에서는 파이썬의 데이터 시각화 패키지인 seaborn이나 matplotlib등을 활용하여 데이터를 분석하고 시각화 할 수 있는 방법을 배웁니다. 이 방법을 활용하면 파이썬과 판다스, 쥬피터 노트북으로 직관적이고 편리한 시각화 대시보드를 구현할 수 있습니다.
데이터 시각화를 배웠다면, 다음으로는 국내 최대의 여성 의류 쇼핑몰 플랫폼 지그재그(ZIGZAG)의 고객 행동 패턴을 분석합니다. 이번 목표는 사용자의 액티비티를 바탕으로 고객의 니즈나 주요 여성 의류 쇼핑몰들의 특징을 분석하는 것입니다. 또한 이번 수업에서는 데이터 분석가를 위한 분석뿐만 아니라, 기획자, 마케터, 내지는 팀 내의 의사결정권자에게 데이터를 직관적으로 이해시킬 수 있는 시각화 방법을 배울 것입니다. 구체적인 분석은 다음과 같습니다.
모든 수업이 모두 끝나면, 여태까지 분석한 컨텐츠 외의 추가 과제가 수강생들에게 제공될 것입니다.
추가 과제는 1) 지그재그 2) 크몽 데이터를 활용한 추가 과제가 주어집니다. 만일 데이터분석가로 취업하거나 이직하길 원하는 분들이 있다면, 해당 과제를 푼 뒤 이력서와 함께 제출하면 관련 자료가 각각의 스타트업으로 전달됩니다.
전달 후 스타트업 담당자분의 검토를 거쳐, 데이터분석가로서 활동할 수 있는 충분한 소질이 있다고 판단될 경우 본격적으로 면접 진행 절차를 밟게 될 것입니다.
수업 신청 하러가기 >커리큘럼 다운로드
머신러닝의 기본 개념에 대한 설명, 의사결정나무(Decision Tree)의 알고리즘의 이론과 실제 구현을 해보기
첫 번째 수업에서는 머신러닝 알고리즘에 대한 기본적인 설명부터 시작합니다. 머신러닝의 기본 개념인 지도학습(Supervised Learning)과 비지도학습(Unsupervised Learning)에 대해 살펴보고, 그 차이점과 장단점에 대해 살펴봅니다. 또한 데이터셋마다 가장 효과를 낼 수 있는 알고리즘에 대해 살펴보며, 주로 구조화된 데이터셋(Structured Dataset)과 비구조화된 데이터셋(Unstructured Dataset)을 중심으로 살펴봅니다.
이후 첫 번째 머신러닝 알고리즘으로, 가장 기초적인 알고리즘 중 하나인 의사결정나무(Decision Tree)에 대해 살펴봅니다. 의사결정나무의 기본적인 동작 방식과, 의사결정나무 알고리즘의 핵심이 되는 지니 불순도(Gini Impurity)에 대해서 다룹니다. 이후 프로그래밍 언어 파이썬을 통해 의사결정나무를 직접 작성하고 실행해봅니다.
수업 신청 하러가기 >앙상블(Ensemble) 알고리즘을 통해 의사결정나무의 성능을 업그레이드하기
2주 차에서는 여러 개의 머신러닝 모델을 섞어서 성능을 끌어올리는 앙상블(Ensemble) 알고리즘에 대해 살펴봅니다. 가장 유명한 앙상블 알고리즘인 배깅(Bagging)과 부스팅(Boosting), 그리고 부스팅의 업그레이드 버전인 그래디언트 부스팅(Gradient Boosting)에 대해서 살펴보고, 이 앙상블 알고리즘 간의 차이점과 장단점을 살펴봅니다.
이후 이 앙상블 알고리즘을 의사결정나무(Decision Tree) 알고리즘에 적용합니다. 먼저 의사결정나무에 배깅(Bagging) 알고리즘을 적용한 랜덤 포레스트(Random Forest)에 대해 살펴보고, 마찬가지로 그래디언트 부스팅(Gradient Boosting) 알고리즘을 적용한 그래디언트 부스팅 머신(Gradient Boosting Machine)을 살펴봅니다. 이후 프로그래밍 언어 파이썬을 통해 이 알고리즘들을 직접 작성하고 실행해봅니다.
수업 신청 하러가기 >가장 강력한 그래디언트 부스팅 머신(Gradient Boosting Machine) 구현체인 XGBoost, LightGBM, CatBoost를 살펴보고 이 알고리즘을 튜닝하는 방법을 배우기
3주 차에서는 머신러닝을 실용적인 관점에서 접근합니다. 먼저 그래디언트 부스팅 머신(Gradient Boosting Machine)을 사용하기 쉽도록 구현한 세 가지 파이썬 패키지(XGBoost, LightGBM, CatBoost)를 살펴본 뒤 이 패키지들의 장단점에 대해 살펴봅니다. 또한 왜 기존의 그래디언트 부스팅 머신 패키지(ex: scikit-learn)에 비해 XGBoost, LightGBM, CatBoost이 더 성능이 좋은지도 살펴봅니다.
이후 그래디언트 부스팅 머신(Gradient Boosting Machine)의 성능을 튜닝할 수 있는 하이퍼패러미터(Hyperparameter)에 대해 다룹니다. 가장 중요한 하이퍼패러미터들(ex: 트리의 깊이, 갯수 등)과 이 역할, 각각의 튜닝 방식에 대해 살펴보고, 마지막으로 모든 하이퍼패러미터를 동시에 튜닝하는 방법(ex: Grid Search, Random Search)에 대해 살펴봅니다.
수업 신청 하러가기 >지금까지 배운 지식을 총동원하여, 데이터 사이언스 경진대회 캐글(Kaggle)에 참여하여 상위권 성적을 노리기.
마지막 4주 차에는 그래디언트 부스팅 머신(Gradient Boosting Machine)을 실전에 적용해봅니다. 데이터 사이언티스트들이 참여하는 온라인 경진대회 캐글(Kaggle)에 도전하며, 주어진 정보를 활용해 전자상거래(ex: 쿠팡, 11번가) 서비스의 상품을 분류하는 Otto Group Product Classification Challenge에 참여합니다.
이 경진대회에서는 데이터를 분석하는 스킬도 중요하지만, 그보다 머신러닝 알고리즘에 대한 이해와 하이퍼패러미터 튜닝 방법을 숙지하는 것이 더 중요합니다. 이번 경진대회에서의 목표 등수는 상위 10%입니다. 보통 캐글에서는 상위 10% 안에 든 참석자를 현장에서 당장 일할 수 있는 실력을 갖추었다고 평가하는데, 만일 스스로의 힘으로 상위 10% 안에 들 수 있다면 수업을 충분히 따라왔다고 볼 수 있고, 머신러닝에 관해서는 당장 즉시 전력으로 현장에 투입될 수 있는 실력을 갖췄다고 볼 수 있습니다.
수업 신청 하러가기 >커리큘럼 다운로드
첫 번째 수업에서는 딥러닝 알고리즘에 대한 기본적인 설명부터 시작합니다. 머신러닝과 딥러닝의 역사, 딥러닝이 본격적으로 부흥하기 시작한 2010년도 이후의 발전상황, 그리고 왜 딥러닝 알고리즘의 데이터 사이언스의 대세가 되었는지 집중적으로 다뤄봅니다. 이번 수업의 주요 주제는 다음과 같습니다.
두 번째 수업에서는 딥러닝 알고리즘의 가장 기본이 되는 퍼셉트론(Perceptron) 알고리즘에 대해 알아봅니다. 퍼셉트론에 대한 개념과, 이 알고리즘의 핵심이 되는 몇몇 알고리즘들(Gradient Descent, MSE Loss)을 살펴봅니다. 마지막으로 보스턴의 부동산 관련 정보를 데이터로 정리한 Boston housing dataset 을 활용해 부동산의 집값을 예측하는 알고리즘을 퍼셉트론으로 구현합니다.
세 번째 수업에서는 딥러닝 알고리즘을 이해하고 구현하는데 꼭 알아야 하는 개념인 벡터화(Vectorization)를 중점적으로 살펴봅니다. 벡터화의 기본이 되는 선형대수(Linear Algebra)를 간단히 살펴본 뒤, 파이썬으로 이 벡터화를 쉽게 구현할 수 있는 패키지는 넘파이(Numpy)에 대해 살펴볼 것입니다. 마지막으로 저번 수업에서 푼 보스턴 집값 예측 과제를 벡터화(Vectorization)를 통해서 푸는 법을 배웁니다.
네 번째 수업에서는 퍼셉트론을 회귀(Regression) 문제가 아닌 분류(Classification) 문제에 사용할 수 있는 방법을 살펴봅니다. 기존에 배운 퍼셉트론을 분류 문제에 적용하기 어려운 이유와, 이를 해결하기 위해 퍼셉트론 알고리즘을 수정하는 방법을 알아봅니다. 마지막으로 미국의 우편번호를 손글씨 이미지로 저장한 MNIST데이터셋을 활용해, 아무런 전처리도 거치지 않은 채 손글씨 이미지를 인식하고 0~9사이의 우편번호로 변환하는 이미지 인식(Image Recognition) 알고리즘을 퍼셉트론을 활용해 구현합니다.
다섯 번째 문제에서는 계산 그래프(Computation Graph)라는 개념에 대해서 알아봅니다. 계산 그래프는 기존에 수기로 했던 딥러닝의 편미분 유도를 아주 작은 단위로 쪼개서 푸는 개념이라고 보시면 됩니다. 이렇게 풀면 1) 편미분 유도가 이전보다 훨씬 간결해지고, 2) 계산 그래프를 확장하면 편미분을 사람이 하지 않고 프로그램 차원에서 자동화 할 수 있습니다. 이번 수업에서 다룰 내용은 다음과 같습니다.
기존에 배웠던 퍼셉트론(Perceptron)은 강력한 알고리즘이지만, 몇 가지 문제점을 갖고 있습니다. 이번 시간에는 퍼셉트론이 가지고 있는 가장 큰 문제점 중 하나인 XOR Problem에 대해 살펴보고, 이를 해결할 수 있는 다양한 방법, 그리고 이 방법을 활용해 퍼셉트론에 은닉층(Hidden Layer)이라는 개념을 도입해서 성능을 획기적으로 개선한 다층 퍼셉트론(Multi Layer Perceptron)에 대해서 살펴봅니다. 마지막으로 앞서 다룬 우편번호 손글씨 이미지(MNIST)를 인식하는 퍼셉트론 알고리즘을 다층 퍼셉트론으로 업그레이드 해보겠습니다.
지금까지 퍼셉트론, 다층 퍼셉트론등 많은 알고리즘을 다뤘지만, 현업에서, 그리고 실제 연구에서 이 알고리즘을 사용하기 위해서는 알고리즘의 성능을 정량적으로 측정하고 그 성능을 분석하는게 중요합니다. 이번 시간에는 구현한 딥러닝 모델의 성능을 평가하는 다양한 방법에 대해 살펴볼 것입니다. 마지막으로는 우편번호 손글씨 이미지(MNIST)로 학습한 다층 퍼셉트론의 성능을 평가하고, 이 모델을 활용하여 데이터 사이언스 경진대회 캐글(Kaggle, https://kaggle.com)에 도전하는 시간을 가져볼 것입니다.
이번 시간부터는 기존에 배운 딥러닝 알고리즘을 현실 세계에 존재하는 다양한 상황에 응용하는 법을 배울 것입니다. 가장 먼저 배울 내용은 단어(Word)를 일종의 수치(정확히는 벡터)로 변환해주는 단어 임베딩(Word Embedding)을 살펴볼 것입니다.
현실세계에서 단어나 문장 데이터로 다룰때는, 그 양과 종류가 매우 많기 때문에 모든 단어를 제대로 다루는 것은 어렵습니다. 그 때문에 데이터 사이언스의 세계에서는 단어를 종류별로 전부 다루지 않고 N차원(ex: 300차원)의 벡터로 변환해주는 일명 단어 임베딩(Word Embedding) 기술에 대한 연구를 많이 진행하고 있습니다. 이번 시간에는 단어 인베딩의 기본적인 개념과, 가장 유명한 단어 임베딩 알고리즘 중 하나인 Word2Vec과 그 응용에 대해 살펴볼 것입니다.
딥러닝 알고리즘은 단어 임베딩 외에도, 주식 시장(Stock Market)에서의 주가 변동 상황과 같은 시계열(Time Series) 데이터, 그리고 영어를 한국어로 번역하는 등의 기계 번역(Machine Translation)등에서도 활용할 수 있습니다. 이 때 가장 많이 사용하는 딥러닝 알고리즘이 바로 순환 신경망(Recurrent Neural Network, 이하 RNN)입니다.
이번 시간에는 순환 신경망의 기본적인 개념과 그 구현 방법에 대해서 살펴보겠습니다. 또한 순환 신경망을 구현하면서 사전에 알아두면 좋은 여러 이론들(LSTM, GRU, etc)에 대해서 살펴볼 것이며, 마지막으로 순환신경망을 활용해 간단한 기계 번역(Machine Translation) 알고리즘을 학습해 볼 것입니다.
다음으로 다룰 알고리즘은 합성곱 신경망(Convolutional Neural Network, 이하 CNN)입니다. 합성곱 신경망은 이미지는 물론, 음성이나 자연어 처리(텍스트)에서도 많이 쓰이는 가장 강력한 딥러닝 알고리즘 중 하나로서, 주로 이미지 인식(Image Recognition)이나 이미지 위치 탐색(Image Detection)은 물론, 음성이나 오디오의 스펙트로그램(spectrogram)을 인식하거나, 텍스트에서 문장을 분류(Sentence Classification)하거나 감정을 분석(sentiment analysis)하는 일에 쓰이곤 합니다. 이번 시간에는 이 합성곱 신경망의 기본적인 개념과 그 구현 방법에 대해 살펴보도록 하겠습니다.
이번 시간부터는 지금까지 배운 알고리즘을 실제 현업에 적용하거나 연구에 직접적으로 활용하기 위한 기술을 배울 것입니다. 가장 먼저 배울 것은 파이썬의 딥러닝 전용 프레임워크인 텐서플로우(Tensorflow) 입니다.
텐서플로우는 구글에서 공개한 딥러닝 전용의 파이썬 오픈소스 패키지로써, 현존하는 대부분의 딥러닝 알고리즘을 쉽게 구현할 수 있으며, 이를 현업에 적용할 수 있는 수준의 실행속도와 안정성을 갖추고 있습니다. 이번 수업에서 다루고자 하는 텐서플로우의 기능은 다음과 같습니다.
텐서플로우에 이어서, 이번에는 페이스북에서 나온 딥러닝 전용의 파이썬 오픈소스 프레임워크 파이토치(PyTorch)에 대해서 살펴보겠습니다. 파이토치는 텐서플로우와 거의 동일한 역할을 하는 딥러닝 프레임워크로서, 텐서플로우에 비해서 여러가지 장단점을 갖추고 있습니다. 이번 수업에서 다루고자 하는 파이토치의 기능은 다음과 같습니다.
지금까지 딥러닝, 정확히는 인공신경망(Artificial Neural Network) 알고리즘을 이해하고 활용하기 위한 가장 기본적인 개념을 배우고 이를 실습해보았습니다. 하지만 딥러닝의 세계는 아직 깊고 넓으며, 지금 이 순간에도 끊임없이 발전하고 있습니다. 이번 시간에는 딥러닝 알고리즘을 더 깊게 이해하기 위해서 추가적으로 알아둬야 할 것들, 그리고 딥러닝을 실제 활용하는 여러가지 분야와 관련 자료에 대해서 살펴볼 것입니다.
커리큘럼 다운로드
첫 수업에서는 데이터베이스(Database)가 어떤 것인지에 대한 기본 개념을 먼저 배웁니다. MySQL, MSSQL, PostgreSQL, Oracle 등 다양한 데이터베이스 관리 시스템(Relational Database Management System, RDBMS)의 개념에 대해 배우며, 이 데이터베이스에 관련되어있는 구성원들(데이터베이스 관리자, 데이터 분석가, 운영팀, 그로쓰해커 등)의 이해관계와 그 역할에 대해 배웁니다.
이후 데이터베이스에서 데이터를 가져올 수 있는 Structured Query Language, 이하 SQL이라는 기본 개념에 대해서 배웁니다. 가장 기초적인 SQL 문법에서부터, SQL을 배우는 것이 왜 상대적으로 다른 언어를 배우는 것에 비해서 어려운지 등에 대해 배웁니다. 이후 주요 SQL 문법에 대해 배워봅니다.
이후 지금까지 배운 내용으로 본격적인 실습을 해봅니다. 첫 실습은 페이스북(Facebook)의 사용자 정보를 활용하여, 특정 조건(ex: 봇으로 간주할 수 있는 사용자)에 해당하는 정보를 가져오는 과제를 풉니다. 이 과제를 SQL문을 활용하여 풀것이며, 1시간 정도의 실습을 진행하고, 실습에서 마저 풀지 못한 부분은 과제로 제공합니다. 과제를 모두 푼 뒤에는 강사나 조교가 온라인을 통해 피드백을 해드립니다.
수업 신청 하러가기 >두 번째 수업에서는 SQL 문법의 응용을 들어갑니다. 1주차에 배운 내용에서 조금 더 알아두면 좋은 문법과, 현장에서 가장 많이 발생하는 상황인, 여러 개의 데이터베이스 테이블을 하나로 합쳐서 분석하는 방법 등을 배웁니다. 이번 시간에 배울 주요 SQL 문법은 다음과 같습니다.
이후 지금까지 배운 내용을 바탕으로 본격적으로 실습에 들어갑니다. 2주차에서는 전자상거래 서비스 아마존(Amazon)에 있는 전체 사용자 정보, 상품, 리뷰에서 약 50만개를 추출하여 분석하는 과제를 실습합니다. 실제 전자상거래 서비스에서 일어날 수 있는 다양한 상황 (ex: 특정 상품의 평균 리뷰 점수, 이번 달 VIP 사용자 리스트업 등)에서 사용할 수 있는 SQL문을 작성하는 실습을 1시간 정도 진행합니다. 실습에서 다 풀지 못한 부분은 과제로 제공하며, 과제를 푼 뒤에는 온라인으로 제출하면 강사나 조교가 피드백을 해드립니다.
수업 신청 하러가기 >마지막 수업에서는 비전공자라도 SQL을 쉽게 작성할 수 있는, 일명 쿼리 제너레이터(Query Generator)를 본격적으로 배워봅니다. SQL은 다른 프로그래밍 언어(ex: 파이썬)에 비해 굉장히 예전에 만들어졌기 때문에 다소 체계적이지 않습니다. 그래서 1) SQL 문법을 잘 작성했을때는 큰 문제가 없지만, 잘 작성하지 못했을 경우 구체적으로 문법에 어떤 문제가 있는지 잘 설명해주지 않으며, 2) 구체적으로 어떤 부분에 문제가 발생했는지도 잘 알려주지 않습니다.
그래서 SQL을 편하게 짜고 싶은 분들은, SQL을 조금 더 체계적으로 작성할 수 있는 일명 쿼리 제너레이터(Query Generator)라는 것을 애용합니다. 이번 수업에서는 쿼리 제너레이터에서 구체적으로 다음의 부분을 집중적으로 배울 것입니다.
마지막으로 지금까지 배운 내용을 바탕으로 실습을 해보겠습니다. 이번에 다루고 싶은 데이터는 에어비엔비(Airbnb)의 호스트, 공실, 리뷰 데이터를 활용하여, 한 명의 비즈니스 분석가(Business Analyst)로서 살펴봐야 하는 주요 지표를 뽑아내는 법을 배울 것입니다. 마찬가지로 1시간 정도의 실습을 진행하며, 실습에서 다 풀지 못한 부분은 온라인으로 푼 뒤 제출하면 강사나 조교가 피드백을 해드립니다.
수업 신청 하러가기 >뛰어난 데이터 사이언티스트일수록 데이터를 완벽하게 이해할 때 까지 끊임없이 분석합니다. 첫 번째 주에는 예측 모델의 성능을 무리하게 끌어올리려 노력하기 보단, 데이터 분석과 시각화를 통해 데이터를 천천히 이해하려는 과정을 거칩니다. 파이썬의 데이터분석 패키지인 판다스(Pandas)와, 데이터시각화 패키지인 matplotlib, seaborn을 활용하여, 크게 다음의 질문에 대한 답변을 스스로 찾는 과정을 거칩니다.
2주차에서는 샌프란시스코 경진대회를 더 깊게 분석합니다. 구체적으로는 다음의 내용을 중점적으로 다룰 것입니다.
위 내용을 바탕으로, 우리가 구현할 수 있는 가장 심플한 예측 모델을 구현합니다. 머신러닝 모델은 랜덤 포레스트(Random Forest), 그리고 랜덤 포레스트의 업그레이드 버전인 그래디언트 부스팅 머신(Gradient Boosting Machine)을 사용할 것이며, 가장 강력한 그래디언트 부스팅 머신의 구현체인 LightGBM을 사용할 것입니다.
이번 2주차의 목표는 1주차에 분석한 내용을 바탕으로 머신러닝 모델의 성능을 최대한 끌어올리는 것입니다. 단순히 보유한 데이터를 머신러닝 모델에 적용하는 것을 넘어서서, 보유한 데이터를 빼거나(Feature Selection), 고치거나 추가하는(Feature Extraction) 행위를 통해 머신러닝을 더 정교하게 만드는 과정을 거칩니다.
수업 신청 하러가기 >3주차에서는 분석과 시각화를 통해 데이터를 더 깊게 들어갑니다. 크게 다음의 내용을 중점적으로 다룰 것입니다.
위 분석 내용을 바탕으로 예측 모델을 개선합니다. 모델에 도움이 되는 새로운 정보를 추가하거나, 정 반대로 도움이 되지 않는 필요 없는 정보를 제거하고, 사용중인 머신러닝 알고리즘을 튜닝하여 모델의 성능을 한 층 더 끌어올립니다.
이번 3주차의 목표는 San Francisco Crime Classification 경진대회의 상위 25% 안에 들어가는 것입니다. 보통 캐글에서는 데이터 사이언티스트로서 인정을 해줄 수 있느냐의 여부를 상위 25% 안에 진입했는지로 파악합니다. 이 정도 수준까지를 스스로의 힘으로 달성할 수 있는 것이 목표입니다.
수업 신청 하러가기 >경진대회 데이터에서 사용하기 가장 까다로운 컬럼 중 하나는 주소(Address)입니다. 이번 4주차에서는 주소 값을 분석하여 머신러닝 알고리즘에 집어넣는 방법을 배웁니다.
주소 값을 집어넣을 때의 문제점은, 데이터의 양도 많고(학습 데이터만 총 878,049개), 주소의 종류도 많기 때문에(총 23,228개) 용량이 너무 커서 머신러닝 모델에 집어넣을 수가 없습니다. 이를 극복하기 위해 먼저 다음의 방식으로 주소 데이터를 정리합니다.
이를 통해 총 23,228 종류의 주소를 1,483 종류까지 줄여줄 수 있습니다. 이후 주소 데이터를 효율적으로 저장하기 위해 희소 행렬(Sparse Matrix)의 저장 방식 중 하나인 Compressed Sparse Row (CSR) 행렬로 변환합니다. 이 방식을 통해 주소 데이터의 메모리 사용량을 획기적으로 줄일 수 있습니다.
마지막으로 주소 데이터를 집어넣은 머신러닝 알고리즘을 다시 한 번 튜닝합니다. 튜닝을 통해 모델의 정확도를 최대한으로 끌어올리며, 최종적으로 San Francisco Crime Classification 경진대회 상위 10% 안에 들 수 있도록 합니다. 보통 캐글 상위 10%에 드는 참석자를 현장에서 즉시전력으로 투입 가능한 인재라고 평가하는데, (참고자료 https://www.kaggle.com/progression) 마지막 주차에서 경진대회 상위 10% 안에 들 수 있다면 충분히 프로페셔널한 데이터 사이언티스트로 활동할 수 있는 인재라고 판단할 수 있습니다.
수업 신청 하러가기 >과정 소개 및 캐글(Kaggle) “Titanic: Machine Learning from Disaster” 경진대회 참여
DS School 데이터 사이언스 입문반의 대주제는 “데이터는 생각보다 어렵지 않으며, 누구든지 쉽게 데이터를 다룰 수 있다.”라는 것을 깨닫는 것입니다. 첫 수업에서는 엑셀을 활용하여 데이터를 분석하는데, 간단한 엑셀 공식과 피벗 테이블(Pivot Table)만으로 데이터를 분석하는 방법을 체험합니다.
이번 수업에서는 데이터 사이언티스트의 온라인 경진대회 캐글(Kaggle)에 도전합니다. 첫 번째 경진대회는 RMS 타이타닉 해상사고의 데이터를 바탕으로, 유사한 해상사고가 발생했을 경우 어떤 승객이 생존하며, 또한 어떤 승객이 사망하는지를 예측하는 경진대회입니다.
매우 어려워 보이지만, 실습에 들어가면 데이터를 분석하는 일이 굉장히 쉽고 재미있다는 것을 알 수 있습니다. 수강생분들은 먼저 엑셀에서 사칙연산을 하는 방법과 제어문(IF)과 같은 간단한 엑셀 공식, 그리고 피벗 테이블(Pivot Table)을 활용하여 데이터를 분석하는 법을 배웁니다. 이후 전통적인 데이터 분석 방법인 1) 가설 수립, 2) 가설 검증, 3) 검증된 가설로 예측. 하는 세 가지 방식을 통해 생존자와 사망자를 예측합니다.
가령 1) "여성인 경우 해상사고에서 탈출 우선순위가 높기 때문에 생존율이 높다.”는 가설을 세웠으면 (가설 수립) 2) 엑셀의 피벗 테이블(Pivot Table)로 여성일 경우의 생존율과 남성일 경우의 생존율을 비교합니다. (가설 검증), 3) 가설 검증이 완료되었으면 제어문(IF)을 활용해 a) 승객이 남성일 경우 사망했다고 예측하고, b) 여성일 경우 생존했다고 예측합니다. (검증된 가설로 예측)
이 예측 결과를 캐글(Kaggle)에 제출하면, 몇 명의 승객을 맞췄는지에 대한 정답률을 알려줍니다.
이후 수강생분들끼리 팀을 짜서 자율 실습에 들어갑니다. 실습 목표는 경진대회의 상위 25% (예측 정확도 약 78.947%)에 도달하는 것입니다. 만일 첫 수업에서 상위 25%에 도달할 수 있다면 데이터 사이언티스트로서의 소질이 있다고 판단할 수 있습니다. 실습이 끝나면 가장 점수가 높은 수강생을 뽑아서 개인 인터뷰와 선물 증정식을 합니다.
자율 실습이 끝나면, 마지막으로 강사가 프로그래밍 시연을 합니다. 프로그램 언어 파이썬(python.org), 데이터 분석 패키지 판다스(Pandas), 데이터 시각화 패키지 시본(Seaborn), 마지막으로 인공지능&머신러닝 알고리즘 중 하나인 의사결정나무(Decision Tree)를 활용해 데이터를 분석하고 그 결과를 캐글에 제출합니다. 목표는 마찬가지로 경진대회 상위 25%에 해당하는 78.947%의 예측 정확도를 달성하는 것입니다.
수업 신청 하러가기 >프로그래밍 언어 파이썬(Python)과 관련 데이터 분석 패키지를 학습하기. 학습이 끝난 후 Titanic: Machine Learning from Disaster 경진대회에 재도전.
오후 수업에서는 본격적으로 데이터 분석을 배우며, 크게 다음의 툴을 학습합니다.
위 네 개의 툴을 사용하는 법을 배웠다면, 마지막으로 1 ~ 4번을 조합하여 타이타닉 경진대회에 재도전합니다. 이번에는 엑셀이 아닌 파이썬을 활용하여 상위 25% (예측 정확도 78.947%)에 도전하며, 실습이 끝난 뒤에는 강사가 경진대회 상위 5% (예측 정확도 81.818%)에 도달할 수 있는 노하우를 공유합니다.
2주차에 학습할 툴에 대한 상세 설명은 다음과 같습니다.
파이썬(Python)은 데이터 분석과 인공지능 분야에서 가장 많이 쓰이는 프로그래밍 언어입니다. 파이썬은 고레벨 프로그래밍 언어(High-Level Programming Language)답게 매우 직관적이면서 사람이 이해하기 쉬우며, 숙련자는 물론 프로그래밍 언어를 처음 접해보는 사람도 단기간에 배울 수 있습니다.
이번 수업에서는 파이썬의 다음 기능을 배울 것입니다.
판다스(Pandas)는 파이썬에서 자주 쓰이는 데이터 분석 패키지입니다. 판다스에서는 엑셀에서 사용하는 기능을 그대로 쓸 수 있는데, 엑셀에 비해서 1) 대용량 데이터를 다루는 데 적합하며 (엑셀은 데이터의 용량이 100메가만 넘어가면 느려집니다), 2) 엑셀보다 훨씬 복잡한 기능을 코드 몇 줄로 구현할 수 있습니다. 3) 또한 파이썬을 기반으로 동작하기 때문에 데이터 분석 결과를 다양한 분야에 응용할 수 있습니다. (ex: 데이터베이스에 저장하기, 웹페이지에 띄우기, 머신러닝 알고리즘에 집어넣기 등)
이번 수업에서는 판다스의 다음 기능을 배울 것입니다.
시본(Seaborn)은 파이썬에서 주로 쓰이는 데이터 시각화(Data Visualization) 패키지 중 하나입니다. 파이썬에는 시본 외에도 다양한 패키지가 있지만, 1) 시본이 다른 패키지에 비해 간결하고 쉽게 쓸 수 있으며, 2) 기능이 다양하고 직관적인 시각화를 할 수 있습니다.
이번 수업에서는 시본의 다음 기능을 배울 것입니다.
싸이킷런(scikit-learn)은 파이썬에서 인공지능&머신러닝에 관련된 알고리즘을 하나로 묶어놓은 패키지입니다. 싸이킷런을 활용하면 알고리즘을 직접 구현할 필요 없이, 이미 만들어진 구현체를 파이썬으로 가져와 사용하면 됩니다.
이번 수업에서는 싸이킷런의 대표적인 머신러닝 알고리즘인 의사결정나무(Decision Tree)를 활용할 것이며, 크게 다음 기능을 배울 것입니다.
오프라인 부트캠프의 마지막은 앞으로 4주간, 그리고 장기적인 관점에서 수강생분들이 데이터사이언티스트가 되기 위해서는 어떤 것이 필요한지를 살펴보고 마무리하겠습니다. 크게 다음의 내용을 중점적으로 다룰 것입니다.
마지막으로 앞으로 4주간 온라인 수업을 통해 참여할 새로운 캐글 경진대회를 살펴봅니다. Capital Bikeshare 라는 워싱턴 D.C. 소재의 자전거 대여 스타트업에서 제공한 데이터를 바탕으로, 2011년도와 2012년도의 시간당 자전거 대여량을 예측하는 경진대회에 참석할 것입니다. 여기서는 주로 다음의 내용을 배우게 됩니다.
캐글의 새로운 경진대회 Bike Sharing Demand 참여하기.
온라인 수업부터는 새로운 캐글 경진대회에 참여합니다. Capital Bikeshare 라는 워싱턴 D.C. 소재의 자전거 대여 스타트업에서 제공한 데이터를 바탕으로, 2011년도와 2012년도의 시간당 자전거 대여량을 예측하는 경진대회에 참석합니다.
기존에 참여한 타이타닉 경진대회와 전혀 달라 보이지만, 우리가 이전까지 배운 지식을 이번 경진대회에서도 그대로 활용할 수 있습니다. 온라인 1주차 수업에서는 오프라인 수업을 복습하는 차원에서, 프로그래밍 언어 파이썬(Python)과 데이터 분석 패키지 판다스(Pandas), 데이터 시각화 패키지 시본(Seaborn)을 활용해봅니다.
여기에 더불어, 이번 수업에서는 데이터를 분석하여 그 결과를 머신러닝 알고리즘에 적용하는 탐험적 데이터 분석(Exploratory Data Analysis, 이하 EDA)에 대해서 배웁니다. 탐험적 데이터 분석을 통해 수강생분들은 다음의 정보를 얻게 됩니다.
마지막으로 수강생 분들은 1주차 과제를 제공 받습니다. 1주차 과제는 앞서 강사가 엑셀과 데이터 시각화를 통해 분석한 결과 외에도, 수강생분들이 스스로 데이터에서 결과를 추출하는 것입니다. 가령 예를 들자면 다음과 같습니다.
위 과제를 풀면서, 부족하거나 잘 이해가 안 되는 부분이 있다면 자유롭게 채팅방을 통해서 담당 조교에게 질문을 주시면 됩니다. 풀이가 끝난 다음에는 과제를 제출하며, 제출한 과제를 강사나 조교가 확인 후 피드백을 드립니다.
수업 신청 하러가기 >분석한 데이터를 머신러닝 알고리즘에 학습시킨 뒤, 그 결과를 캐글에 제출하기
2주차 수업에서는 분석한 데이터를 실제 머신러닝 알고리즘에 집어넣습니다. 오프라인 부트캠프 수업에서 배웠던 의사결정나무(Decision Tree) 알고리즘에 데이터를 집어넣고, 이를 캐글에 제출해서 점수를 확인하는 것이 첫 시작입니다.
이후 이 예측 모델의 성능을 개선할 수 있는 몇 가지 아이디어를 테스트해봅니다. 첫 번째로는 머신러닝 알고리즘을 사용할 때 알아두면 도움이 되는 분류(Classification)과 회귀(Regression)라는 개념을 이해하고, 이 개념을 적용한 회귀 버전의 의사결정나무(DecisionTreeRegressor)를 적용해봅니다.
또한 의사결정나무(Decision Tree) 알고리즘을 개선한 새로운 알고리즘을 테스트해봅니다. 의사결정나무 알고리즘 여러개를 섞어서 사용하는 랜덤 포레스트(Random Forest)라는 알고리즘을 사용합니다. 이 알고리즘은 대부분 의사결정나무보다 더 좋은 성능을 보장하는 강력한 알고리즘입니다. 이 알고리즘의 원리와 사용 방법을 배우면 더 정확한 예측 모델을 구현할 수 있습니다.
마지막으로 수강생분들은 2주차 과제를 제공받습니다. 이번 과제의 목표는 1, 2주차에서 배운 내용을 활용하여 Bike Sharing Demand 경진대회의 상위 25% (캐글 점수 0.44691) 안에 드는 것입니다. 2주차에서 배운 데이터를 머신러닝 알고리즘에 집어넣는 방법, 그리고 1주차에 탐험적 데이터 분석(Exploratory Data Analysis)을 통해 찾은 정보를 머신러닝 알고리즘에 집어넣으면 충분히 상위 25%에 해당하는 점수에 도달할 수 있을 것입니다.
수업 신청 하러가기 >캐글(Kaggle)에 제출 파일을 올리지 않고 머신러닝 알고리즘이 개선되었는지를 파악하기
3주차 수업에서는 모델의 예측값을 매 번 캐글(Kaggle)에 제출하지 않고도 모델의 성능을 검증할 수 있는 방법을 배웁니다. 먼저 모델을 검증하는 두 가지 방식인 Hold-out Validation과 Cross Validation에 대해 배웁니다.
이후 검증 결과를 바탕으로 모델이 개선되었는지 여부를 파악할 수 있는 측정 공식에 대해 배웁니다. 이번 수업에서는 회귀(Regression) 문제에 대한 측정 공식인 Mean Absolute Error(MAE), Mean Squared Error(MSE), Root Mean Squared Error(RMSE) 등에 대해 배웁니다.
마지막으로 3주차의 과제를 제공받습니다. 3주차 과제는 지금까지 배운 내용을 바탕으로 Bike Sharing Demand 경진대회의 상위 10% (캐글 점수 0.40856) 안에 드는 것입니다. 캐글 상위 10%는 보통 프로와 아마추어를 구분하는 기준이라고 할 만큼 중요한 지표이며, 그만큼 난이도도 높은 편에 속합니다. 하지만 수강생 분들은 지금까지 배운 다음의 내용들을 잘 활용하고, 틈틈히 강사와 조교의 도움을 받는다면 충분히 상위 10%에 해당하는 점수를 달성할 수 있을 것입니다.
마지막 주차에서는 지금까지 배운 내용 + a를 활용하여 캐글 최상위권 성적에 도전합니다. 최소 경진대회 상위 5%(캐글 점수 0.39010), 가능한 경진대회 100위권 이내(캐글 점수 0.37748)에 도달할 수 있도록 합니다. 주로 다음의 내용을 활용하게 될 것입니다.
캐글에서는 상위 5%에 진입한 사람을 프로 중에서도 특출나게 뛰어난 데이터 사이언티스트로 간주합니다. (해당 참석자에게는 캐글에서 공인하는 은메달 마크가 부여됩니다) 입문반 수업을 통해 경진대회 상위 5%, 내지는 상위 100위 안으로 진입할 수 있는 노하우를 습득할 수 있다면, 데이터 사이언티스트 되는 데 필수적인 지식은 거의 습득했다고 가정해도 무방합니다.
마지막으로 수업이 끝난 뒤에는 앞으로 어떤 것을 배워야 하며, 데이터사이언스를 본인의 커리어에 활용하기 위해서는 어떠한 내용을 추가로 학습하고 공부해야 하는지를 알려드린 뒤 수업을 마무리합니다.
수업 신청 하러가기 >데이터 사이언티스트를 커리어로써 쌓고 싶으신 분들, '어쩌다 데이터 분석가'라는 직함을 갖게 되신 분들을 위해 준비된 집중 & 맞춤 코스!
지금 등록하기