DS School

혹시 데이터 마케팅 강연을 찾으시나요?
그렇다면 이 쪽으로

분석 결과

고객님이 제출해주신 설문조사에 기반하여 다음의 커리큘럼을 추천드립니다.

프로그래밍

입문 1:1 온라인 과외 과정

바로 시작 가능
59만원

비전공, 비개발직군 가능

비전공, 비개발직군을 위한 프로그래밍 입문 코스입니다. 프로그래밍 언어 파이썬의 기초를 배울 수 있고, 이를 응용한 데이터 시각화 및 업무 자동화, 코딩 문제 풀이 등을 배울 수 있습니다.

데이터 사이언스

실전 데이터 분석 과정

4주 과정, 매주 1회 * 4시간
99만원

입문 과정 이수자 또는 파이썬 프로그래밍 경험자

DS School 입문 과정을 이수한 분, 또는 간단한 파이썬 문법(반복문, 함수, etc)을 배운 분 중에서, 데이터 분석가(Data Analyst)로 이직하거나 취업/전향하는 것에 관심 있는 분들을 대상으로 하는 수업입니다.

데이터 사이언스

입문 과정

4주 과정, 매주 5시간
99만원

비전공, 비개발직군 가능
강남, 강북, 분당 과정 오픈

비전공, 비개발직군을 위한 데이터 사이언스 입문 코스. 캐글 데이터 사이언스 경진 대회의 문제와 데이터를 교재 삼아 실습하고 필수 프로그래밍 툴킷을 배웁니다.

데이터 사이언스

머신러닝 심화 과정

4주 과정, 매주 1회 * 4시간
99만원

입문 과정 이수자 또는 경력자

프로그래밍과 데이터사이언스의 기초 지식이 있으나, 머신러닝 알고리즘을 전혀 써본 적이 없는 분, 내지는 써보았으니 그 원리를 잘 모르는 분들을 대상으로 합니다.

데이터 사이언스

딥러닝 온라인 1:1 과외 과정

바로 시작 가능
59만원

입문 과정 이수자 또는 파이썬 프로그래밍 경험자

기본적인 프로그래밍 실력을 갖췄지만, 인공지능과 딥러닝에 관한 지식이 전혀 없는 분들을 대상으로 합니다. 특히나 딥러닝을 활용한 자연어처리나 영상처리, 음성인식에 관심이 많은 분을 위한 커리큘럼으로 구성되어 있습니다.

데이터 사이언스

온라인 심화 과정

바로 시작 가능
59만원

입문 과정 이수자 또는 경력자

심화반을 들을 수 있는 시간적 장소적 여건이 되지 않는 분들을 위해 준비했습니다. 신규 캐글 경진대회에 참여하며, 프로의 기준점인 캐글 경진대회 상위 10% 안에 드는 것을 목표로 합니다.

데이터 사이언스 & 프로그래밍

풀타임 교육

과정 준비 중
399만원

전 과정 교육 및 커리어 코스

입문/중급/고급 과정을 8주만에 완주하고, 커리어 코칭 (이력서, 포폴 제작, 기술 인터뷰 준비)을 받아 프로그래머 & 데이터 사이언티스트로써 경력을 시작하도록 돕는 압축 취업 코스.

DS School 프로그래밍 입문반 강좌 소개

프로그래밍에 대한 호기심과 필요성을 느끼고 있지만, 이를 전혀 해 본 적이 없거나, 배우려고 시도해봤는데 한 번 이상 실패한 분들을 대상으로 합니다. DS School의 프로그래밍 입문반 수업은 프로그래밍이나 소프트웨어 개발을 전혀 해보지 않은 초심자를 대상으로 합니다.

구체적으로 설명하자면, 다음과 같은 고민을 하는 분들에게 이 수업을 추천해 드립니다.

  • 프로그래밍에 대한 호기심을 갖고 공부해봤으나, 프로그래밍이 너무 어렵고 난해해서 실패한 분들.
  • 공과대학, 내지는 이와 연관 있는 학과에 진학하였으나 프로그래밍에 재미를 붙이지 못하고 헤매고 계신 분들.
  • 프로그래밍을 어떻게든 배우긴 했는데, 이를 현장에 적용하거나 제품을 만드는 법에 대해서는 전혀 감이 오지 않는 분들.
  • 회사에서 단순 반복 업무가 많아서 이를 자동화하고 싶은데, 프로그래밍으로 쉽게 할 수 있을 줄 알고 시도해보았으나 실패하신 분들. 내지는 애초부터 시도할 엄두를 내지 못한 분들.
  • 웹 개발자가 되고 싶었는데, 기초적인 프로그래밍 언어와 웹 프레임워크의 사용법은 배웠으나 정작 어떻게 하면 웹 개발을 할 수 있는지 감이 오지 않는 분.
  • 파이썬을 넘어서서, 자바나 C언어, 자바스크립트 등을 활용한 개발자가 되고 싶었는데, 기초적인 언어 사용법은 배웠는데 이걸 어떻게 활용해서 제품을 만들 수 있을지 이해가 안 되는 분들.
  • 데이터에 관심이 많아 데이터 분석가, 사이언티스트, 엔지니어로 일을 하고 싶은데, 매번 기초적인 프로그래밍 지식이 부족해서 헤매는 분들.
  • 기타 개인 사정으로 빠르게 프로그래밍을 배워야 하는데, 나에게 맞는 수업을 찾지 못해서 고민 중인 분들.
  • 독학으로 프로그래밍 공부를 하고 있지만, 내가 현재 잘 배우고 있는지 가이드를 해주는 사람이 없어서 혼란스러운 분들.

반면 다음과 같은 경험을 가진 분들에게는 입문반 수업을 듣는 것을 추천하지 않습니다.

  • 이미 파이썬, 내지는 다른 프로그래밍 언어를 배웠으며, 이 언어를 활용해 제품을 구현해본 경험이 있거나 문제를 해결하는데 익숙한 분들.
  • 독학으로 프로그래밍 언어에 대한 공부를 했는데, 큰 어려움 없이 실생활에 활용할 수 있을 만큼의 지식을 습득한 분들.
  • 플라스크(Flask), 쟝고(Django), 판다스(Pandas), 뷰티플 수프(Beautiful Soup)와 같은 파이썬 패키지를 이미 사용해보았으며, 이를 능수능란하게 다룰 줄 아는 분들.
  • 이전에 학교에서 컴퓨터공학 수업을 들어본 경험이 있거나, 컴퓨터공학 학과 또는 연구실에 진학, 및 재직한 경험이 있는 분들.
수업 신청 하러가기 >

이 수업의 목표는 프로그래밍 언어 파이썬을 활용한 거의 모든 분야를 스스로 할 수 있는 개발자가 되는 것입니다. 이번 수업에서 집중적으로 다루는 분야는 다음과 같습니다.

  • 파이썬 기초 - 프로그래밍 언어를 전혀 모른다는 가정하에, 파이썬의 가장 기초적인 원리(변수, 제어문, 반복문, 리스트, 함수 등)부터 시작해서, 파이썬을 다루는 데 도움이 되는 심화 기능(클래스, 모듈, 패키지 등)을 배웁니다.
  • 업무 자동화 - 대량의 파일을 효율적으로 정리하는 프로그램을 만들거나, 주어진 정보를 엑셀에 자동으로 기입하는 기능을 배웁니다. 또는 주어진 정보와 템플릿에 맞춰 문자나 이메일을 자동으로 발송하는 프로그램도 만들 수 있습니다.
  • 웹 크롤링 및 데이터마이닝 - 웹페이지에서 뉴스 데이터, 상품 데이터 등을 읽어오거나, SNS에 실시간으로 올라오는 글을 자동으로 크롤링합니다. 그리고 이 데이터를 정리하여 엑셀 파일로 저장하거나, 이를 분석해서 통계치를 내고 시각화를 하는 것까지 포함합니다.
  • 텍스트 처리 및 데이터 분석 - 주어진 텍스트 데이터, 내지는 웹페이지에서 크롤링한 데이터를 바탕으로, 특정 키워드가 포함된 데이터만 검색합니다. 또는 이 데이터에서 단어와 단어의 연관성을 찾거나, 이를 데이터 시각화로 한 눈에 볼 수 있게 예쁘게 정리합니다.
  • 네이버 카페나 기타 SNS에 게시글을 올리는 봇을 개발 - 커뮤니티 사이트나 SNS, 네이버/다음 카페 등에 게시글을 자동으로 올리는 봇을 만듭니다. 또는 게시글에 특정 단어가 문장이 들어가 있을 경우만 검색하여, 주어진 템플릿을 활용해 봇이 자동으로 댓글을 남깁니다.

수업에서 집중적으로 다루지 않지만, 이번 수업을 완강하면 다음의 업무는 별도의 수업을 듣지 않아도 스스로 공부할 수 있습니다. (완강 후 해당 부분을 스스로 공부하는 데 부족함이 없는 충분한 분량의 자료를 제공해드립니다)

  • 파이썬을 활용한 수학 연산, 물리, 통계 연산 - 파이썬을 활용해서 연구용으로 활용할 수 있는 수학 연산이나 통계 연산, 물리 연산 등을 배웁니다. 보통 R이나 SPSS에서 지원하는 연산 기능보다 쉽고 빠르기 때문에, 이를 대체하면 연구에 생산성이 붙기 시작합니다.
  • 웹 페이지 대시보드 및 관리자 페이지 구축하기 - 회사의 정보를 한눈에 확인하고 관리할 수 있는 웹 대시보드를 만듭니다. 회사의 주요 지표를 시각화해서 보여주거나, 직원 근태나 연차 관리나 증명서 발급, 내지는 간단한 회계를 자동화할 수 있는 웹페이지를 구축합니다.
  • 데이터베이스에 접근해서 데이터를 다루기 - SQL(Structured Query Language)을 활용하여 회사의 데이터베이스(MySQL, MSSQL, Oracle, etc)에 접근해서 원하는 데이터를 추출하고, 이를 수정하거나 저장하는 기능을 배웁니다.
  • 데이터 분석 및 시각화 - 회사의 데이터, 내지는 크롤링을 통해 수집한 데이터를 분석해서 새로운 정보를 뽑아내거나, 이를 시각화해서 보여주는 기능을 배웁니다. 가령 회사 내에서 판매하는 상품의 매출, 이익 등을 분석하고 이를 시각화로 한 눈에 파악할 수 있게 만들 수 있습니다.
  • 인공지능 알고리즘을 사용하고, 이를 활용한 추천 엔진을 만들기 - 인공지능의 한 부류인 기계학습(machine learning)을 활용하여 재구매 또는 환불을 예측하거나, 사용자에게 상품을 추천할 수 있는 일명 추천 엔진을 구현합니다. 이 추천 엔진을 상품이 아닌 컨텐츠(글, 영상)에도 활용할 수 있습니다.
  • 이미지 처리 및 이를 활용한 업무 자동화 - 대량의 이미지를 가져와서 크기를 조정하거나, 지정한 부분을 자르거나 좌우 반전 등의 처리를 하는 법을 배웁니다. 그리고 이미지 안에 특정 이미지나 텍스트를 넣어서 수료증이나 초대장, 기타 증명서를 자동 발급하는 프로그램을 구축합니다.
수업 신청 하러가기 >

수업에 필요한 선수지식은 없습니다. 수업은 수강생이 프로그래밍을 한 번도 해 본 적이 없고, 심지어는 프로그래밍을 공부하는데 필요한 툴이나 프로그램을 설치해본 경험도 전혀 없다는 전제하에 진행합니다.

DS School의 입문반 수업은 전체 수강생의 70%~80%가 프로그래밍을 전혀 공부해본 적 없는 비전공자 출신, 나머지 20%~30% 도 프로그래밍을 짧게 공부해봤으나, 이를 활용해 실제로 무언가를 구현해본 경험이 전혀 없는 분들이 참여하고 있습니다. 하지만 모든 수업을 완강하면, 수강생 전원이 프로그래밍을 활용한 업무 자동화, 데이터 분석, 웹 크롤링, 봇 구현을 하는 데 문제가 없을 정도의 충분한 지식을 습득한 뒤 졸업을 합니다.

다만 수업에서는 위의 경우에 해당하는 분 이외에도, 프로그래밍을 깊게 배운 적이 있거나 현장에서 프로그래머로 일하고 계신 분들을 위한 추가 자료와 과제를 넉넉하게 제공하고 있으니, 프로그래밍을 해보신 수강생분들도 이 수업을 듣고 충분히 많은 내용을 배워가실 수 있을 것입니다.

수업 신청 하러가기 >

이 커리큘럼을 만들고 운영하는 강사는, 2008년부터 IT 자원봉사 형식으로 프로그래밍 교육을 시작해, 10년이 넘는 기간 동안 다양한 산업군(의료, 화학, 기계공학, 문화인류학, 영어영문학 등)과 연령대(중고등학교, 대학교/대학원생, 직장인 등)에 프로그래밍 언어를 교육해왔습니다.

프로그래밍 교육자로 활동하면서 깨달은 사실은, 기존의 수업은 현대적이고 대중화된 프로그래밍 언어(파이썬)에 맞게 구성되어있지 않으며, 전통적인 4년제 컴퓨터공학과 수업(C언어와 이를 활용한 운영체제, 컴파일러 수업 등)의 틀을 그대로 유지한 채 몇몇 문법과 툴만 바꿔서 운영하고 있다는 점입니다.

이러한 수업의 단점은

  • 비전공자가 듣기에는 난이도가 너무 높으며(수업 난이도가 컴퓨터공학과 학생들에게 맞추어져 있으므로)
  • 완강하기에는 시간이 너무 오래 걸리며(4년제 컴퓨터공학과 수업을 바탕으로 구성되어 있기 때문에)
  • 컴퓨터공학과 학생들이 수업 외 시간(중간, 기말 수업 과제)에서 배우는 프로그래밍 노하우(에러 해결하기, 자료 검색, 좋은 툴 선택하기 등)를 전부 누락한 채 단순한 문법 설명과 툴 설명에 집중한다는 것입니다.

이 수업은 전통적인 4년제 컴퓨터공학과 수업을 바탕으로 진행하지 않습니다. 이 수업은 현대적인 프로그래밍 언어(파이썬)와 이를 빠르고 효율적으로 배울 수 있는 전혀 새로운 커리큘럼으로 진행하며, 더 자세히는 문제 해결법을 가르치는 수학적 방법론인 발견술(heuristics)을 기반으로, 2000년대 중후반부터 새롭게 등장한 테스트 주도 개발(Test Driven Development, 이하 TDD)이라는 현대적인 소프트웨어 개발 방법론으로 완벽하게 재구성하였습니다.

이 방법론의 핵심은 이렇습니다. “모든 프로그래머가 결과적으로 똑같은 프로그래밍 언어(ex: 파이썬)를 사용하는데, 왜 잘하는 사람과 못 하는 사람 간에 차이가 나고, 이 차이가 결국 수 천만원에 가까운 연봉의 차이로 이어질까?” 이 방법론에서는 이 질문에 대한 명쾌한 해답을 제시합니다. “좋은 프로그래머와 그렇지 않은 프로그래머의 차이는 습관의 차이다. 좋은 프로그래머는 좋은 프로그램을 작성하는 습관을 지니고 있으며, 이 습관을 배울 수 있다면 누구나 어느 분야에서 남들보다 수 천만원의 연봉을 더 받는 훌륭한 프로그래머가 될 수 있다.”

그런 의미에서, 이 수업은 테스트 주도 개발(TDD)을 기반으로 한, 한 분야에만 국한되지 않고, 모든 분야(웹, 모바일, 데이터 등)를 전부 아우를 수 있는 개발자가 되는 것을 목표로 합니다. 이 수업에서는 구체적으로 좋은 프로그래머가 되기 위한 다음의 습관을 알려드립니다.

  • 주어진 문제를 한 번에 풀지 않고 쪼개서 푸는 방법. 가령 전자상거래(ex: 쿠팡, 지마켓)의 상품 정보를 크롤링하면, 처음부터 모든 페이지를 크롤링하지 않고 1) 상품 정보 페이지, 2) 특정 카테고리의 상품 리스트 페이지, 3) 전체 카테고리 페이지 순으로 크롤링한 뒤 세 기능을 합치는 게 좋습니다. 또한 상품 정보에서도 한 번에 모든 기능을 구현하려 하지 않고, 1) 제목, 2) 설명, 3) 가격 등으로 하나하나 쪼개서 문제를 해결하는 것이 좋은 습관입니다. 이러한 방식을 쪼개서 정복하는(divide and conquer) 방법론이라고 합니다.
  • 프로그램이 잘 동작하지 않고 에러나 버그가 났을 때 이를 빠르게 해결하는 방법. 에러 메시지를 해석하는 방법부터, 에러가 해결되지 않을 경우 구글 검색(일명 구글링)으로 해결하는 방법, 좋은 검색 키워드를 사용하여 에러에 대한 솔루션을 빠르게 찾는 방법 등을 가르칩니다.
  • 기존의 분야가 아닌 새로운 분야에 도전해야 할 때, 이 분야의 기술 문서를 빠르게 검색하고 사용하는 방법. 가령 급하게 파이썬으로 이미지를 처리해야 하는 업무를 맡게 되면, 별도의 수업을 들을 필요 없이 1) 구글에서 빠르게 관련 자료를 검색하고, 2) 이 자료에서 제공하는 튜토리얼을 빠르게 실험해서 내 코드에 적용하는 법. 을 배우면 누구나 이미지 처리를 할 수 있습니다.
  • 프로그램이 지금 당장 동작하는 것을 넘어서서, 장기적인 관점에서도 잘 동작할 수 있도록 개발하기. 크롤러의 경우 지금 당장은 잘 동작하더라도, 크롤링하는 웹사이트의 디자인이나 구조가 바뀌면 제대로 동작하지 않을 가능성이 높습니다. 이 경우 빠르게 그 신호를 파악하고, 구체적으로 어떤 부분이 변경되어서 크롤러가 정상적으로 동작하지 않는지 파악할 수 있습니다.
