Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

데이터 과학을 위한 머신러닝

Updated: 22 aug 2026

이 강의는 머신러닝의 핵심 개념과 기본 원리를 이해하고, 이를 실제 데이터 과학 문제에 활용하며, 분석 결과의 타당성을 스스로 판단하는 능력을 기르는 것을 목표로 한다.

인공지능, 머신러닝, 딥러닝, 데이터 과학

네 용어는 서로 관련되어 있지만 같은 의미는 아니다.

  • 인공지능: 학습, 추론, 인지 등 인간의 지적 능력이 필요한 작업을 컴퓨터가 수행하도록 하는 기술 전반

  • 머신러닝: 데이터에서 변수 사이의 관계나 데이터의 구조를 학습하여 새로운 데이터에 대한 예측이나 판단에 활용하는 방법

  • 딥러닝: 다층 인공신경망을 이용하는 머신러닝의 한 분야

  • 데이터 과학: 통계학, 데이터 분석, 머신러닝 등 다양한 방법을 이용해 데이터에서 유용한 정보와 지식을 얻고 문제를 해결하는 분야

데이터 과학에서는 머신러닝을 데이터를 이해하고 예측하며 판단하기 위한 중요한 도구로 활용한다.

<그림 출처: 교보문고: 에이지 오브 머신러닝>

왜 머신러닝을 배우는가?

생성형 AI는 이미 다음과 같은 일을 매우 잘한다.

  • 코드 작성

  • 머신러닝 모델 훈련

  • 평가 지표 계산

  • 코드 오류 수정

  • 분석 방법과 모델 후보 제안

하지만 실제 머신러닝 분석에서는 여전히 사람이 판단해야 할 문제가 남는다.

  • 무엇을 예측하거나 설명하려는가?

  • 주어진 데이터로 그 질문에 답할 수 있는가?

  • 어떤 특성과 타깃을 사용할 것인가?

  • 데이터 누수는 없는가?

  • 훈련 데이터와 평가 데이터는 적절하게 구분되었는가?

  • 어떤 평가 지표를 사용할 것인가?

  • 높은 성능을 그대로 믿어도 되는가?

  • 모델은 어디에서 잘 작동하고 어디에서 실패하는가?

  • 분석 결과로 어디까지 결론 내릴 수 있는가?

AI가 작성한 코드가 정확하더라도 분석 설계가 잘못되거나 결과의 해석이 부적절할 수 있다. 따라서 이 강의의 목표는 AI보다 코드를 더 잘 작성하는 것이 아니다.

AI와 머신러닝이 수행한 분석의 타당성을 이해하고 검증하며 판단할 수 있는 사람이 되는 것이 중요하다.

이 강의에서는 어떻게 배우는가?

이 강의에서는 핵심 개념을 짧게 이해한 뒤 실제 데이터 프로젝트에서 반복적으로 활용한다.

프로젝트는 다음 흐름을 따른다.

현실의 질문 → 데이터 이해 → 탐색적 데이터분석 → 문제 정의 → 머신러닝 모델링 → 평가 → 오류 분석 → 해석과 판단

수학은 이해를 위한 도구

머신러닝에는 선형대수, 미적분, 확률과 통계가 사용된다. 그러나 복잡한 수식 전개 자체를 목표로 하지 않는다.

필요한 수학은 다음과 같은 질문에 답할 수 있는 수준에서 다룬다.

  • 이 모델은 어떤 방식으로 예측하는가?

  • 모델은 데이터에서 무엇을 학습하는가?

  • 모델의 복잡도가 증가하면 어떤 일이 생기는가?

  • 평가 지표는 무엇을 측정하는가?

수학은 머신러닝을 어렵게 만드는 장벽이 아니라 모델의 행동을 이해하고 결과를 판단하기 위한 언어로 사용한다.

프로그래밍과 AI의 역할

긴 코드를 처음부터 직접 입력하거나 API 사용법을 암기하는 것을 수업의 중심에 두지 않는다.

대신 다음과 같은 **코드 리터러시(code literacy)**를 중요하게 다룬다.

  • AI가 생성한 코드를 읽고 전체 분석 흐름을 이해하기

  • 특성과 타깃이 올바르게 설정되었는지 확인하기

  • 전처리와 평가 과정이 적절한지 검토하기

  • 필요한 부분의 코드를 수정하기

  • 계산 결과가 실제 분석 질문과 연결되는지 판단하기

AI는 코드 작성과 분석 보조 도구로 적극 활용하되, 최종적인 분석 판단은 사람이 담당한다.

프로젝트에서 무엇을 판단하는가?

각 프로젝트에서는 알고리즘을 한 번 실행하는 데 그치지 않고 다음 질문을 반복한다.

문제와 데이터

  • 무엇을 알고 싶은가?

  • 각 행과 열은 무엇을 의미하는가?

  • 데이터의 품질과 대표성에 문제가 없는가?

탐색

  • 타깃은 어떻게 분포하는가?

  • 집단 사이에는 어떤 차이가 있는가?

  • 변수 사이에는 어떤 관계나 경향이 있는가?

모델과 평가

  • 어떤 모델을 사용할 것인가?

  • 어떤 지표로 평가할 것인가?

  • 새로운 데이터에서도 잘 작동하는가?

해석과 판단

  • 모델은 어디에서 잘 작동하고 어디에서 실패하는가?

  • 분석 결과로 어떤 결론을 내릴 수 있는가?

  • 무엇을 결론 내리면 안 되는가?

  • 분석의 한계는 무엇인가?

프로젝트의 목적은 가장 높은 성능을 얻는 것이 아니라 분석 과정의 선택과 결과에 근거를 제시할 수 있게 되는 것이다.

이 강의에서 중요하게 생각하는 것

좋은 머신러닝 분석은 단순히 가장 높은 성능을 얻은 분석이 아니다.

좋은 분석은

  • 문제를 적절하게 정의하고,

  • 데이터를 충분히 이해하며,

  • 분석 방법을 선택한 이유를 설명하고,

  • 모델의 성능을 올바르게 평가하며,

  • 오류와 한계를 해석하고,

  • AI가 생성한 코드와 분석을 검증하며,

  • 최종 판단의 근거를 설명할 수 있는 분석이다.

이 강의의 학습 과정은 세 단계로 요약한다.

이해 → 활용 → 판단

머신러닝의 핵심 개념을 이해하고, 실제 데이터 프로젝트에서 활용하고, 그 결과의 타당성과 한계를 스스로 판단하는 것이 이 강의의 목표다.

실습 환경과 필수 라이브러리

실습은 Jupyter Notebook 환경에서 진행한다.

가장 간단하게는 브라우저에서 바로 사용할 수 있는 구글 코랩Google Colab을 이용할 수 있다. 로컬 환경에서는 아나콘다Anaconda비주얼 스튜디오 코드Visual Studio Code를 사용할 수 있다.

주로 사용하는 라이브러리는 다음과 같다.

라이브러리주요 역할
사이킷런scikit-learn머신러닝 모델, 전처리, 평가
넘파이NumPy수치 계산과 배열
판다스Pandas테이블 형태 데이터 처리
맷플롯립Matplotlib데이터 시각화