수업 신청 하러가기 >

DS School 실전 데이터분석 과정 소개

DS School의 실전 데이터분석반은 프로그래밍에 대한 기초적인 지식을 보유하고 있으나, 데이터를 다뤄본 경험이 부족하거나 전혀 없는 분들을 대상으로 합니다.

구체적으로 설명하자면, 다음의 곤란함을 겪고 있는 분들에게 실전 데이터분석반을 추천해 드리고 있습니다.

  • 파이썬 프로그래밍 언어에 대한 기초적인 지식(리스트, 반복문 등)과 경험을 보유하고 있으나, 데이터를 다뤄본 경험이 없거나 부족한 분들.
  • 데이터 분석에 대한 기본적인 지식은 보유하고 있으나, 전자상거래나 헬스케어 데이터와 같은 실제 회사에서 쌓인 데이터를 다뤄본 경험, 소위 말하는 실전 경험이 전혀 없는 분들.
  • 엑셀이나 데이터베이스(ex: MySQL)에 저장된 데이터에 접근해서 원하는 정보(고객의 구매 내역 및 개인정보 등)를 직접 뽑아내서 그 결과를 보고 싶은 분들.
  • 고객 획득 비용(Customer Acquisition Cost, 이하 CAC)과 고객 생애 가치(Customer Lifetime Value, 이하 LTV)와 같은 고급 비즈니스 지표를 직접 뽑아내서 분석하고 이를 통해 데이터에 기반한 의사결정을 내리고 싶은 분들.
  • 파이썬의 데이터 분석 패키지 판다스(Pandas), 데이터 시각화 패키지 씨본(Seaborn), 그리고 데이터베이스에서 데이터를 읽어오기 위한 SQL(Structured Query Language)을 사용해야 하지만, 이에 대한 전문지식과 노하우가 부족한 분들.

이러한 분 중, 당장 현장에서 데이터 분석(Data Analytics) 업무를 맡아야 하거나, 내지는 빠른 기간 안에(3개월 이내) 데이터 분석 노하우를 공부한 뒤 관련 스타트업과의 연계 프로그램을 통해 데이터 분석가(Data Analyst)로서 취업하거나 이직 및 전직을 원하는 분들이 저희 수업을 들은 뒤 큰 만족을 느끼고 있습니다.

수업 신청 하러가기 >

수업은 수강생분들이 기본적인 파이썬 프로그래밍 지식이 있다는 가정하에 진행합니다.

더 구체적으로 설명하자면, 파이썬을 활용한 간단한 수학 연산과 자료형(숫자, 문자열, 리스트), 반복문과 제어문, 함수 정도만 이해할 수 있다면 충분합니다. 추가로 클래스나 모듈, 패키지를 이해하고 있다면 수업을 따라오는 데 도움이 될 수 있으나 이는 필수는 아닙니다.

이외에도 파이썬의 데이터 분석 패키지인 판다스(Pandas)나 데이터 시각화 패키지 matplotlib, 씨본(Seaborn) 등을 알고 있으면 수업을 따라오는 데 큰 도움이 될 것입니다. (마찬가지로 이는 필수가 아닙니다)

수업 신청 하러가기 >

수강생분들을 대상으로 조사를 해 본 결과, 대부분의 수강생분이 프로그래밍 경험이 부족한 비전공자분들이거나 (프로그래밍 경험 3개월 미만) 공학을 전공하였지만, 프로그래밍에 자신이 없는 분들이 참여하고 있습니다.

이 중 단기간(3개월 이내)에 데이터 분석 노하우를 배운 뒤, 회사에서 데이터 분석 관련 업무를 맡거나, 아예 데이터 분석가(Data Analyst)로 취업하거나 이직/전직하기를 원하는 분들이 이 수업을 듣고 있습니다.

실전 데이터분석반은 DS School의 입문반 수업과는 달리, 수강생분들이 수업 외적으로 예습/복습을 할 시간이 있다는 전제하에 진행합니다. (보통 일주일에 2 ~ 3시간 정도의 예습/복습 시간을 할애할 수 있다는 가정을 합니다) 수업이 끝난 뒤 매주 2 ~ 3시간 분량의 예습/복습 과제를 제공해드리며, 빠른 실력 향상을 위해 이 과제를 풀어올 것을 적극적으로 권장해드리고 있습니다.

다만 개인 사정(회사 업무, 육아, 학교 시험 등)으로 인해 과제를 풀지 못하는 분들을 위해, 수업은 과제를 풀지 못하더라도 따라올 수 있도록 준비되어 있습니다. 마찬가지로 개인 사정으로 인해 수업에 참석할 수 없으면, 아무런 추가 비용 없이 무료로 다음 기수로 기수 이전을 도와드리고 있습니다.

수업 신청 하러가기 >

데이터 분석을 배울때 가장 중요한 것은 실전 경험입니다. DS School의 실전 데이터 분석반에서는 여타의 수업과는 다르게, 헬스케어, 성인교육, 전자상거래, O2O 등 다양한 스타트업에서 축적한 실제 데이터를 직접 받아와 다룹니다. 실전 데이터 분석반에서 다루는 데이터는 다음과 같습니다.

  • 헬스케어 스타트업 눔(Noom)의 회원 정보(나이, 키, 몸무게 등)와 행동 데이터(담당 코치, 코칭 받은 횟수, 체중 감량 현황)
  • 데이터 사이언스 교육 스타트업 DS School의 광고 효율 정보(어떤 광고를 보고 유입되었는가)와 구매 정보(해당 광고를 본 사람이 수업을 구매하였는가)
  • 패션 스타트업 지그재그(Zigzag)에서 고객이 어떤 상품을 구매하고, 어떤 액티비티(즐겨찾기, 클릭, 상품정보 보기 등)를 하는가
  • 프리랜서 마켓 스타트업 크몽(Kmong)의 웹 서비스, 모바일 서비스(아이폰, 안드로이드)의 사용자 행동 데이터
<%= image_tag "logos/logo_noom2.png" %> <%= image_tag "logo.png" %> <%= image_tag "logos/logo_zigzag.png" %> <%= image_tag "logos/logo_kmong2.png" %>

이 데이터를 바탕으로, 근거 기반의 의사 결정을 할 수 있는 다양한 데이터 분석 지표를 배우고 파이썬으로 계산하는 법을 배웁니다. 가령 1) 사용자가 우리 서비스에 들어와서 특정 상품을 구매할 확률(전환률, Conversion), 2) 한 명의 사용자를 우리 서비스에 데리고 오는데 드는 비용(고객 획득 비용, Customer Acquisition Cost), 3) 고객이 서비스를 그만두고 떠날 확률(이탈률, Churn Rate) 등을 직접 계산합니다. 이 계산 결과를 바탕으로 어떤 의사결정을 내릴 수 있을 것이며, 서비스를 어떻게 개선할 수 있을지까지도 다루게 될 것입니다.

수업 신청 하러가기 >

DS School의 실전 데이터분석반은 현장과의 취업 연계 과정을 제공하고 있습니다. 4주간의 수업이 끝난 뒤, 수강생분들은 구인을 원하는 스타트업이 제시한 10개의 문제를 과제로 받습니다.

만일 데이터 분석가(Data Analyst)로 취업이나 이직, 전직을 원하는 분들은, 해당 과제를 푼 뒤 이력서와 기타 포트폴리오를 포함하여 저희에게 제출하면 해당 스타트업의 구인 담당자에게 전달해드립니다. 만일 과제를 잘 풀었다면 구인 담당자가 개별적으로 수강생분들에게 연락을 드릴 예정입니다.

또한 과제를 제출할 경우, 취업 외적으로 앞으로 더 훌륭한 데이터 분석가가 되기 위해서는 어떠한 기술을 더 배워야 하는지에 대한 조언과 피드백을 적극적으로 드리고 있습니다.

수업 신청 하러가기 >

DS School 입문반 강좌 소개

데이터에 대한 호기심과 필요성을 갖고 있지만, 데이터 분석을 해 본 적이 없는 비전공자를 대상으로 합니다. DS School의 입문반 수업은 수학적 지식이나 통계학적 지식이 전혀 없고, 프로그래밍 언어도 다뤄본 적 없는 초심자를 대상으로 합니다.

조금 더 구체적으로 설명하자면, 다음과 같은 고민을 하는 분들에게 입문반 수업을 추천합니다.

  • 현재 직장에서 갑작스럽게 데이터 관련 업무가 주어져서 혼란스러운 분들.
  • 현재 직장에서 장기적으로 데이터 관련 업무를 병행하면 빠른 승진을 기대할 수 있는 분들.
  • 현재 하는 업무가 장기으로 큰 비전이 없다고 느껴져서, 데이터를 활용하는 유사 업무로 이직하고 싶은 분들.
  • 현재 인공지능과 관련 없는 석사, 박사, 또는 기타 연구소에 재직 중이지만, 본인의 연구에 데이터를 활용해서 더 큰 학문적 성과를 내고 싶은 분들.
  • 현재 취업을 준비하고 있지만, 지금 준비하는 분야가 아닌 데이터를 활용한 다른 분야로 취업하기를 원하는 분들.
  • 당장 데이터 관련 업무를 맡아야 하는 건 아니지만, 데이터라는 분야에 대한 지적 호기심이 있으며 트렌드를 빠르게 쫓아가길 원하는 분들.

위와 같은 고민은 하는 분 중에, 다음과 같은 상황에 부닥친 분들이 DS School 입문반 수업을 들으며 크게 만족하였습니다.

  • 프로그래밍은 물론, 전문적인 수학과 통계학 공부를 해 본 적이 없는 비전공자, 그것도 문과 출신.
  • 프로그래밍과 데이터에 관심이 많아서 공부를 해보았으나, 난이도가 너무 높아서 실패를 겪은 분들.
  • 업무상의 이유로 인해 빠른 기간 안에 데이터 관련 업무를 수행해야 하는 분들.
  • 현재 병행하고 있는 일이 있어서 예습과 복습에 많은 시간을 쓰기 어려운 분들.
  • 데이터 관련 공부를 할 때 본인이 잘 배우고 있는지 가이드를 해주는 사람이 없어서 곤란을 겪었던 분들.

반면 다음과 같은 경험을 가진 분들에게는 입문반 수업을 듣는 것을 추천하지 않습니다.

  • 이전에 데이터 분석을 해 본 분들. 가령 판다스(Pandas)와 싸이킷런(scikit-learn)을 다뤄본 경험이 있으며, 다뤄본 결과 이 정도는 독학으로 충분히 배울 수 있다는 확신이 드는 분들.
  • 독학으로 데이터 공부를 했지만, 큰 어려움 없이 업무에 활용 가능할 만큼의 지식을 습득한 분들. 가령 의사결정나무(Decision Tree)와 같은 인공지능 알고리즘의 동작 원리를 이해하고 싸이킷런(scikit-learn)에서 이 알고리즘을 직접 사용할 수 있는 분들.
  • 데이터사이언스 경진대회 캐글(Kaggle)에 참여했는데, 특정 경진대회에서 상위 25% 이상의 성적을 올린 분들. (단 튜토리얼성 경진대회는 제외)
  • 이전에 학교에서 인공지능 수업을 들어본 경험이 있거나, 인공지능 관련 학과 또는 연구실에 진학, 및 재직한 경험이 있는 분들.
수업 신청 하러가기 >

수업에 필요한 선수지식은 없습니다. 수업은 수강생분들이 1) 수학적 지식과 통계학적 지식이 전혀 없으며, 2) 프로그래밍을 한 번도 공부해 본 적 없다는 전제하에 진행합니다.

조금 더 구체적으로 설명하자면, 1) 수학과 통계학은 대한민국 중학생 수준의 지식만 있으면 충분합니다. 평균이나 루트(√), 로그(log) 등을 들어본 적이 있다면 입문반 수업을 따라오는 데 전혀 지장이 없을겁니다. DS School의 입문반 수업은 수강생들이 데이터를 배우는데 수학적 지식과 통계학적 지식이 없다고 전혀 부끄러워할 필요가 없다고 생각합니다.

또한 수업에서는 수강생분들이 2) 프로그래밍 언어(ex: 파이썬)을 전혀 해 본 적이 없다는 전제하에 진행합니다. 입문반 수업에 참여한 수강생의 80%는 입문반에서 프로그래밍을 처음 배웠지만, 모두 데이터 분석을 할 수 있는 충분한 프로그래밍 지식을 습득한 뒤 졸업하였습니다.

다만 예외적으로 프로그래밍을 배운 적이 있거나 현장에서 프로그래머로 일하고 계신 분들을 위한 추가 자료와 과제를 넉넉하게 제공하고 있습니다.

수업 신청 하러가기 >

수강생 분들을 대상으로 조사를 해 본 결과, 1) 수강생의 50%는 문과 출신이며, 2) 나머지 30%는 이과 출신이지만 프로그래밍을 한 번도 해본 적이 없는 분들이었습니다. 3) 그리고 나머지 20%가 프로그래밍은 해봤지만, 데이터 분석은 처음인 분들이었습니다.

입문반 수업의 난이도는 1번 분들을 대상으로 맞춰져 있습니다. (수학, 통계학에 자신 없고 프로그래밍을 전혀 해본 적이 없는 문과 출신), 하지만 2번 분들과 3번 분들이 수업을 쉽게 느끼지 않도록 별도의 추가 자료와 과제를 매주 제공하고 있습니다.

또한, 입문반 수업에는 주로 회사나 학업을 병행하면서 데이터 공부를 하길 원하는 분들의 비중이 높았습니다. 그러므로 입문반 수업에서는 본업에 지장이 있을 만큼 과다한 숙제나 자료를 제공하지 않습니다. 대신에 수업 당일날 집중해서 들으면 별도의 예습/복습 시간 없이 따라올 수 있도록 커리큘럼을 구성하였습니다.

물론 이런 분들과는 별개로, 빠른 기간 안에 데이터를 학습하길 원하는 분들을 위한 추가 자료와 과제를 매주 제공하고 있습니다. (단 이 자료를 통해 복습하는 것은 필수 사항은 아닙니다)

수업 신청 하러가기 >

가장 큰 차이는 철저한 실전 위주의 수업이라는 것입니다. DS School의 입문반 수업은 장황한 이론 설명을 배제하고 배워서 바로바로 써먹을 수 있는 실전 노하우를 집중적으로 가르칩니다. 그러므로 PPT 위주의 이론 수업보다 훨씬 더 실용적입니다.

수업에서는 캐글(Kaggle)이라는 데이터 사이언스 경진대회에 참가합니다. 캐글은 전세계적으로 공신력 있는 유명 경진대회를 모아놓았는데, 마이크로소프트, 페이스북, 구글 출신을 포함한 해외의 다양한 데이터 사이언티스트들이 참여하고 있습니다. 또한, 인공지능의 대가로 유명한 요슈아 벤지오(Yoshua Bengio, 현 몬트리올대 교수. 딥러닝 붐을 일으킨 주역 중 하나)와 이안 굿펠로우(Ian Goodfellow, GANs의 창시자)도 캐글 경진대회에 참여하거나 포럼에서 토론을 벌이곤 합니다.

DS School의 입문반 수업은 수강생분들과 강사, 조교들이 힘을 합쳐 캐글 경진대회에 도전합니다. 해상사고에서 어떠한 승객이 생존 확률이 높은지 예측하는 경진대회나, 워싱턴 소재의 스타트업에서 요청한 시간당 자전거 대여량을 맞추는 경진대회 등에 참석합니다.

이러한 과정을 통해 실력을 테스트하고, 동시에 실전에서 즉시 사용할 수 있는 노하우를 빠르게 배울 수 있습니다. DS School에서는 체계적인 커리큘럼과 강사, 조교의 적극적인 지원으로 수강생이 빠른 기간 안에 캐글 상위 랭커가 될 수 있도록 도와드립니다.

수업 신청 하러가기 >

캐글(Kaggle)에서는 경진대회의 성적으로 데이터 사이언티스트들의 실력을 평가하는데, 보통

  1. 상위 25% 안에 든 참석자를 실력 있는 데이터 사이언티스트라고 평가하며,
  2. 상위 10% 안에 든 참석자를 전문적인 데이터 관련 업무를 할 수 있는 프로페셔널한 데이터 사이언티스트라고 평가합니다. (해당 참석자에게는 캐글에서 공인하는 동메달 마크가 부여됩니다. 이 동메달은 캐글 상위 10%를 상징합니다)
  3. 또한 상위 5%에 드는 참석자를 프로 중에서도 특출나게 뛰어난 데이터 사이언티스트라고 평가합니다. (해당 참석자에게는 캐글에서 공인하는 은메달 마크가 부여됩니다. 이 은메달은 캐글 상위 5%를 상징합니다)

(참고자료)

DS School 입문반의 목표는 다음과 같습니다.

  1. 수강생들이 가능한 스스로의 힘으로 경진대회의 25%, 가능한 상위 10%에 도달하도록 합니다. 이는 혼자 힘으로는 불가능하기에, 매 수업마다 강사와 조교의 적극적인 지원이 있을 것입니다.
  2. 경진대회가 끝나면 강사가 경진대회에서 상위 5%에 도달할 수 있는 노하우를 공유합니다. 이 노하우를 수강생이 잘 이해할 수 있게끔 쉽게 풀어서 설명하며, 수업이 끝나면 노하우를 정리한 자료를 수강생분들에게 공유합니다.

만일 입문반 수업을 통해 1번, 가능하면 2번까지 도달할 수 있다면 현장에서 데이터 업무를 수행할 수 있는 충분한 역량을 갖추었다고 판단할 수 있습니다.

또한 앞서 말씀드린 대로 캐글은 공신력 있는 경진대회입니다. 그 뜻은, 입문반 수업에서 달성한 캐글 성적을 본인의 포트폴리오로 제출할 수 있습니다 . 가령 SK텔레콤이나 쿠키런을 개발한 데브시스터즈의 경우 구인 공고에서 공식적으로 캐글 상위권에 달성한 지원자를 유명 인공지능 학회(NIPS, ICML, ICLR, CVPR, etc)에 논문을 게재한 석사, 박사 연구자와 동급으로 인정해주고 있으며, 네이버, 카카오, 삼성전자 등에서도 암묵적으로 캐글 성적을 인정해주고 있습니다.

만일 데이터 사이언티스트로 취업이나 이직을 원하는 분들은 입문반 수업을 통해 캐글에 적극적으로 참여함으로써, 본인의 실력을 키움과 동시에 포트폴리오를 만드는 두 마리 토끼를 다 잡을 수 있습니다.

수업 신청 하러가기 >

DS스쿨 머신러닝 심화 과정 소개

DS스쿨의 머신러닝 심화 과정은 프로그래밍과 데이터 사이언스에 관한 기초적인 지식과 경험이 있으나, 머신러닝 알고리즘을 전혀 사용해본 적이 없는 분, 내지는 머신러닝 알고리즘을 사용해보았으나 그 원리를 잘 모르는 분들을 대상으로 합니다.

구체적으로 설명하자면, 다음과 같은 상황에 부닥친 분들에게 수업을 추천드리고 있습니다.

  • 기초적인 프로그래밍 지식이나 경험을 보유하고 있으나, 머신러닝 알고리즘을 배워서 데이터 사이언스로 취업을 원하는 취준생 분들.
  • 현직 프로그래머나 데이터 분석가로 일하고 있지만, 머신러닝 알고리즘을 배워서 실전에 적용하고 싶은 분들. 내지는 머신러닝을 배운 뒤 데이터 사이언티스트로 이직, 전직, 내지는 부서 이동을 원하는 분들.
  • 현직 데이터 사이언티스트로서 머신러닝 알고리즘을 사용하고 있으나, 대부분 시대에 뒤떨어진 알고리즘이기 때문에 좀 더 최신 버전의 알고리즘을 배우고 활용하고 싶은 분들. 내지는 최신 알고리즘을 쓰는 법은 알지만, 그 알고리즘의 이론과 구체적인 동작 원리에 대해서 자세히 알고 싶은 분들.
  • 본인의 연구 분야에 머신러닝을 활용하고 싶지만, 연구 분야에 적용할 만큼의 이론적 깊이가 부족하다는 생각이 드는 연구자분들.

반면 다음과 같은 경험을 가진 분들에게는 DS스쿨의 머신러닝 심화 과정을 듣는 것을 추천하지 않습니다.

  • 서포트 벡터 머신(Support Vector Machine, SVM), 내지는 이와 유사한 알고리즘을 사용중이지만, 이보다 더 성능이 좋고 실행 속도가 빠른 머신러닝 알고리즘에 대한 필요성을 크게 느끼지 않는 분들.
  • 그래디언트 부스팅 머신(Gradient Boosting Machine)의 동작 원리와 그 사용법을 정확하게 이해하고 있으며, 하이퍼패러미터(Hyperparameter) 튜닝 노하우까지 완벽하게 숙달한 분들.
  • XGBoost나 LightGBM, CatBoost의 차이를 이해하고 있으며, 이 세 가지를 모두 사용해보고 튜닝해본 경험이 있는 분들.
수업 신청 하러가기 >

수업은 수강생분들이 기본적인 파이썬 프로그래밍 지식이 있다는 가정하에 진행합니다.

더 구체적으로 설명하자면, 파이썬을 활용한 간단한 수학 연산과 자료형(숫자, 문자열, 리스트), 반복문과 제어문, 함수 정도만 이해할 수 있다면 충분합니다. 추가로 클래스나 모듈, 패키지를 이해하고 있다면 수업을 따라오는 데 도움이 될 수 있으나 이는 필수는 아닙니다.

만일 파이썬이 아닌 다른 언어(ex: R, C언어, 자바 등등)에 익숙한 분들이라도 하루~이틀 정도 시간을 들여서 파이썬을 미리 예습하면 수업을 따라오는데 큰 지장이 없을 것입니다. 머신러닝에서 중요한 건 알고리즘이지 프로그래밍 언어가 아니기 때문에, 파이썬을 잘 모르더라도 다른 프로그래밍 언어를 사용해본 경험이 있다면 큰 문제가 되지 않습니다.

마찬가지로 필수는 아니지만, 파이썬 프로그래밍 지식 이외에도 데이터사이언스에 대한 간단한 지식이 있으면 수업을 따라가는 데 도움이 됩니다. 또는 머신러닝 알고리즘의 구체적인 원리에 대해 모르더라도, 협업 필터링(Collaborative Filtering)이나 로지스틱 회귀(Logistic Regression), 의사결정나무(Decision Tree)와 같은 몇몇 머신러닝 알고리즘을 사용해본 경험이 있으면 수업을 이해하는 데 도움이 될 것입니다.

마찬가지로 필수는 아니지만, 파이썬 프로그래밍 지식 이외에도 데이터사이언스에 대한 간단한 지식이 있으면 수업을 따라가는 데 도움이 됩니다. 또는 머신러닝 알고리즘의 구체적인 원리에 대해 모르더라도, 의사결정나무(Decision Tree)나 랜덤 포레스트(Random Forest)와 같은 몇몇 머신러닝 알고리즘을 사용해본 경험이 있으면 수업을 이해하는 데 도움이 될 것입니다.

수업 신청 하러가기 >

다른 수업과의 가장 큰 차이는 1) 최신 머신러닝 트렌드에 기반한 커리큘럼으로 구성되어 있으며, 2) 단순한 이론 설명 뿐만 아니라 실제 작동 원리를 코드로 하나하나 실습해가며 수업을 들을 수 있고, 3) 실제 사례를 바탕으로 머신러닝 알고리즘을 학습할 수 있도록 구성되어 있습니다.

먼저 DS스쿨의 머신러닝 심화 과정은 가장 기초적인 머신러닝 알고리즘(ex: 협업 필터링(Collaborative Filtering))부터 시작하여 선형 회귀(Linear Regression), 로지스틱 회귀(Logistic Regression), 의사결정나무(Decision Tree), 랜덤 포레스트(Random Forest), 그리고 가장 최근에 나온 알고리즘이자 가장 강력한 머신러닝 알고리즘이라고 할 수 있는 그래디언트 부스팅 머신(Gradient Boosting Machine)까지 거의 모든 머신러닝 알고리즘을 차례대로 훑습니다.

이 중에서도 현업에서 가장 많이 쓰이는 그래디언트 부스팅 머신(Gradient Boosting Machine)을 집중적으로 다루며, 단순이 알고리즘의 이론 설명을 넘어서서 이를 실전에서 사용하기 위한 다양한 구현체인 XGBoost나 LightGBM, CatBoost 등도 다룹니다. 또한 이 구현체를 활용하여 그래디언트 부스팅 머신(Gradient Boosting Machine)을 정밀하게 튜닝하는 노하우까지 합쳐서, 머신러닝 알고리즘을 실용적으로 사용할 수 있는 거의 모든 노하우에 대해서 공유할 예정입니다.

또한 DS스쿨의 머신러닝 심화 과정은 단순한 이론 설명을 넘어서서, 프로그래밍 언어 파이썬으로 코드를 하나하나 실행해가며 구체적인 동작 원리를 파악할 수 있도록 구성되어 있습니다. 또한 이 과정에서 수강생분들이 예습/복습을 할 수 있는 충분한 과제와 자료를 제공하며, 동시에 수강중에 궁금한 내용을 질문하고 어려운 부분에 도움을 줄 수 있는 조교분이 매 수업마다 상시 대기하고 있습니다. 이 조교분들은 온라인에서도 상시 대기중이며, 수강생분들은 온라인을 통해 언제든지 궁금한 점을 여쭤볼 수 있습니다.

마지막으로 DS스쿨의 머신러닝 심화 과정은 다른 수업에서 자주 쓰이는 토이 프로젝트용 데이터셋(Iris, MNIST, etc)이 아닌 실제 현실 세계에서 발생하는 사례와 그 데이터셋을 머신러닝으로 풀어봅니다. 가령 실제 전자상거래의 상품 데이터를 활용하여 상품을 추천해주는 추천 엔진을 만들거나, 상품의 태그 데이터를 바탕으로 자동으로 태깅을 해주는 알고리즘을 직접 만들어 볼 것입니다.

마지막으로 머신러닝 심화반은 알고리즘에 대한 이론적 설명 뿐만 아니라, 이를 실제 사례에 적용하는 방법도 자세히 다룹니다. 수강생분들은 데이터사이언스 경진대회인 캐글(Kaggle)에 참여하며, 수업에서 배운 알고리즘으로 캐글 경진대회의 상위권(상위 10% 이내)에 도달할 수 있도록 노력합니다. 이 과정을 통해서 알고리즘을 실제 사례에 적용하는 법을 배우게 됩니다.

수업 신청 하러가기 >

DS스쿨의 머신러닝 심화 과정을 완주하면, 현업이나 연구에서 쓰이는 거의 모든 머신러닝 알고리즘을 습득하게 됩니다. 특히나 정형화된 데이터셋(Structured Dataset, 쉽게 말해 행렬이 명확한 거의 모든 엑셀 형식의 데이터)에 한해 가장 강력한 성능을 발휘하는 주요 알고리즘(협업 필터링(Collaborative Filtering), 랜덤 포레스트(Random Forest), 그래디언트 부스팅 머신(Gradient Boosting Machine) 등)의 원리를 완벽하게 이해하고 이를 실전에 활용할 수 있습니다.

이를 확인하기 위해, 수업 후반부에는 데이터사이언스 경진대회 캐글(Kaggle)에 참여합니다. 수업을 완주하게 되면 수강생 분들은 전자상거래 상품의 카테고리를 분류하는 경진대회에 참여해서, 아무런 사전 데이터 분석 없이 순수하게 머신러닝 알고리즘을 튜닝하는 것 만으로 상위 10%에 도달할 수 있는 노하우를 얻게 될 것입니다.

보통 캐글에서는 상위 10% 안에 든 참석자를 전문적인 데이터 관련 업무를 할 수 있는 프로페셔널한 데이터 사이언티스트라고 평가하는데, (해당 참석자에게는 캐글에서 공인하는 동메달 마크가 부여됩니다. 이 동메달은 캐글 상위 10%를 상징합니다) 순수하게 머신러닝 알고리즘을 튜닝하는 것 만으로 상위 10%에 도달할 수 있다면 현장에서 머신러닝 알고리즘에 대한 이해도가 부족해서 문제가 생기는 일은 거의 발생하지 않습니다.

만일 머신러닝을 연구나 논문 집필에 활용하기를 원하는 연구자 분은, 의료나 공학을 제외한 거의 모든 분야에서(ex: 사회과학, 인지심리학, 문화인류학 등) 연구나 논문 집필에 활용할만한 지식을 습득할 수 있다고 보시면 됩니다.

수업 신청 하러가기 >

DS School이 자신있게 권하는 딥러닝 강좌

기본적인 프로그래밍 실력과 수학 능력을 갖췄지만, 인공지능과 딥러닝에 관한 지식이 전혀 없는 분들을 대상으로 합니다. 특히나 딥러닝을 활용한 자연어처리(Natural Language Processing)나 영상처리(Image processing), 음성인식(Speech Recognition)에 관심이 많은 분을 위한 커리큘럼으로 구성되어 있습니다.

만일 모두를 위한 딥러닝이나, 타 교육기관에서 진행한 딥러닝 강의(ex: 패스트캠퍼스)가 어렵게 느껴졌던 분들에게는 이 수업을 듣는 것을 적극적으로 추천합니다. 수업의 취지 자체가 이전에 제가 진행한 교육 과정(소프트웨어 마에스트로)에서 기존의 딥러닝 수업을 어려워하던 연수생에게 딥러닝을 쉽게 설명하고자 개설한 강의이기 때문입니다.

반면 스탠포드의 CS231n이나 CS224n 를 들은 경험이 있고, 이 수업의 내용을 모두 이해한 분들에게는 이번 수업이 너무 쉽게 느껴질 수 있으므로 수강을 추천하지 않습니다.

수업 신청 하러가기 >

수업은 수강생분들이 기본적인 파이썬 프로그래밍 지식이 있다는 가정하에 진행합니다.

더 구체적으로 설명하자면, 파이썬을 활용한 간단한 수학 연산과 자료형(숫자, 문자열, 리스트), 반복문과 제어문, 함수 정도만 이해할 수 있다면 충분합니다. 추가로 클래스나 모듈, 패키지를 이해하고 있다면 수업을 따라오는 데 도움이 될 수 있으나 이는 필수는 아닙니다.

만일 파이썬을 배웠지만 잊어버렸거나, 파이썬 외의 다른 프로그래밍 언어를 공부한 분들은 점프 투 파이썬의 2장 ~ 4장 정도를 공부해오시면 수업을 따라오는데 도움이 될 것입니다.

수학은 미분에 대한 기초적인 개념을 이해하고 있으면 수업을 따라오는데 큰 도움이 됩니다. 만일 합성함수의 미분(Chain Rule)을 들어본 적이 있다면 수업을 따라오는데 수학적으로 걸림돌이 되는 경우는 없을 것입니다.

하지만 이전까지 수업을 수강하신 분들이 미분에 대한 개념을 모르거나 잊어버린 경우가 많았기 때문에, 수업에서는 수강생분들이 미분의 개념을 모른다는 전제 하에 하나하나 차근차근 알려드리고 있습니다.

수업 신청 하러가기 >

현재 공개되어있는 딥러닝 수업은 크게 두 가지 방식으로 나누어집니다.

첫 번째는 대학교에서 진행하는 정규 수업입니다. 스탠포드의 CS231n, 내지는 제프리 힌튼 교수의 딥러닝 수업이 대표적입니다. 위 수업은 딥러닝 알고리즘을 처음부터 끝까지 굉장히 꼼꼼하게 설명하기 때문에 딥러닝의 기초를 탄탄하게 다지기에 매우 좋습니다.

하지만 수업 자체가 잘 하는 몇몇 학생들을 선별하여 높은 학점을 주고 대학원을 보내는 목적으로 개설한 강의이기 때문에, 수업의 난이도가 상당히 높게 구성되어 있습니다. (이는 대부분의 대학교/대학원 수업이 가진 공통적인 단점입니다) 위 수업은 적어도 스탠포드/토론토대 학부생 수준의 기초 지식과 시간적 여유를 갖추고 있지 않다면 수업을 따라가는 것이 불가능합니다.

마찬가지로 국내의 대학원 수업에서 파생된 다른 딥러닝 강의 역시 관련 전공의 대학생이 아니라면 수업을 이해하는 것이 불가능합니다.

반면 이 수업의 목표는 대학원 수업처럼 소수의 정예를 걸러내는 것이 아닌, 한 명의 낙오자도 없이 모두가 딥러닝을 완벽하게 학습하는 것입니다. 그 때문에 일반인이 이해하기 어려운 내용이 있으면 최대한 쉽게 풀어서 설명하도록 노력했으며, 특히나 이론적인 부분을 직접 코드로 작성하면서 실험해보고, 검증해보고, 이를 통해 이해도를 높이는 과정을 포함하였습니다.

두 번째는 대학교의 정규 수업은 아니지만, 인터넷에 공개되어있는 딥러닝 강좌입니다. 이 강좌들은 굉장히 실용적인 내용으로 구성되어 있으며, 아주 빠른 시간 내에 딥러닝을 배워서 사용하는 것을 목표로 커리큘럼이 만들어져 있습니다.

문제는, 위 수업은 “누군가가 제시한 딥러닝 알고리즘을 어떻게 코드로 구현할 것인가?" 에 치중되어 있기 때문에, 딥러닝의 기초를 쌓을 수 있는 내용이 부족합니다. 제 개인적인 경험상 위와 같은 수업으로 딥러닝을 배운 수강생분들의 경우 실제 딥러닝 관련 업무를 맡기면 전혀 수행하지 못하는 경우가 대부분이었습니다.

만일 본인이 딥러닝의 weight를 어떻게 초기화해야 하는지, loss가 제대로 수렴하지 않는다면 어떤 문제가 있는지, 또한 인터넷에서 다운받은 딥러닝 모델이 잘 동작하지 않는데 그 원인을 찾는 법을 모르겠다면 아마 기초가 탄탄하지 않아서 생기는 문제라고 보시면 됩니다.

개인적인 경험으로, 처음부터 텐서플로우(Tensorflow)나 파이토치(Pytorch)만으로 진행하는 수업 과정에서 특히나 이런 문제가 많이 일어납니다. 텐서플로우는 딥러닝의 너무 많은 절차를 내부에 숨겨두기 때문에 딥러닝의 원리를 코드로 파악할 수 없으며, 자연스럽게 이론과 멀어진 채 주어진 패턴에 따라 코드를 구현하는 데에만 집중하게 됩니다.

그 때문에 딥러닝을 처음 배울 때는 가능한 동작 원리를 먼저 파악하고, 이를 파이썬으로 하나하나 구현해보면서 문제를 해결하는 것을 추천해 드립니다. (놀라운 사실은, 파이썬으로 작성하는게 텐서플로우로 작성하는 것 보다 코드의 분량이 훨씬 적습니다!) 이 수업에서는 텐서플로우(Tensorflow)나 파이토치(PyTorch)를 수업의 후반부에 집중적으로 다루며, 그 전에는 파이썬으로 직접 딥러닝 알고리즘을 구현하는 것을 중점적으로 설명하고 있습니다.

수업 신청 하러가기 >

수업의 최종 목표는 딥러닝을 활용하여 학교나 회사에서 직접 사용할 수 있는 경지까지 도달하는 것입니다. 수업은 딥러닝을 이용한 자연어 처리(Natural Language Processing), 이미지 인식(Image Recognition), 음성 인식(Speech Recognition) 대한 대부분의 내용을 다루며, 구체적으로 들어가자면 다음의 세부 분야를 다루게 될 것입니다.

  • 워드 임베딩(Word Embedding)
  • 기계번역(Machine Translation)
  • 이미지 인식(Image Recognition)
  • 음성 인식(Speech Recognition)

또한 다음의 분야에 대해서도 깊게 들어가지는 않지만, 트렌드를 파악할 수 있는 정도의 개략적인 내용을 다루게 될 것입니다.

  • 질의응답 시스템(Question Answering) 및 챗봇(Chatbot)
  • 자연어 생성(Natural Language Generation)
  • 이미지 위치 탐색(Image Detection, Segmentation)
  • 이미지 생성(Image Generation)
  • 음성 합성(Text to Speech)

이론은 가장 기본적인 딥러닝 알고리즘인 Perceptron과 Multi-layer Perceptron부터, 딥러닝의 혁신을 주도한 주요 모델(LeNet5, AlexNet, Resnet, Word2vec, Seq2Seq, etc), 그리고 최신 딥러닝 알고리즘(DenseNet, GAN, BERT, etc) 까지 전부 다룹니다.

실전에서는 구현된 모델을 그대로 사용하면 정상적으로 동작하지 않기 때문에 이를 수정하는 과정을 거쳐야 합니다. 여기서부터 본인의 딥러닝에 대한 이론적 완성도를 시험받게 됩니다. 이론이 탄탄하지 않으면 문제를 파악하는 것도, 파악한 문제를 고치는 법도 알 수 없습니다. 하지만 이번 수업에서는 이런 상황이 발생하지 않도록, 딥러닝의 원리를 하나하나 파악하며 딥러닝을 구현하는 과정을 거칠 것입니다.

수업 신청 하러가기 >

DS School이 자신있게 권하는 온라인 강좌

입문반 수강생, 내지는 프로그래밍과 데이터사이언스에 대한 기초 지식을 갖고 있는 분들 중, 본인의 데이터사이언스 스킬을 한 층 더 키우고 싶은 분들을 대상으로 합니다. 이 수업을 듣게 되면 대부분의 데이터사이언스 업무, 특히나 100만개 이상의 데이터를 다루는 업무에서 현장에 즉시전력으로 투입될 수 있는 실력을 갖게 됩니다.

수강생은 데이터사이언스 경진대회 캐글(Kaggle.com)에 가입하여 다른 데이터 사이언티스트들과 경쟁하게 됩니다. 이번에 참여하는 경진대회는 San Francisco Crime Classification으로, 샌프란시스코에서 발생한 범죄의 세부 종류를 예측하는 문제를 풉니다. 보통 캐글에서는 경진대회의 상위 10% 안에 드는 사람을 현장에서 즉시전력으로 투입될 수 있는 데이터사이언티스트로 간주하는데, 이번 수업의 목표는 수업을 통해 가능한 스스로의 힘으로 San Francisco Crime Classification 경진대회의 상위 10%에 드는 것입니다.

수업 신청 하러가기 >

수업은 프로그래밍 언어 파이썬에 대한 기초적인 지식과, 데이터사이언스에 대한 기초 지식을 보유하고 있으면 충분히 따라올 수 있습니다.

프로그래밍은 파이썬으로 진행하며, 점프 투 파이썬 수준의 파이썬 지식만 있으면 수업을 충분히 이해하실 수 있습니다. (파이썬을 공부해본 적 없는 분들은, 하루-이틀 정도 시간을 들여 점프 투 파이썬을 실습해 오시는 걸 추천해 드립니다)

데이터사이언스는 초보적인 지식과 머신러닝 사용법을 숙지하고 있으면 충분합니다. 머신러닝 알고리즘인 의사결정나무(Decision Tree)와 랜덤 포레스트(Random Forest)에 대한 기초적인 지식을 보유하고 있고, 이 알고리즘에 대한 사용법을 숙지하고 있으면 충분합니다. (추가로 그래디언트 부스팅 머신(Gradient Boosting Machine)에 대한 이해도가 있으면 플러스이나, 이는 필수가 아닙니다)

수업 신청 하러가기 >

DS School의 온라인 강좌는 단순한 단방향 형식의 동영상 강좌가 아닙니다. 수업은 동영상과 이를 실습할 수 있는 인터렉티브한 툴(일명 라이브북)이 함께 제공되며, 수강생이 인터렉티브 툴에서 실습을 진행할 때 마다 이를 부연설명하는 동영상이 자동으로 실행됩니다. 이 인터렉티브 툴을 사용하면, 수강생은 오프라인 수업과 거의 유사한 수준의 몰입도를 경험할 수 있습니다.

또한 인터렉티브 툴 이외에도, 수업을 진행하면서 수강생분들의 완주를 도울 수 있도록 담당 조교를 배정하고 있습니다. 이 조교분들은 데이터사이언티스트로써 현업에 일하고 계시거나, 내지는 관련 석박 전공자로 구성되어 있으며, 수강생분들이 수업을 따라가실 수 있도록 주기적으로 진도를 체크하고, 낙오되지 않도록 밀착 관리를 해주실 겁니다.

수업을 따라오시면서 막히는 상황에서는 조교님들과 상시로 1:1 상담이 제공됩니다. 상담은 라이브 채팅툴을 통해 진행되며, 채팅 상담을 하다가 크게 막히는 부분이 생기면 조교님의 화상통화를 통해 1대1 과외를 받는 것도 가능합니다.

수업 신청 하러가기 >

강좌를 완주하면, 최종적으로는 현업에서 데이터사이언티스트로 활동할 수 있을 만큼의 지식과 경험을 얻게 됩니다. 이번 수업에는 크게 다음과 같은 지식을 얻을 수 있습니다.

* 실제 현장에서 쓰이는 머신러닝 알고리즘, 특히나 가장 강력한 머신러닝 알고리즘으로 유명한 그래디언트 부스팅 머신(Gradient Boosting Machine)을 활용한 예측 방법을 배울 수 있습니다. 또한 그래디언트 부스팅 머신을 튜닝할 수 있는 다양한 방법(트리의 갯수를 늘리거나, 여러 개의 트리를 섞을 때 중요한 트리를 먼저 선별해서 섞는 방법 등)을 배울 수 있습니다.

* 엑셀 데이터 기준 행이 100만 개에 육박하는 대용량 데이터를 빠르고 효율적으로 다룰 수 있는 노하우를 얻을 수 있습니다. 이번 수업을 배우면, 100만 개 이하의 데이터는 어렵지 않게 분석 가능하다고 보시면 되고, 실제 현업에서 100만 개 이상의 데이터를 보유하고 있는 회사 자체가 많지 않기 때문에, 사실상 거의 모든 회사의 데이터를 다룰 수 있는 노하우를 얻는다고 보시면 됩니다.

* 일반적인 숫자나 텍스트 데이터 이외에도, 시간, 좌표, 그리고 주소값과 같은 현실세계에서 일어날 수 있을법한 정보를 집중적으로 다루게 됩니다. 이러한 데이터를 가장 연산 효율적으로, 메모리 효율적으로 머신러닝 알고리즘에 집어넣는 법을 집중적으로 배우게 됩니다.

수업 신청 하러가기 >

결제하기

입문반 속성 온/오프라인 과정을 선택하셨습니다

  • 구매 후 즉시 수강!
    온라인 강의이기 때문에 구매 후 바로 수강하실 수 있습니다.
  • 미션 완료시, 장학금 5만 원 지급!
    주차별 과제와 퀴즈를 모두 풀고 수업을 완강하면, 장학금 5만원을 지급해드립니다.
정가:
990,000원
할인금액(40%):
396,000원
교재비 면제:
29,000원
할인 후 가격:
594,000원
12개월 할부 시 49,500원

결제 정보

카드 정보는 안전하게 암호화되며,
결제가 끝난 뒤 바로 폐기 처리됩니다

대부분의 카드사가 5개월 무이자를 지원합니다. (자세히 보기) 단 체크카드 및 법인카드는 할부가 지원되지 않습니다.

결제 문의는 우측 하단의 말풍선
또는 070-8865-1680 으로 연락 주세요.

무통장 입금을 원하시는 경우
국민은행 349401-04-270347
(예금주: 더넥스트스쿨 주식회사)

입금 부탁드립니다.

결제 문의는 우측 하단의 말풍선
또는 070-8865-1680 으로 연락 주세요.

해외 결제는 PayPal을 지원합니다.

수강생들의 실제 후기

취업/이직에 성공한 졸업생들 후기

요즘 머신러닝에 흥미를 가진 사람들이 많고 관련된 자료는 더 많은 시대가 되었지만 어떻게 시작해야 좋을지 아는 사람은 많지 않습니다. 강성희님과 함께하면서 그저 머신러닝에 흥미만 있었던 저는 차근차근 무엇을 해야 할지 따라갈 수 있었습니다. 실제로 프로젝트를 수행하면서 배운 것은 무엇과도 바꿀 수 없는 값진 경험이었습니다.

- 유상현 (한양대 컴공 졸업) NC소프트 AI랩 입사

대학생 시절부터 인공지능과 머신러닝에 대한 흥미가 있었으나, 이를 가르쳐주고 실전에 적용할 수 있는 방법을 알려주는 곳은 많지 않았습니다. 그러던 중 강성희 강사님의 수업을 통해 다양한 데이터 분석 및 모델링 노하우를 전수받았고, 이 경험과 가치를 인정해준 카카오브레인에 입사할 수 있었습니다. 이번 수업을 통해 여러분들도 이러한 값진 노하우를 전수받는다면 좋겠습니다.

- 이주진 (연세대 수학과 학사 휴학) 카카오브레인 입사

이 수업을 통해 딥러닝 알고리즘을 이미지 데이터에 적용하는 기초 개념을 잡을 수 있었으며, 요 근래 나오는 최신 논문을 막힘없이 읽을 수 있는 기반 지식을 탄탄하게 갖출 수 있었습니다. 그 덕분에 네이버 이미지 검색팀에 합격할 수 있었고, 현재는 그동안 배운 내용을 활용하여 검색팀에서 딥러닝 검색모델을 구현 및 개발하고 있습니다. 만일 딥러닝에 관심이 많고, 장기적인 관점에서 취업이나 이직을 고려하는 분들에게는 본 강의를 강력하게 추천합니다.

- 김인식 (UNIST 졸업) 네이버 Search / Vision 팀 입사

기존에는 학생 신분으로써 데이터를 받아 분석 해보기가 쉽지 않았습니다. 그러던 중 강사님의 Kaggle 강의를 통해 기초적인 이용법과 함께 관련 코딩 스킬을 접할 수 있는 기회가 되었고, 그를 시작으로 다양한 데이터를 다뤄 보고 뛰어난 분석가들이 공유하는 스크립트를 찾아보며 데이터 분석의 재미를 느낄 수 있게 되었습니다. 그리고 그 경험을 통해 현재 업무 스킬의 기반이 될 수 있었습니다.

- 최일지 (부경대 시스템경영공학과 석사 졸업) 카카오브레인 입사

현업 전문가들의 추천사

Ref 1

송치형 CEO

두나무 주식회사
(업비트, 카카오증권)

강성희 멘토님은 소프트웨어마에스트로 과정에서도 훌륭한 멘토로 소문나 있고, 저희 회사에 소개해 주신 수강생들 모두 뛰어난 개발자입니다. 강성희 멘토님의 수업을 수강하는 것은 실력을 빠른 기간에 높일 수 있는 좋은 기회가 될 것이라 생각합니다. 스타트업에서 개발자들을 보내 교육을 시켜도 좋을 것 같습니다. 개발자분들과 스타트업 임원진 분들께 추천드립니다.

Ref 2

이택경 CEO, MashUp Angels

前 다음 커뮤니케이션 CTO

데이타사이언스의 필요성은 향후 다양한 비즈니스 분야 전반에 걸쳐 더욱 커질것으로 예상되며, 이로인해 데이터 사이언스는 비즈니스의 중요한 한축이 될것입니다. 제가 담당하는 개발자들을 위해 데이터 사이언스 교육과정을 포함시켰고, 강성희 대표의 실습에 기반한 강의는 학생들에게 만족도가 높았습니다. 이후 수강생 중 한명은 매쉬업엔젤스 포트폴리오팀에 입사하기도 하였습니다. 데이터 사이언스에 관심 있는 분들에게 이 강의를 꼭 권하고 싶습니다.

Ref 3

정규환 CTO, VUNO

데이터분석 기술기반의 스타트업에서 CTO로 일하면서 가장 함께하고 싶은 인재는 문제 정의부터 분석 결과 도출하기 까지의 전과정에 필요한 스킬과 경험을 갖추고 있거나 혹은 빠르게 습득하여 합류 즉시 실제 업무에서 함께 일할 수 있는 개발자일 것입니다. 이러한 인재는 스스로의 다양한 현업 경험이나 시행착오로도 성장할 수 있지만, 훌륭한 프로그램의 체계적인 교육을 통해서도 육성될 수 있음을 이미 경험하고 있습니다. 본 강연은 많은 경험을 쌓은 최고의 강사진이 진행하는 만큼, 인공지능/빅데이터 시대에서 가장 중요한 역할을 할 데이터 개발자들이 다수 탄생할 수 있을 것으로 기대합니다.

Ref 4

최시원 CEO, ZOYI

이제 IT 시대가 아니라 DT(Data Technology) 시대 입니다. 쏟아지는 방대한 데이터에서 의미 있는 정보를 추출하는 능력이야 말고 미래의 핵심 가치가 될 것입니다. 많은 스타트업의 그로스 해킹 전략에 데이터의 분석, 인사이트 도출, 실험 및 결과 데이터를 재 분석하는 루프가 활용됩니다. 강성희님이야 말로 이런 새로운 시대를 준비하는 데 적격입니다. 강의를 통해 새로운 시대를 준비하고 능력을 배우게 됨으로써 한 단계 성장하는 기회가 되실 겁니다.

수업 일정 안내

장소 안내 및 준비물

DS스쿨 강남 강의장
  • 주소: 강남구 테헤란로 111 신관 준경타워 8층
  • 강남역 12번 출구에서 1분 거리에 있는 커피빈 뒷 건물에 위치하고 있습니다.
  • 대건빌딩(커피빈건물) 1층 로비를 통과하여 뒷문으로 나가시면 준경타워 엘리베이터가 있습니다.
  • 교육장의 위치가 강남역에서 도보로 1분 거리에 있으므로 지하철을 이용하시면 편리합니다.
  • 자가용을 이용하시는 경우 강남역 근처에 있는 대륭타워 주차장(유료)을 추천해드립니다.
DS스쿨 강북 강의장
  • 주소: 마포구 새창로 11 공덕빌딩 10층 대강의실
  • 공덕역 9번 출구 1분 거리에 위치해 있습니다.
  • 5호선 / 6호선 / 경의중앙선을 타고 오시는 분들은 8번 출구로 나오셔서 2분 걸어오시면 됩니다.
  • 1층에 SKT가 입점한 검정색 빌딩 10층에 위치하고 있습니다.
  • 자가용을 이용하시는 경우 도화동 주민센터 주차장(유료) 이용을 권장해 드립니다.
DS스쿨 분당 강의장
  • 주소: 경기도 성남시 분당구 황새울로335번길 10 멜로즈프라자 5층 501호
  • 서현역 4번 출구 1분 거리에 위치해 있습니다.
  • 교육장의 위치가 서현역에 가까우므로 지하철을 이용하시면 편리합니다.
준비물
  • 워크샵에 개인 노트북 지참 (필수)
  • 노트북이 없으신 분들은 사전 문의 바랍니다.

커리큘럼 설명

프로그래밍 입문 1:1 온라인 과외반 커리큘럼 | 커리큘럼 다운로드

과정 소개 및 테스트 주도 개발을 활용한 웹 페이지 크롤러 구축 시연.

  • 강사 소개.
  • 프로그래밍 언어 파이썬과 테스트 주도 개발(TDD) 방법론을 활용해서 누구나 간단하게 웹페이지 크롤링하는 법을 배우기.
  • 앞으로 4주간의 주제와 배워야 할 것, 최종 목표를 잡기.

DS School 프로그래밍 입문반에서 처음 다룰 대주제는, “왜 같은 프로그래밍 언어인 파이썬을 쓰는데 잘하는 프로그래머와 그렇지 않은 프로그래머 간의 격차가 생기며, 이 차이가 결국 연봉의 차이로 이어질까?"를 깨닫는 것입니다.

전통적인 소프트웨어 교육 과정에서는 이 부분을 명확하게 설명해주지 않습니다. (그리고 학문적으로 깊게 다루지도 않습니다) 그래서 대부분의 컴퓨터공학과 출신은, 이를 수업이 아니라 중간/기말 과제에서 맨땅에 헤딩하듯이, 그리고 취업 후에도 1~2년간 독학으로 깨우치게 됩니다.

시대는 변하여, 같은 프로그래밍 언어를 사용함에도 성과와 연봉 테이블의 차이가 나는 이유를 궁금해하는 사람들이 생겨나기 시작했고, 이 생산성(Productivity)의 차이를 줄이기 위한 여러 가지 학습 방법론을 제시했습니다. 이 과정에서 나온 가장 효과적인 소프트웨어 개발 방법론이 바로 테스트 주도 개발(TDD)입니다.

그런 의미에서, 이번 수업에서는 테스트 주도 개발(TDD)이 무엇인지, 왜 이 방법론이 개발자의 생산성을 늘려주며, 어떠한 과정을 통해 여러분들을 초심자에서 현업 프로그래머로 바꿔줄 수 있는지 강사가 시연을 통해 보여드립니다. 이번 시연에서는 유명 전자상거래 회사(쿠팡, 지마켓 등) 또는 SNS(인스타그램, 페이스북 등)의 정보를 자동으로 수집하는 웹 크롤러를 TDD로 구현해볼 생각입니다. 이 시연에서 여러분들에게 보여드리고 싶은 부분은 다음과 같습니다.

  • 큰 기능을 구현해야 할 경우, 이 기능을 한 번에 구현하지 않고 작게 쪼개서 구현하는 방법을 보여드립니다. 가령 전자상거래(ex: 쿠팡, 지마켓) 서비스의 상품 정보를 크롤링한다면, 처음부터 모든 페이지를 크롤링할 필요 없이 1) 상품 정보 페이지, 2) 특정 카테고리의 상품 리스트 페이지, 3) 전체 카테고리 페이지 순으로 크롤링하면 됩니다. 그 과정에서 겹치는 기능이 있다면 이를 자연스럽게 모듈화해서 재활용하는 방법도 알려드립니다.
  • 어떠한 기능을 구현했을 때, 이 기능이 지금뿐만 아니라 앞으로도 잘 동작하도록 구현하는 방법을 알려드립니다. 가령 인스타그램을 크롤링한다고 했을 때, 인스타그램의 디자인이 바뀌면 크롤러가 동작하지 않을 수도 있습니다. 이 경우 1) 크롤러가 동작하지 않는다는 사실을 빠르게 파악해야 하고, 2) 구체적으로 인스타그램 전체 디자인의 어떤 부분이 바뀌어서 문제가 생겼는지 파악해야 합니다. 이를 위해 단위테스트(unit test)라는 걸 작성하는 법을 보여드립니다.
  • 기존에 배우지 않은 새로운 기능을 파이썬에서 사용해야 할 때, 이를 빠르게 구글에 검색해서 관련 문서를 찾고 활용하는 법을 배웁니다. 이 노하우만 배우면 여러분들은 특정 분야에 구애받지 않고 모든 분야를 아우를 수 있는 개발자가 될 수 있습니다.

이 시연을 전부 보게 되면, 파이썬과 TDD의 기본만 배우면 누구나 프로그래밍으로 크롤러를 구현할 수 있다는 사실을 깨닫게 될 것입니다. 그리고 이를 배우는 앞으로의 3주간의 과정에 대해서 자세히 설명을 드린 후, 수업을 마무리합니다.

수업 신청 하러가기 >

2주차 수업에서는 모든 프로그래밍의 기본이 되는 프로그래밍 언어에 대해 배웁니다. 수업에서는 가장 현대적이고 대중적인 프로그래밍 언어 중 하나인 파이썬(Python)에 대해 배울 것이며, 간단한 문법과 원리를 배운 뒤 바로 파이썬을 실생활에 응용할 수 있는 간단한 문제를 풀어봅니다.

이번 수업에서 중점적으로 다루고 싶은 내용은 다음과 같습니다.

  • 파이썬의 기본 연산. 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 연산자 등.
  • 파이썬의 비교 연산. 등호(==)와 부등호(!=), 이상, 이하, 미만, 초과 등.
  • 파이썬의 변수. 변수를 할당하는 법과 사용하는 법 등.
  • 파이썬의 다양한 데이터 타입. 숫자, 문자열(텍스트), 리스트(배열) 등.
  • 파이썬에서 에러가 발생하는 경우, 그리고 에러가 발생했을 때, 이를 어떻게 하면 빠르고 효율적으로 해결할 수 있는지 배웁니다.
  • 파이썬의 제어문과 반복문. if-else와 for 등.
  • 파이썬의 함수와 그 응용 등.

마지막으로 프로그래밍 문법을 복습하고 이를 실생활에 응용할 수 있는 간단한 프로그래밍 과제를 함께 풀어봅니다. 이번 과제에서는 수강생에게 상품 데이터와 구매 데이터가 주어졌다는 가정하에, 고객의 다수의 상품을 구매했을 때 할인 정보와 기타 혜택을 계산한 최종 매출을 자동으로 계산하는 프로그램을 만들 것입니다. (그리고 이를 엑셀에 자동으로 집어넣는 법까지 알려드립니다) 이 과정에서 여러분들이 배울 수 있는 내용은 다음과 같습니다.

  • 파이썬의 기본 수학 연산. 상품 가격과 구매량으로 매출을 계산하고, 그 과정에서 할인 조건과 각종 혜택이 들어갈 경우의 최종 가격을 산정합니다.
  • 파이썬의 분기(if 문)와 반복문(for 문). 이를 활용해서 다양한 할인 조건을 구현합니다. 특정 할인 혜택이 들어갈 경우 그에 맞게 가격을 차감해야 합니다.
  • 함수로 기능을 모듈화. 매출은 반복적으로 계산해야 하기 때문에, 이를 함수로 모듈화해서 언제든지 재활용할 수 있도록 합니다.
  • 테스트 주도 개발(TDD)의 기본. 할인 조건을 한 번에 풀지 않고 하나하나 구현하는 법을 배웁니다. 그리고 특정 할인 조건을 구현할 때, 다른 할인 조건을 구현한 코드에 영향이 없도록 구현하는 법을 배웁니다.

이 과제를 전부 구현하였으면, 마지막으로 이 계산 결과를 엑셀에 자동으로 집어넣는 부분까지 구현하고 수업을 마무리합니다.

수업 신청 하러가기 >

2000년대 이후로 소프트웨어 개발의 난이도는 현격히 낮아지고 있습니다. 그러면서 자연스럽게 프로그래밍 언어는 대중화되고, 동시에 하나의 프로그래밍 언어가 많은 기능을 포함하기 시작했습니다.

그렇기에 요즘은 프로그래머에게 하나의 분야(ex: 웹, 모바일 등)가 아닌, 여러 분야를 담당하는 개발자가 되기를 기대하는 시대가 오고 있습니다.

하지만 아무리 뛰어난 프로그래머라도 파이썬이라는 방대한 프로그래밍 언어에 존재하는 모든 기능을 배우는 것은 불가능합니다. 그렇다면 개발자는 어떻게 여러 분야를 동시에 개발할 수 있을까요? 방법은 간단한데, 아직 배우지 않은 분야에 대한 문서와 튜토리얼을 빠르게 읽고 습득하는 능력을 갖추고 있기 때문입니다.

이번 수업에서는 2주차에서 배운 내용을 바탕으로, 지금까지 내용이 아닌 새로운 기능을 스스로 배우기 위해서는 어떤 게 필요한지 살펴보겠습니다. 3주차의 주제는 텍스트 처리입니다. 주어진 텍스트 데이터를 다루되, 이를 1, 2주차 수업에서 배우지 않았음에도 스스로 빠르게 자료를 찾아 배우는 법을 공부합니다.

이를 위해서 주어진 신문 기사를 바탕으로, 특정 기사에 담겨있는 텍스트를 분석하는 방법을 배웁니다. 가령 신문 기사에 특정 키워드만 담긴 게시물만 검색하거나, 키워드 간의 중요도를 바탕으로 신문 기사의 우선순위를 산정하는 것도 배울 것입니다. 이후 해당 신문 기사를 작성한 기자분의 이메일로 PR 자료를 전송하는 이메일 자동 전송 프로그램까지 구축할 것입니다.

이번 수업에서 여러분들에게 알려드리고자 하는 내용은 다음과 같습니다.

  • 갑작스럽게 파이썬의 새로운 기능을 사용해야 할 경우, 이 기능을 빠르게 구글에서 검색한 뒤 문서와 튜토리얼을 찾아서 빠르게 습득하는 법. 가령 신문 기사가 저장된 파일을 파이썬으로 읽어와야 한다면 이를 구글에서 빠르게 검색해서 습득하는 법을 배웁니다.
  • 구현해야 하는 기능이 크고, 다양한 기능(신문 기사, 파일 읽어오기, 텍스트 처리, 이메일 전송)이 복잡하게 얽혀있을 때 이를 어떻게 쪼개서 하나씩 만드는지 배웁니다. 가령 저라면 모든 기능을 한 번에 만들지 않고, 1) 신문 기사 예시 몇 개를 가져와 키워드 검색 기능을 만들고, 2) 파일 로딩 기능을 만든 뒤, 3) 이메일 전송 기능을 만든 뒤, 4) 1, 2, 3번 기능을 하나로 합치는 방식으로 구현할 것입니다.
  • 이 과정에서 1, 2, 3번(텍스트 처리, 파일 읽어오기, 이메일 전송)을 어디서나 붙일 수 있도록 모듈화하는 법을 배웁니다. 모듈화를 잘해야 세 가지 기능을 문제없이 연결할 수 있고, 차후 기능을 재활용할 수 있습니다. 가령 이메일을 전송하는 모듈은 이번 기능 외에도 다른 기능을 구현할 때 재활용 할 수 있습니다. (ex: 고객에게 단체로 신규 상품에 대한 공지 메일 보내기)
수업 신청 하러가기 >

마지막 주차는 지금까지 배운 내용을 활용하여, 강사나 조교의 도움을 최대한 받지 않고 스스로 웹페이지에서 정보를 읽어오는 크롤러 시스템을 만들어보겠습니다. 이번에는 SNS 페이지(ex: 트위터, 페이스북, 인스타그램)에서 정보를 읽어와서 엑셀로 저장하는 법을 배우겠습니다.

이번 수업에서 배우고자 하는 내용은 다음과 같습니다.

  1. 웹 페이지를 파이썬에서 읽어오기 - 우리가 브라우저로 웹 페이지에 접속하는 것처럼, 파이썬으로도 웹 페이지에 직접 접속할 수 있습니다. 이번 수업에서는 파이썬으로 웹 페이지에 접속한 뒤 데이터를 읽어오는 법에 대해 배울 것입니다.
  2. 웹 페이지의 기본을 이해하기 - 웹페이지는 기본적으로 HTML이라는 태그(h3, p, span, etc)로 구성되어있습니다. 이 태그가 어떤 역할을 하는지 살펴보고, 동시에 HTML 외에 웹페이지를 구성하는 나머지 요소(CSS, Javascript)도 간략하게 살펴보겠습니다.
  3. 웹 페이지에서 정보를 읽어오는 법을 배우기 - 웹페이지의 개념을 이해하고 이를 파이썬으로 읽어오는 법을 배웠으면, 나머지는 웹 페이지에서 특정 부분(ex: 제목, 내용, 해시태그, etc)의 정보를 읽어오는 법을 배워보겠습니다.

또한 파이썬 기능 외적으로도 다음의 습관을 쌓는 법을 배울 것입니다.

  • 웹 페이지를 크롤링할 때, 한 번에 모든 페이지를 읽지 않고 하나하나 크롤링하기 - 가령 SNS 포스팅 전체를 한 번에 읽는게 아니라, 1) 제목, 2) 작성자, 3) 내용, 4) 해시태그 순으로 하나하나 만들면 빠르게 크롤러를 만들 수 있습니다.
  • 만든 크롤러를 앞으로도 잘 동작하게 하기 - 웹 크롤러를 만들 때 가장 큰 고민거리는, 크롤링한 페이지의 디자인이 변경되었을 경우 크롤러가 정상적으로 동작하지 않는다는 점입니다. 이를 위해 1) 크롤러가 동작하지 않을 때 빠르게 이 문제를 파악하고, 2) 전체 페이지에서 구체적으로 어떤 부분의 디자인이 변경되어서 정상적으로 동작하지 않는지 빠르게 파악하는 법을 배우겠습니다.
  • 크롤러를 다른 분야에도 재활용 할 수 있게 하기 - 크롤러를 하나 만들었다면, 자연스럽게 다른 웹페이지에도 크롤러를 사용할 수 있습니다. 이를 위해 크롤러를 모듈화해서 다른 웹페이지(ex: 신문기사, 전자상거래 페이지)에도 손쉽게 적용하는 방법을 배워보겠습니다.

크롤러를 다 만들었다면, 이 크롤러를 응용해서 SNS에 게시글을 올리는 일명 봇(bot)을 구현하는 방법까지 배우고 수업을 마무리합니다.

수업을 마무리하면, 마지막으로 앞으로 수강생분들이 스스로 프로그래밍을 공부하는데 도움이 되는 자료를 공유합니다. 파이썬의 다양한 추가 기능부터, 크롤러의 추가 기능을 만들때 고려해야 하는 사항. 기타 프로그래밍으로 만들 수 있는 다양한 기능(웹 개발, 이미지 처리, 데이터베이스 접근, 데이터분석 시각화 및 머신러닝 등)을 스스로 공부할 수 있는 추가 자료를 제공해드립니다.

수업 신청 하러가기 >
실전 데이터분석반 커리큘럼 | 커리큘럼 다운로드

첫 수업에서는 데이터 분석의 기본을 배웁니다. 데이터 분석(Data Analytics)의 의미와 역할, 데이터 분석을 통해 얻을 수 있는 것을 배운 뒤, 파이썬의 데이터 분석 패키지 판다스(Pandas)를 학습합니다.

판다스(Pandas)를 사용하면 대용량의 데이터를 효율적으로 분석할 수 있고, 복잡한 분석도 파이썬을 활용해 간단하게 처리할 수 있습니다. 수업에서는 판다스의 가장 기본적인 데이터 형식인 데이터프레임(DataFrame)의 사용법부터, 데이터에서 행렬을 가져오고, 색인하고, 정렬하고, 잘못된 데이터를 정리하는 법 등을 배웁니다.

판다스(Pandas)를 배웠으면, 이번에는 프리랜서 오픈마켓 서비스 크몽(Kmong)의 데이터를 가져와서 정리하는 데이터 클리닝(Data Cleaning)을 진행한 뒤, 다음의 질문에 대해 데이터에 기반한 답을 제시합니다.

  • 크몽 사용자의 웹 행동 데이터, 그리고 앱 행동 데이터를 정리하기 - 크몽의 고객들은 웹, 아이폰, 안드로이드등 다앙한 디바이스와 OS로 서비스를 이용하고 있습니다. 이 디바이스에서 쌓인 내용을 분석할 수 있도록 깔끔하게 정리한 뒤, 여러 개로 나누어진 데이터를 판다스의 merge나 concat등을 활용해 하나로 묶어주는 작업을 할 것입니다.
  • 크몽 사용자들의 유입 경로, 검색 키워드를 분석하기 - 크몽의 고객들은 네이버나 페이스북 등 다양한 경로를 통해 서비스를 방문합니다. 이 사용자들이 어떤 채널(네이버, 페이스북, etc)을, 어떤 키워드나 컨텐츠를 통해 방문할는지 분석을 할 수 있다면 마케터들이 신규 광고 컨텐츠를 만들거나 검색 키워드를 늘리는데 도움을 줄 수 있을 것입니다.
  • 크몽 사용자들의 구매 루트 분석하기 - 크몽의 고객들이 서비스에 유입되었다면, 무언과의 과정을 통해 컨텐츠를 살펴보고, 검토한 뒤 구매를 결정했을 것입니다. 이 과정에서 고객이 구매를 결정할 수 있었던 요소를 분석할 수 있다면, 서비스 차원에서 이를 더 강조하거나 부족한 부분을 충원한다면 고객들이 구매를 결정하는 데 도움을 줄 수 있고, 이는 서비스의 매출 증대로 이어질 수 있을 것입니다.
수업 신청 하러가기 >

두 번째 수업에서는 판다스(Pandas)의 심화 기능을 다룹니다. 데이터를 정렬하거나, 그룹화하는 방법 등을 배우고, 피벗 테이블(pivot table)을 활용해 데이터를 통계분석 하는 노하우 등도 배웁니다. 마지막으로 여러 개로 나누어진 데이터를 merge, join, concat 등의 기능을 활용해 하나로 합쳐서 분석하는 노하우도 다룹니다

판다스의 심화 기능을 모두 배웠으면, 이번에는 헬스케어 스타트업 눔(Noom)의 데이터를 활용해 분석을 시작합니다. 먼저 잘못된 회원 정보(몸무게가 너무 높거나, 키가 너무 작거나)를 정리하는 데이터 클리닝(Data Cleaning)을 진행한 뒤, 다음의 질문에 대해 데이터에 기반한 답을 제시합니다.

  • 눔(Noom)을 사용하는 무료 사용자들은 주로 어느 시간대에 유료 사용자로 전환하는가? (ex: 새벽, 낮, 주중, 주말) - 이 사실을 알 수 있다면, 해당 시간대에 유료 서비스 구매를 촉진하는 이메일을 보냄으로써 회사의 매출을 올릴 수 있습니다.
  • 눔(Noom)을 사용하는 무료 사용자 중, 유료 사용자로 전환할 확률이 가장 높은 연령/성별은 어디인가? - 이 사실을 알 수 있다면, 해당 연령/성별에 집행하는 마케팅 예산을 늘릴 수 있습니다. (가령 30대 여성이 유료 결제 확률이 높다면, 페이스북에서 30대 여성에게 광고를 더 많이 보여줘야겠죠) 반면 정 반대의 경우에는 마케팅 예산을 줄임으로써 더 효율적인 마케팅을 할 수 있습니다. (가령 50~60대 남성은 유료 결제 확률이 낮다면, 페이스북 마케팅에서 이분들에게는 광고를 노출하지 않는 것도 좋은 방법입니다)
  • 유료 사용자를 코칭하는 코치 중, 어느 코치가 가장 만족도가 높은가? - 만족도가 높은 기준은 사용자가 계속 유료 서비스를 이용하는가로 판단할 수 있습니다. 즉, 고객 이탈률(churn rate)이 가장 낮은 코치가 가장 뛰어난 코치라고 판단할 수 있습니다. 반면, 고객 이탈률(churn rate)이 높은 코치일수록 사용자가 가장 불만족스러워한다고 판단할 수 있습니다.
수업 신청 하러가기 >

세 번째 수업에서는 데이터를 저장하고 처리하는 전문 프로그램인 데이터베이스(Database), 그리고 이 데이터베이스에서 데이터를 가져올 수 있는 전용 프로그래밍 언어인 SQL(Structured Query Language)에 대해 집중적으로 배웁니다.

가장 기본적인 SQL 문법인 SELECT를 통해 데이터를 가져오는 법 부터 시작해, 정렬(ORDER BY), 색인(WHERE) 등을 포함한 응용도 함께 배웁니다. 또한 여러 개의 데이터를 SQL를 활용해 하나로 합치는 JOIN에 대해서도 집중적으로 다룰 것입니다.

SQL을 다루는 법을 배웠으면, 이번에는 데이터사이언스 교육 스타트업 DS School의 마케팅 데이터와 결제 데이터를 분석합니다. 분석 목표는 어느 마케팅 채널이 가장 효율적이며, 반대로 어느 마케팅 채널이 가장 효율적이지 않은가? 입니다. 효율적인 마케팅 채널이 있다면 해당 채널에 마케팅 예산을 집중하고, 반면에 효율적이지 않은 채널이 있다면 해당 마케팅 채널에 집행한 예산을 줄일 수 있습니다. 마케팅 효율에 대한 구체적인 질문은 다음과 같습니다.

  • DS School의 수강생은 어떠한 목적을 달성하기 위해 수업을 신청하였는가? - DS School 수강생의 구매 전 설문 조사를 바탕으로 이 내용을 분석할 수 있습니다. 이 분석 결과를 바탕으로 수업의 내용을 변경하거나, 난이도를 조정하거나, 수강생의 니즈에 맞는 신규 커리큘럼을 만드는 것도 가능합니다.
  • DS School이 보유한 마케팅 채널 중 가장 효율이 높은 채널은 어떤 것인가? - DS School은 주로 페이스북 마케팅을 활용하는데, 이 채널당 고객 획득 비용(Customer Acquisition Cost, 이하 CAC)과 고객 생애 가치(Customer Lifetime Value, 이하 LTV)를 계산한 뒤 LTV/CAC 비율이 가장 효율적인 마케팅 채널 순으로 정렬합니다. 가장 효율이 높은 채널을 파악할 수 있다면, 이 채널에 예산을 집중하거나 이 채널이 효과가 좋은 이유를 분석해서 새로운 마케팅 채널과 컨텐츠를 생성할 수 있습니다.
  • DS School의 매출 변화는 어떻게 되는가? - DS School의 강연이 가장 잘 팔리는 시기(시간, 내지는 주중/주말 등)를 파악한 뒤 그 시기에 구매를 유도하는 이메일을 발송할 수도 있고, 현재의 매출 변화량을 바탕으로 누적 매출이나 예상 매출 등을 리포트 방식으로 시각화시킬 수도 있습니다.
수업 신청 하러가기 >

네 번째 수업에서는 앞서 배운 판다스와 SQL 노하우와 더불어, 데이터를 시각화한 뒤 이 결과를 바탕으로 결론을 도출하는 방법을 배웁니다.

데이터 시각화는 주어진 데이터를 직관적으로 표현할 수 있다는 장점이 있으며, 그렇기 때문에 분석 결과를 다른 사람에게 이해시키고 설득할 수 있도록 도와줍니다. 하지만 효과적이고 직관적인 데이터 시각화를 위해서는, 이를 위한 적절한 시각화 그래프나 도표를 사용해야 합니다.

이번 수업에서는 파이썬의 데이터 시각화 패키지인 seaborn이나 matplotlib등을 활용하여 데이터를 분석하고 시각화 할 수 있는 방법을 배웁니다. 이 방법을 활용하면 파이썬과 판다스, 쥬피터 노트북으로 직관적이고 편리한 시각화 대시보드를 구현할 수 있습니다.

데이터 시각화를 배웠다면, 다음으로는 국내 최대의 여성 의류 쇼핑몰 플랫폼 지그재그(ZIGZAG)의 고객 행동 패턴을 분석합니다. 이번 목표는 사용자의 액티비티를 바탕으로 고객의 니즈나 주요 여성 의류 쇼핑몰들의 특징을 분석하는 것입니다. 또한 이번 수업에서는 데이터 분석가를 위한 분석뿐만 아니라, 기획자, 마케터, 내지는 팀 내의 의사결정권자에게 데이터를 직관적으로 이해시킬 수 있는 시각화 방법을 배울 것입니다. 구체적인 분석은 다음과 같습니다.

  • 고객들은 지그재그에서 어떠한 과정을 거쳐서 상품을 구매하는가 - 이러한 행동 패턴을 분석하면 고객의 구매 루트를 최적화하거나, 구매하지 않고 이탈할 사용자를 붙잡아서 매출을 증대할 수 있습니다.
  • 고객들이 선호하는 여성 의류 쇼핑몰들은 어디인가? - 이 사실을 파악할 수 있으면, 고객이 서비스를 이용하는 과정 중에 (내지는 이용 후에 이메일을 통해) 쇼핑몰이나 상품을 추천한 뒤 고객에게 상품을 업셀(up sell, 추가로 구매하도록 유도)할 수 있습니다.
수업 신청 하러가기 >

모든 수업이 모두 끝나면, 여태까지 분석한 컨텐츠 외의 추가 과제가 수강생들에게 제공될 것입니다.

추가 과제는 1) 지그재그 2) 크몽 데이터를 활용한 추가 과제가 주어집니다. 만일 데이터분석가로 취업하거나 이직하길 원하는 분들이 있다면, 해당 과제를 푼 뒤 이력서와 함께 제출하면 관련 자료가 각각의 스타트업으로 전달됩니다.

전달 후 스타트업 담당자분의 검토를 거쳐, 데이터분석가로서 활동할 수 있는 충분한 소질이 있다고 판단될 경우 본격적으로 면접 진행 절차를 밟게 될 것입니다.

수업 신청 하러가기 >
입문반 커리큘럼 | 커리큘럼 다운로드

과정 소개 및 캐글(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. 프로그래밍 언어 파이썬(Python)
  2. 파이썬의 데이터 분석 패키지 판다스(Pandas)
  3. 파이썬의 인공지능&머신러닝 패키지 싸이킷런(scikit-learn)
  4. 머신러닝 알고리즘 의사결정나무(Decision Tree)

위 네 개의 툴을 사용하는 법을 배웠다면, 마지막으로 1 ~ 4번을 조합하여 타이타닉 경진대회에 재도전합니다. 이번에는 엑셀이 아닌 파이썬을 활용하여 상위 25% (예측 정확도 78.947%)에 도전하며, 실습이 끝난 뒤에는 강사가 경진대회 상위 5% (예측 정확도 81.818%)에 도달할 수 있는 노하우를 공유합니다.

2주차에 학습할 툴에 대한 상세 설명은 다음과 같습니다.

파이썬

파이썬(Python)은 데이터 분석과 인공지능 분야에서 가장 많이 쓰이는 프로그래밍 언어입니다. 파이썬은 고레벨 프로그래밍 언어(High-Level Programming Language)답게 매우 직관적이면서 사람이 이해하기 쉬우며, 숙련자는 물론 프로그래밍 언어를 처음 접해보는 사람도 단기간에 배울 수 있습니다.

이번 수업에서는 파이썬의 다음 기능을 배울 것입니다.

  • 파이썬의 기본 연산. 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 연산자 등.
  • 파이썬의 비교 연산. 등호(==)와 부등호(!=), 이상, 이하, 미만, 초과 등.
  • 파이썬의 변수. 변수를 할당하는 법과 사용하는 법 등.
  • 파이썬의 다양한 데이터 타입. 숫자, 문자열(텍스트), 리스트(배열) 등.
  • 파이썬의 제어문과 반복문. if-else와 for 등.
  • 파이썬의 함수와 그 응용 등.

판다스

판다스(Pandas)는 파이썬에서 자주 쓰이는 데이터 분석 패키지입니다. 판다스에서는 엑셀에서 사용하는 기능을 그대로 쓸 수 있는데, 엑셀에 비해서 1) 대용량 데이터를 다루는 데 적합하며 (엑셀은 데이터의 용량이 100메가만 넘어가면 느려집니다), 2) 엑셀보다 훨씬 복잡한 기능을 코드 몇 줄로 구현할 수 있습니다. 3) 또한 파이썬을 기반으로 동작하기 때문에 데이터 분석 결과를 다양한 분야에 응용할 수 있습니다. (ex: 데이터베이스에 저장하기, 웹페이지에 띄우기, 머신러닝 알고리즘에 집어넣기 등)

이번 수업에서는 판다스의 다음 기능을 배울 것입니다.

  • 판다스로 분석할 데이터를 읽어오고 저장하기.
  • 판다스로 데이터의 행렬(row/column) 검색하기.
  • 판다스로 데이터를 색인(indexing) 하기.
  • 판다스로 데이터를 통계분석 하기. (pivot_table, crosstab, etc)
  • 판다스로 데이터에 새로운 컬럼을 추가하거나 기존 컬럼값을 수정하기.
  • 판다스로 복잡한 기능을 구현하기. (apply)

싸이킷런 + 의사결정나무

싸이킷런(scikit-learn)은 파이썬에서 인공지능&머신러닝에 관련된 알고리즘을 하나로 묶어놓은 패키지입니다. 싸이킷런을 활용하면 알고리즘을 직접 구현할 필요 없이, 이미 만들어진 구현체를 파이썬으로 가져와 사용하면 됩니다.

이번 수업에서는 싸이킷런의 대표적인 머신러닝 알고리즘인 의사결정나무(Decision Tree)를 활용할 것이며, 크게 다음 기능을 배울 것입니다.

  • 싸이킷런에서 머신러닝 알고리즘을 가져오기.
  • 가져온 알고리즘에 데이터를 넣어 학습(fitting) 시키기.
  • 학습이 끝난 데이터로 특정 상황을 예측(predict) 하기.
  • 의사결정나무(Decision Tree)의 분석 결과를 시각화해서 보기.
수업 신청 하러가기 >

캐글의 새로운 경진대회 Bike Sharing Demand 참여하기.

  • 타이타닉 경진대회에 이은 Bike Sharing Demand 경진대회 에 참석.
  • 데이터 분석을 통해서 인사이트를 얻을 수 있는 탐험적 데이터 분석(Exploratory Data Analysis) 배우기.
  • 팀을 짠 뒤 경진대회 실습. Bike Sharing Demand 상위 25%에 도전해보기.
  • 실습이 끝난 뒤 강사의 시연으로 Bike Sharing Demand 상위 10% 후반에 진입하는 노하우를 배우기.

이번 시간에는 2주차에서 학습한 내용을 바탕으로 새로운 경진대회에 참가합니다. Capital Bikeshare 라는 워싱턴 D.C. 소재의 자전거 대여 스타트업에서 제공한 데이터를 바탕으로, 2011년도와 2012년도의 시간당 자전거 대여량을 예측하는 경진대회에 참석합니다.

기존에 참여한 타이타닉 경진대회와 전혀 달라 보이지만, 우리가 이전까지 배운 지식을 이번 경진대회에서도 그대로 활용할 수 있습니다. 여기에 더불어, 3주차에서는 데이터를 분석하여 그 결과를 머신러닝 알고리즘에 적용하는 탐험적 데이터 분석(Exploratory Data Analysis, 이하 EDA)에 대해서 배웁니다. 정확하게는 다음의 데이터 분석 노하우를 배울 것입니다.

  • 기존에 보유하고 있는 데이터에서 새로운 정보를 추출하는 Feature Engineering.
  • 기존에 보유하고 있는 데이터에서 필요 없는 정보를 제거하는 Feature Selection.
  • 비어있는 값을 제거하거나, 전체 분포와 동떨어져 있는 아웃라이어(outlier)를 제거하는 Data Cleaning.
  • 캐글(Kaggle)에 제출하지 않고도 현재 구현한 예측 모델의 정확도를 측정할 방법. (Cross Validation)

또한 3주차에는 의사결정나무(Decision Tree)의 업그레이드 버전인 랜덤 포레스트(Random Forest)를 학습합니다. 이 알고리즘은 대부분 의사결정나무보다 더 좋은 성능을 보장하는 강력한 알고리즘입니다. 이 알고리즘의 원리와 사용 방법을 배우면 더 정확한 예측 모델을 구현할 수 있습니다.

이번 실습의 최종 목표는 Bike Sharing Demand 경진대회의 상위 25% 안에 드는 것입니다. 2주차에서 배운 내용과 3주차에서 새롭게 배운 내용을 조합하면 어렵지 않게 상위 25%에 도달할 수 있습니다. 실습이 끝나면 마지막으로 강사의 시연을 통해 Bike Sharing Demand 경진대회의 상위 25%, 더 나아가서 10% 후반대에 도달할 수 있는 노하우를 공유합니다.

수업 신청 하러가기 >

데이터 시각화(Data Visualization)를 배운 뒤, 다시 한번 Bike Sharing Demand 경진대회에 참석하기.

  • matplotlibSeaborn을 활용한 데이터 시각화 실습하기.
  • Bike Sharing Demand 경진대회에 재도전, 상위 10%에 도전해보기.
  • 실습이 끝난 뒤 강사의 시연으로 Bike Sharing Demand 상위 5%에 진입하는 노하우를 배우기.

이번 시간에는 새로운 데이터 분석 방식인 데이터 시각화(Data Visualization)를 배웁니다. 데이터 시각화 패키지는 파이썬에서 가장 많이 사용하는 matplotlibSeaborn을 사용하며, 히스토그램(histogram)이나 bar plot, scatter plot 등의 시각화 방법과 그 결과를 해석하는 방법을 배웁니다.

데이터 시각화를 배웠으면 3주차에 이어 다시 한번 Bike Sharing Demand 에 도전합니다. 이번 실습에는 판다스(Pandas)를 활용한 데이터 분석 노하우와 matplotlib, Seaborn을 활용한 데이터 시각화 노하우를 병행합니다. 또한 이외에도 다음의 내용을 추가로 배울 것입니다.

  • 예측 모델이 잘 만들어졌는지를 정량적으로 판단할 수 있는 측정 공식. (Evaluation Metrics)
  • 머신러닝 알고리즘(ex: 랜덤 포레스트)을 튜닝하여 성능을 끌어올릴 수 있는 하이퍼패러미터 튜닝. (Hyperparameter Tuning)
  • 측정 공식(Evaluation Metrics)을 분석하여 이에 맞게 데이터를 수정하거나 머신러닝 모델을 개선하는 노하우.

마지막으로 4주차에는 랜덤 포레스트(Random Forest)를 넘어서서, 가장 강력한 머신러닝 알고리즘인 그래디언트 부스팅 트리(Gradient Boosting Tree)를 배웁니다. 이 알고리즘은 1) 구조화된 데이터(Structured Data)에 한하여 언제나 최고의 성능을 보장하며, 2) 현장에서도 자주 쓰이는 매우 실용적인 알고리즘입니다. 이번 수업에서는 가장 뛰어난 그래디언트 부스팅 트리의 구현체인 XGBoostLightGBM을 사용합니다.

이번 실습의 최종 목표는 Bike Sharing Demand 경진대회의 상위 10% 안에 드는 것입니다. 일반적으로 캐글 경진대회에서 상위 10% 안에 진입한 사람은 프로페셔널한 데이터 사이언티스트로 간주합니다. (해당 참석자에게는 캐글에서 공인하는 동메달 마크가 부여됩니다) 만일 4주차 수업에서 스스로의 힘으로 상위 10%에 도달할 수 있다면, 데이터 사이언티스트로서 충분한 재능을 보유하고 있다고 판단할 수 있습니다.

실습이 끝나면 마지막으로 강사가 간단한 시연을 통해 Bike Sharing Demand 경진대회의 상위 5% 이내에 진입할 수 있는 노하우를 공유합니다. 캐글에서는 상위 5%에 진입한 사람을 프로 중에서도 특출나게 뛰어난 데이터 사이언티스트로 간주합니다. (해당 참석자에게는 캐글에서 공인하는 은메달 마크가 부여됩니다) 입문반 수업을 통해 경진대회 상위 5%의 노하우를 습득할 수 있다면, 데이터 사이언티스트 되는 데 필요한 지식은 거의 습득했다고 가정해도 무방합니다.

마지막으로 수업이 끝난 뒤, 수강생분들이 앞으로 스스로 공부를 하는 데 도움이 될 자료를 공유합니다. 파이썬, 판다스, 인공지능&머신러닝을 추가로 공부하는 데 도움이 될 서적과 인터넷 자료를 소개하고, 다른 경진대회에 도전하고 싶은 분들을 위해 추천할만한 주요 캐글 경진대회를 소개합니다. 또한, 해당 경진대회 상위권에 도달할 수 있는 다양한 팁을 공유한 뒤 수업을 마무리합니다.

수업 신청 하러가기 >
머신러닝 심화반 커리큘럼 | 커리큘럼 다운로드

머신러닝의 기본 개념과 탄생 과정, 그리고 머신러닝 알고리즘이 구체적으로 어디에 쓰이는지를 배우기.

  • 머신러닝(Machine Learning)의 기본 개념.
  • 지도학습(Supervised Learning) vs 비지도학습(Unsupervised Learning) vs 강화학습(Reinforcement Learning)
  • 분류(Classification) vs 회귀(Regression)
  • 정형 데이터셋(Structured Dataset) vs 비정형 데이터셋(Unstructured Dataset)
  • 협업 필터링(Collaborative Filtering) 알고리즘 학습 및 구현

첫 번째 수업에서는 머신러닝 알고리즘에 대한 기본적인 설명부터 시작합니다. 머신러닝이 어떠한 과정을 거쳐서 탄생하였는지, 그리고 주로 어떤 분야에서 쓰이는지 살펴봅니다.

그리고 머신러닝 알고리즘을 분류하는 기준인 지도학습(Supervised Learning)과 비지도학습(Unsupervised Learning), 그리고 강화학습(Reinforcement Learning)에 대해 배울 것이며, 또한 지도학습(Supervised Learning)을 나누는 또 다른 기준인 분류(Classification)과 회귀(Regression), 머신러닝 알고리즘을 다룰 수 있는 크게 두 종류의 데이터셋인 정형 데이터셋(Structured Dataset)와 비정형 데이터셋(Unstructured Dataset)도 배울 것입니다.

이후 가장 기초적인 머신러닝 알고리즘이자, 상품 추천 또는 컨텐츠 추천 엔진을 만드는데 사용하는 협업 필터링(Collaborative Filtering)에 대해서 배워볼 것입니다. 또한 이 알고리즘의 성능을 끌어올릴 수 있는 여러 옵션(Hyperparameters)에 대해 살펴보고, 마지막으로 이 알고리즘으로 가장 잘 풀 수 있는 문제를 과제로 제공받을 것입니다.

가장 기초적인 지도 학습(Supervised Learning) 모델인 선형 회귀(Linear Regression)와 로지스틱 회귀(Logistic Regression) 학습 및 구현.

  • 선형 회귀(Linear Regression)의 기본 개념.
  • 선형 회귀(Linear Regression) 알고리즘을 학습할 수 있는 경사하강법(Gradient Descent) 공부.
  • 경사하강법(Gradient Descent)을 이해하는데 필요한 기초적인 미분과 편미분 개념 배우기.
  • 선형 회귀(Linear Regression)를 분류(Classification) 문제에 활용할 수 있는 로지스틱 회귀(Logistic Regression) 공부.

두 번째 수업에서는 가장 기본적인 기계학습 알고리즘의 하나인 선형 회귀(Linear Regression)와 로지스틱 회귀(Logistic Regression)에 대해 배워볼 것입니다. 먼저 선형 회귀를 이해하기 위해서는 미분에 대한 기초적인 지식이 필요하기 때문에, 수업에서 잠시 미분(derivative)과 편미분(partial derivative)에 대한 개념을 다루고 갈 것입니다.

이후 선형 회귀(Linear Regression)와 로지스틱 회귀(Logistic Regression)에 대해 배울 것이며, 이 알고리즘을 학습하는데 기본이 되는 손실 함수(Loss Function)과 경사 하강법(Gradient Descent)에 대해서도 다룰 예정입니다.

마지막으로 이 두 알고리즘의 성능을 끌어올릴 수 있는 하이퍼패러미터(Hyperparameters)가 어떤 것이 있는지 살펴보고, 이 알고리즘으로 가장 잘 풀 수 있는 문제를 과제로 제공받을 것입니다.

의사결정나무(Decision Tree)의 알고리즘의 이론과 실제 구현을 해보기

  • 의사결정나무(Decision Tree)의 기본 개념과 이론에 대한 설명.
  • 의사결정나무(Decision Tree)에서 나무를 생성할 때 사용하는 지니 불순도(Gini Impurity)와 MSE(Mean Squared Error)의 원리를 이해하기.
  • 의사결정나무(Decision Tree)를 실제 구현해본 뒤, 이와 관련된 문제를 직접 풀어보기.

세 번째 수업에서는 기계학습 알고리즘 중 하나인 의사결정나무(Decision Tree)에 대해 살펴볼 것입니다. 의사결정나무의 기본적인 동작 방식과, 의사결정나무 알고리즘의 핵심이 되는 지니 불순도(Gini Impurity)에 대해서 다룹니다.

이후 프로그래밍 언어 파이썬을 통해 의사결정나무를 직접 작성하고 실행해봅니다. 마지막으로 이전 수업처럼, 의사결정나무 알고리즘의 성능을 끌어올릴 수 있는 하이퍼패러미터(Hyperparameters)와, 이 알고리즘으로 가장 잘 풀 수 있는 문제를 과제로 제공받을 것입니다.

머신러닝 알고리즘의 성능을 끌어올릴 수 있는 앙상블(Ensemble) 알고리즘에 대해 공부하기.

  • 앙상블(Ensemble) 알고리즘 중 하나인 배깅(Bagging, Bootstrap Aggregating)과 부스팅(Boosting)에 대해 살펴보기.
  • 의사결정나무(Decision Tree) 알고리즘에 배깅(Bagging)을 적용한 랜덤 포레스트(Random Forest)에 대해 살펴보기.
  • 마찬가지로, 의사결정나무(Decision Tree) 알고리즘에 부스팅(Boosting)을 적용한 그래디언트 부스팅 머신(Gradient Boosting Machine)에 대해 살펴보기.
  • 그래디언트 부스팅 머신(Gradient Boosting Machine)을 실제 사용할 수 있는 다양한 구현체(ex: XGBoost, CatBoost, LightGBM)에 대해 살펴보기.

마지막 주차에서는 기존의 머신러닝 알고리즘의 성능을 끌어올릴 수 있는 앙상블(Ensemble) 알고리즘에 대해 배울 것입니다. 먼저 여러 앙상블 알고리즘 중, 가장 많이 사용하는 배깅(Bagging)과 부스팅(Boosting)에 대해 다룰 것이며, 이후 배깅(Bagging)을 의사결정나무(Decision Tree) 알고리즘에 적용한 랜덤 포레스트(Random Forest), 그리고 부스팅(Boosting)을 의사결정나무(Decision Tree) 알고리즘에 적용한 그래디언트 부스팅 머신(Gradient Boosting Machine)을 다뤄볼 것입니다.

마지막으로 가장 강력한 그래디언트 부스팅 머신(Gradient Boosting Machine)의 구현체인 XGBoost, LightGBM, CatBoost에 대해 각각 살펴볼 것이며, 마지막으로 온라인 경진대회 캐글(Kaggle)에서 이를 활용하여 전자상거래(ex: 쿠팡, 11번가) 서비스의 상품을 분류하는 Otto Group Product Classification Challenge에 참여하는 과제를 받습니다.

위 이번 경진대회에서의 목표 등수는 상위 10%입니다. 보통 캐글에서는 상위 10% 안에 든 참석자를 현장에서 당장 일할 수 있는 실력을 갖추었다고 평가하는데, 만일 스스로의 힘으로 상위 10% 안에 들 수 있다면 수업을 충분히 따라왔다고 볼 수 있고, 머신러닝에 관해서는 당장 즉시 전력으로 현장에 투입될 수 있는 실력을 갖췄다고 볼 수 있습니다.

딥러닝 온라인 1:1 과외반 커리큘럼 | 커리큘럼 다운로드

첫 번째 수업에서는 딥러닝 알고리즘에 대한 기본적인 설명부터 시작합니다. 머신러닝과 딥러닝의 역사, 딥러닝이 본격적으로 부흥하기 시작한 2010년도 이후의 발전상황, 그리고 왜 딥러닝 알고리즘의 데이터 사이언스의 대세가 되었는지 집중적으로 다뤄봅니다. 이번 수업의 주요 주제는 다음과 같습니다.

  • 딥러닝의 역사. (Perceptron, XOR Problem, AI Winter, SVM, CNN, Boltzmann Machine / Autoencoder, etc)
  • 딥러닝이 스포트라이트를 받게 된 계기. (Switchboard, ImageNet Challenge, Alpha Go)
  • 딥러닝이 대세가 된 이유. (Dataset, Hardware, People)
  • 딥러닝 알고리즘의 기본이라고 볼 수 있는 인공신경망. (Artificial Neural Network)
  • 지도 학습(Supervised Learning) vs 비지도 학습(Unsupervised Learning)
  • 정형 데이터(Structured Dataset) vs 비정형 데이터(Unstructured Dataset)
  • 분류(Classification) vs 회귀(Regression)
  • 딥러닝이 실제 현장에 쓰이는 분야. (기계 번역, 인공지능 스피커, 자율주행 자동차 등등)
수업 신청 하러가기 >

두 번째 수업에서는 딥러닝 알고리즘의 가장 기본이 되는 퍼셉트론(Perceptron) 알고리즘에 대해 알아봅니다. 퍼셉트론에 대한 개념과, 이 알고리즘의 핵심이 되는 몇몇 알고리즘들(Gradient Descent, MSE Loss)을 살펴봅니다. 마지막으로 보스턴의 부동산 관련 정보를 데이터로 정리한 Boston housing dataset 을 활용해 부동산의 집값을 예측하는 알고리즘을 퍼셉트론으로 구현합니다.

  • 퍼셉트론(Perception)의 개요
  • 비용 함수(Cost Function)의 개념, 가장 기본적인 비용 함수인 Mean Squared Error(MSE) Loss 살펴보기
  • 미분과 도함수(Differential & Derivative)의 기본 개념. 편미분(Partial Derivatives)의 기본 개념 이해하기
  • 퍼셉트론 알고리즘을 학습시키는데 필요한 경사 하강법(Gradient Descent) 알아보기
  • 보스턴의 부동한 데이터(Boston housing dataset)를 활용해서, 퍼셉트론으로 집 값을 예측하기
수업 신청 하러가기 >

세 번째 수업에서는 딥러닝 알고리즘을 이해하고 구현하는데 꼭 알아야 하는 개념인 벡터화(Vectorization)를 중점적으로 살펴봅니다. 벡터화의 기본이 되는 선형대수(Linear Algebra)를 간단히 살펴본 뒤, 파이썬으로 이 벡터화를 쉽게 구현할 수 있는 패키지는 넘파이(Numpy)에 대해 살펴볼 것입니다. 마지막으로 저번 수업에서 푼 보스턴 집값 예측 과제를 벡터화(Vectorization)를 통해서 푸는 법을 배웁니다.

  • 선형대수(Linear Algebra)의 기본 개념. 왜 선형대수가 필요한가?
  • 파이썬에서 선형대수를 연산하는 방법인 벡터화. (Vectorization)
  • 벡터화를 쉽게 할 수 있는 파이썬 패키지 넘파이(Numpy)
  • 넘파이 벡터화(Vectorization) 사용방법 및 예시
  • 넘파이 브로드캐스팅 (Broadcasting)의 기본
수업 신청 하러가기 >

네 번째 수업에서는 퍼셉트론을 회귀(Regression) 문제가 아닌 분류(Classification) 문제에 사용할 수 있는 방법을 살펴봅니다. 기존에 배운 퍼셉트론을 분류 문제에 적용하기 어려운 이유와, 이를 해결하기 위해 퍼셉트론 알고리즘을 수정하는 방법을 알아봅니다. 마지막으로 미국의 우편번호를 손글씨 이미지로 저장한 MNIST데이터셋을 활용해, 아무런 전처리도 거치지 않은 채 손글씨 이미지를 인식하고 0~9사이의 우편번호로 변환하는 이미지 인식(Image Recognition) 알고리즘을 퍼셉트론을 활용해 구현합니다.

  • 분류(Classification)와 회귀(Regression) 문제 복습
  • 기존의 퍼셉트론 알고리즘을 분류에 사용할 수 없는 이유
  • 퍼셉트론 알고리즘을 분류에 사용하기 위해 추가해야 하는 기능들. (ex: Sigmoid, Cross-entropy Loss)
  • 위 내용을 바탕으로 분류 문제를 퍼셉트론 알고리즘으로 풀기
  • 이진 분류(Binary Classification) vs 다중 분류(Multi-class Classification)
  • 다중 분류(Multi-class Classification)를 퍼셉트론으로 푸는 방법
  • 우편번호 손글씨 이미지(MNIST)를 활용해 숫자 이미지를 인식하는 이미지 인식(Image Recognition) 알고리즘을 구현하기
수업 신청 하러가기 >

다섯 번째 문제에서는 계산 그래프(Computation Graph)라는 개념에 대해서 알아봅니다. 계산 그래프는 기존에 수기로 했던 딥러닝의 편미분 유도를 아주 작은 단위로 쪼개서 푸는 개념이라고 보시면 됩니다. 이렇게 풀면 1) 편미분 유도가 이전보다 훨씬 간결해지고, 2) 계산 그래프를 확장하면 편미분을 사람이 하지 않고 프로그램 차원에서 자동화 할 수 있습니다. 이번 수업에서 다룰 내용은 다음과 같습니다.

  • 계산 그래프(Computation graph)의 기본 개념
  • 계산 그래프로 공식을 미분하는 방법
  • 계산 그래프 예시 - sigmoid를 계산 그래프로 풀기
  • 계산 그래프로 미분과 편미분을 자동화하기. (Automatic Differentiation)
수업 신청 하러가기 >

기존에 배웠던 퍼셉트론(Perceptron)은 강력한 알고리즘이지만, 몇 가지 문제점을 갖고 있습니다. 이번 시간에는 퍼셉트론이 가지고 있는 가장 큰 문제점 중 하나인 XOR Problem에 대해 살펴보고, 이를 해결할 수 있는 다양한 방법, 그리고 이 방법을 활용해 퍼셉트론에 은닉층(Hidden Layer)이라는 개념을 도입해서 성능을 획기적으로 개선한 다층 퍼셉트론(Multi Layer Perceptron)에 대해서 살펴봅니다. 마지막으로 앞서 다룬 우편번호 손글씨 이미지(MNIST)를 인식하는 퍼셉트론 알고리즘을 다층 퍼셉트론으로 업그레이드 해보겠습니다.

  • 퍼셉트론의 단점을 나타내는 XOR 문제(XOR Problem)
  • 이 XOR 문제를 해결하는 다양한 방법(Polynomial, Kernel-trick, etc)
  • 은닉층(Hidden Layer)을 추가하여 이 문제를 해결하는 다층 퍼셉트론(Multi Layer Perceptron)
  • 다층 퍼셉트론을 학습하기 위해 필요한 방법 - 역전파(Backpropagation) 알고리즘
  • 우편번호 손글씨 이미지(MNIST)를 인식하는 이미지 인식(Image Recognition) 알고리즘을 다층 퍼셉트론을 활용하여 업그레이드 하기.
수업 신청 하러가기 >

지금까지 퍼셉트론, 다층 퍼셉트론등 많은 알고리즘을 다뤘지만, 현업에서, 그리고 실제 연구에서 이 알고리즘을 사용하기 위해서는 알고리즘의 성능을 정량적으로 측정하고 그 성능을 분석하는게 중요합니다. 이번 시간에는 구현한 딥러닝 모델의 성능을 평가하는 다양한 방법에 대해 살펴볼 것입니다. 마지막으로는 우편번호 손글씨 이미지(MNIST)로 학습한 다층 퍼셉트론의 성능을 평가하고, 이 모델을 활용하여 데이터 사이언스 경진대회 캐글(Kaggle, https://kaggle.com)에 도전하는 시간을 가져볼 것입니다.

  • 데이터를 학습용(train), 검증용(valid), 테스트용(test)으로 나눠서 사용하기
  • 교차 검증(Cross Validation) vs 홀드아웃 검증(Hold-out Validation)
  • 과대적합(Underfitting) vs 과소적합(Overfitting)
  • 측정 공식(Evaluation Metric)의 개념 설명
  • 측정 공식(Evaluation Metric) vs 비용 함수(Cost Function)
  • 딥러닝 모델에서 사용하는 주요 측정 공식. (Accuracy, F1 Score, Log Loss, MAE, MSE, etc)
수업 신청 하러가기 >
온라인 심화반 커리큘럼

뛰어난 데이터 사이언티스트일수록 데이터를 완벽하게 이해할 때 까지 끊임없이 분석합니다. 첫 번째 주에는 예측 모델의 성능을 무리하게 끌어올리려 노력하기 보단, 데이터 분석과 시각화를 통해 데이터를 천천히 이해하려는 과정을 거칩니다. 파이썬의 데이터분석 패키지인 판다스(Pandas)와, 데이터시각화 패키지인 matplotlib, seaborn을 활용하여, 크게 다음의 질문에 대한 답변을 스스로 찾는 과정을 거칩니다.

  • 총 몇 개의 범죄(ex: 절도, 살인)가 있으며, 가장 많이 일어나는 범죄 순으로 정렬하면 어떻게 되는가?
  • 시간(Dates)을 기준으로, 가장 많이 범죄가 일어나는 시기는 언제인가? 그리고 연/월/일/시/분/초 기준으로 범죄와 가장 연관성이 높은 정보는 어떤 것인가? (정 반대로, 가장 연관성이 낮은 정보는 어떤 것인가?)
  • 좌표나 주소상으로, 구체적으로 어떤 위치에서 어떤 범죄가 가장 빈번하게 발생하는가?
  • 주어진 데이터는 신뢰할 수 있는가? 만일 신뢰할 수 없다면, 몇몇 신뢰할 수 없는 데이터는 어떻게 처리해야 하는가? (ex: 버리던가, 고치던가)
수업 신청 하러가기 >

2주차에서는 샌프란시스코 경진대회를 더 깊게 분석합니다. 구체적으로는 다음의 내용을 중점적으로 다룰 것입니다.

  • 정답(Label)을 분석합니다. 다양한 범죄 형태(ex: 절도, 살인 등)가 있는데, 각 범죄마다의 분포는 어떠한지, 발생 빈도의 차이가 있는지 분석합니다.
  • 측정 공식(Evaluation Metric)을 이해합니다. San Francisco Crime Classification 경진대회에서는 log loss라는 측정 공식을 사용하는데, 이 측정 공식의 특징과, 이 공식을 San Francisco Crime Classification에 적용했을 때 발생하는 효과에 대해서 설명합니다.

위 내용을 바탕으로, 우리가 구현할 수 있는 가장 심플한 예측 모델을 구현합니다. 머신러닝 모델은 랜덤 포레스트(Random Forest), 그리고 랜덤 포레스트의 업그레이드 버전인 그래디언트 부스팅 머신(Gradient Boosting Machine)을 사용할 것이며, 가장 강력한 그래디언트 부스팅 머신의 구현체인 LightGBM을 사용할 것입니다.

이번 2주차의 목표는 1주차에 분석한 내용을 바탕으로 머신러닝 모델의 성능을 최대한 끌어올리는 것입니다. 단순히 보유한 데이터를 머신러닝 모델에 적용하는 것을 넘어서서, 보유한 데이터를 빼거나(Feature Selection), 고치거나 추가하는(Feature Extraction) 행위를 통해 머신러닝을 더 정교하게 만드는 과정을 거칩니다.

수업 신청 하러가기 >

3주차에서는 분석과 시각화를 통해 데이터를 더 깊게 들어갑니다. 크게 다음의 내용을 중점적으로 다룰 것입니다.

  • 시간(Dates) 데이터를 시각화한 뒤, 이 데이터를 신뢰할 수 있는지, 신뢰할 수 없다면 이를 고쳐서 머신러닝 알고리즘의 성능을 끌어올릴 수 있는지 분석합니다.
  • 주소(Address) 데이터를 분석해서, 특정 장소에서 많이 발생하는 범죄가 있는지 분석합니다.

위 분석 내용을 바탕으로 예측 모델을 개선합니다. 모델에 도움이 되는 새로운 정보를 추가하거나, 정 반대로 도움이 되지 않는 필요 없는 정보를 제거하고, 사용중인 머신러닝 알고리즘을 튜닝하여 모델의 성능을 한 층 더 끌어올립니다.

이번 3주차의 목표는 San Francisco Crime Classification 경진대회의 상위 25% 안에 들어가는 것입니다. 보통 캐글에서는 데이터 사이언티스트로서 인정을 해줄 수 있느냐의 여부를 상위 25% 안에 진입했는지로 파악합니다. 이 정도 수준까지를 스스로의 힘으로 달성할 수 있는 것이 목표입니다.

수업 신청 하러가기 >

경진대회 데이터에서 사용하기 가장 까다로운 컬럼 중 하나는 주소(Address)입니다. 이번 4주차에서는 주소 값을 분석하여 머신러닝 알고리즘에 집어넣는 방법을 배웁니다.

주소 값을 집어넣을 때의 문제점은, 데이터의 양도 많고(학습 데이터만 총 878,049개), 주소의 종류도 많기 때문에(총 23,228개) 용량이 너무 커서 머신러닝 모델에 집어넣을 수가 없습니다. 이를 극복하기 위해 먼저 다음의 방식으로 주소 데이터를 정리합니다.

  1. 사실상 같은 주소이지만 다른 방식으로 표기되어 있는 값을 찾아 하나로 합칩니다.
  2. 범죄가 자주 발생하지 않는 주소는 제거하거나 하나로 묶어줍니다.

이를 통해 총 23,228 종류의 주소를 1,483 종류까지 줄여줄 수 있습니다. 이후 주소 데이터를 효율적으로 저장하기 위해 희소 행렬(Sparse Matrix)의 저장 방식 중 하나인 Compressed Sparse Row (CSR) 행렬로 변환합니다. 이 방식을 통해 주소 데이터의 메모리 사용량을 획기적으로 줄일 수 있습니다.

마지막으로 주소 데이터를 집어넣은 머신러닝 알고리즘을 다시 한 번 튜닝합니다. 튜닝을 통해 모델의 정확도를 최대한으로 끌어올리며, 최종적으로 San Francisco Crime Classification 경진대회 상위 10% 안에 들 수 있도록 합니다. 보통 캐글 상위 10%에 드는 참석자를 현장에서 즉시전력으로 투입 가능한 인재라고 평가하는데, (참고자료 https://www.kaggle.com/progression) 마지막 주차에서 경진대회 상위 10% 안에 들 수 있다면 충분히 프로페셔널한 데이터 사이언티스트로 활동할 수 있는 인재라고 판단할 수 있습니다.

수업 신청 하러가기 >

자주 묻는 질문

네. 그렇습니다. 입문 과정은 전공자가 아니시라는 전제하에 진행합니다. 실제 과거 수강생들의 60%가 코딩을 한번도 해보지 않았다고 응답하신 분들이고, 전원 입문 과정 커리큘럼을 완주하셨습니다. 이렇게 수업을 제공하기 위해 강사님과 조교님들이 수업 진행 내내 옆에서 막힘 없이 수강하실 수 있도록 함께 합니다.
출장과 주말 출근이 많은 직장인 분들을 배려하는 차원에서 원하시는 다른 기수의 회차 수업으로 교차수강을 지원해드고 있습니다. 빠지게되는 수업 회차만 교차수강을 하셔도 되고, 그 이후 모든 수업을 교차수강으로 이어가셔도 괜찮습니다.
수강생 평균 나이는 30초반입니다. 다만, 20대 중반에서 40대 후반까지 수강생 연령대는 다양하고 문제되지 않습니다.
노트북을 준비해주시면 됩니다. OS상관없이 편한 장비로 준비하시면 됩니다. 맥북도 됩니다.
현금 영수증은 입금 후 일주일이내로 수강신청시 작성하신 번호로 자동 발급됩니다. 계산서 요청의 경우 기타사항에 회사명을 적어주신 뒤 support@dsschool.co.kr 으로 신청해주시면 처리해드리겠습니다

    4주(5주포함) 오프라인 환불 규정은 아래와 같습니다 (교습기간이 1개월 이내인 경우에 해당)

  • 수강시작전 : 전액 환불 가능
  • 환불요청일시 기준 수업이 1/3이 제공된 경우, 정상가 기준 1/3에 해당하는 금액을 결제액에서 차감하여 환불
  • 환불요청일시 기준 수업이 1/2이 제공된 경우 , 정상가 기준 1/2에 해당하는 금액을 결제액에서 차감하여 환불
  • 환불요청일시 기준 수업이 1/2 초과 시 환불금액 없음
  • 할인가로 수강료를 납부한 경우에는 수강의 지속성을 전제로 할인 혜택을 제공한 것이므로 환불 시에는 할인이 적용되지 않은 정상가를 기준으로 차감 후 환불됩니다.
  • 수강이 가능한 시점부터 7일이내 타인 양도 가능합니다.
  • 한정 이벤트로 입문반 4주 과정을 들으시는 수강생을 대상으로 첫 수업을 참여해보고 마음에 안들면 전액을 환불해드립니다. (*오프라인 입문반 첫 수업일 기준 5일 내 환불 요청 시)
  • 오프라인 패키지 환불 규정은 아래와 같습니다.(교습기간이 1개월 이상인 경우에 해당)

  • 수강시작전 : 전액 환불 가능
  • 환불요청일시가 수강 시작 월인 경우 해당 월은 일반 오프라인 수업 (1개월 이내 환불규정)에 따르며 이 후 남은 월의 수강료를 합산하여 환불됩니다.
  • 할인가로 수강료를 납부한 경우에는 수강의 지속성을 전제로 할인 혜택을 제공한 것이므로 환불 시에는 할인이 적용되지 않은 정상가를 기준으로 차감 후 환불됩니다.
  • 수강이 가능한 시점부터 7일이내 타인 양도 가능합니다.
  • 한정 이벤트로 입문반 4주 과정을 포함해서 들으시는 수강생을 대상으로 첫 수업을 참여해보고 마음에 안들면 전액을 환불해드립니다.
    (*오프라인 입문반 첫 수업일 기준 5일 내 환불 요청 시)
  • 수강기간은 스터디 채널에 가입되어 수강이 가능한 시점부터 최초 4주까지가 수강기간이며, 31일차 이후부터는 복습기간입니다.
  • 수강 시작 후 유료콘텐츠(이하 “서비스”)가 모두 제공된 이 후에는 온라인 강의 특성상 환불이 불가합니다.
  • 즉, 수강기간 최초 4주는 학원법상 환불가능일의 기준을 설정한 것이며, 수강기간은 12주 동안 수강하실 수 있습니다.
    • 수강시작일 : 스터디채널에 가입되어 수강이 가능한 시점이 수강시작일입니다. 스터디 채널 가입 전 및 1주차 서비스 제공 전: 전액 환불 가능
    • 환불요청일시 기준 수강시작 후 7일 이하 혹은 서비스가 1/3이 제공된 경우, 정상가 기준 1/3에 해당하는 금액을 결제액에서 차감하여 환불
    • 환불요청일시 기준 수강시작 후 7일 초과, 14일 이하 경과 혹은 서비스가 1/2이 제공된 경우 , 정상가 기준 1/2에 해당하는 금액을 결제액에서 차감하여 환불
    • 환불요청일시 기준 수강시작 후 14일 초과 시 환불금액 없음
  • 할인가로 수강료를 납부한 경우에는 수강의 지속성을 전제로 할인 혜택을 제공한 것이므로 환불 시에는 할인이 적용되지 않은 정상가를 기준으로 차감 후 환불됩니다.
  • 수강이 가능한 시점부터 7일이내 타인 양도 가능합니다.
  • 오프라인 수업과 교차수강은 불가합니다.

데이터 전문가. 늦지 않았습니다.

지금 시작하세요!

데이터 사이언티스트를 커리어로써 쌓고 싶으신 분들, '어쩌다 데이터 분석가'라는 직함을 갖게 되신 분들을 위해 준비된 집중 & 맞춤 코스!

이번 주에만 수업에 관심을 보여주신 분이
2,000명이었어요!

마감되기 전에 수강신청하세요! 바로 가기>

×