본 콘텐츠의 이미지 및 내용은 AI로 생성되었습니다.
본 콘텐츠의 이미지 및 내용을 무단으로 복제, 배포, 수정하여 사용할 경우 저작권법에 의해 법적 제재를 받을 수 있습니다.
이미지 로딩 중...
AI Generated
2025. 12. 15. · 9 Views
데이터 과학 소개와 환경 설정 완벽 가이드
데이터 과학의 개념과 역할을 이해하고, Jupyter Notebook과 Google Colab을 활용한 실습 환경을 구축합니다. 파이썬 기반 데이터 분석의 첫 걸음을 시작해봅시다.
목차
- 데이터_과학이란_무엇인가
- 데이터_과학자의_역할과_업무
- Jupyter_Notebook_설치하기
- Google_Colab_시작하기
- 첫_번째_파이썬_코드_실행
- 필수_라이브러리_설치_pandas_numpy_matplotlib
1. 데이터 과학이란 무엇인가
어느 날 신입 개발자 김데이터 씨는 회의 중에 "데이터 과학으로 이 문제를 해결해봅시다"라는 말을 들었습니다. 고개를 끄덕이긴 했지만, 솔직히 데이터 과학이 정확히 무엇인지 잘 몰랐습니다.
퇴근 후 선배 박분석 씨에게 용기내어 물어봤습니다.
데이터 과학은 데이터로부터 의미 있는 인사이트를 추출하는 과정입니다. 통계학, 프로그래밍, 비즈니스 지식을 결합하여 실제 문제를 해결합니다.
마치 탐정이 단서를 모아 진실을 밝혀내듯, 데이터 과학자는 데이터를 분석하여 숨겨진 패턴을 찾아냅니다.
다음 코드를 살펴봅시다.
# 데이터 과학의 기본 워크플로우 예시
import pandas as pd
# 1. 데이터 수집
data = pd.read_csv('sales_data.csv')
# 2. 데이터 탐색
print(data.head()) # 첫 5행 확인
print(data.info()) # 데이터 타입과 결측치 확인
# 3. 데이터 분석
monthly_sales = data.groupby('month')['sales'].sum()
# 4. 인사이트 도출
best_month = monthly_sales.idxmax()
print(f"최고 매출 월: {best_month}")
김데이터 씨는 개발자로 입사한 지 한 달이 되었습니다. 코딩은 자신 있지만, 최근 회사에서 자주 등장하는 "데이터 과학"이라는 단어가 낯설게만 느껴졌습니다.
선배 박분석 씨는 커피를 한 모금 마시고 친절하게 설명을 시작했습니다. "데이터 과학이요?
어렵지 않아요. 쉽게 말하면 데이터로 문제를 푸는 거예요." 그렇다면 데이터 과학이란 정확히 무엇일까요?
데이터 과학을 쉽게 비유하자면, 마치 요리사가 재료를 조합해 맛있는 요리를 만드는 것과 같습니다. 요리사에게는 신선한 재료(데이터), 요리 기술(프로그래밍), 레시피 지식(통계학), 그리고 손님의 취향 이해(비즈니스 도메인)가 필요합니다.
이 모든 것이 조화를 이룰 때 비로소 훌륭한 요리가 완성됩니다. 데이터 과학도 마찬가지입니다.
단순히 코딩만 잘한다고, 혹은 통계만 안다고 해서 되는 것이 아닙니다. 데이터 과학이 주목받기 전에는 어땠을까요?
과거 기업들은 직관과 경험에 의존해서 의사결정을 내렸습니다. "지난해에 이렇게 했으니 올해도 비슷하게 하면 되겠지"라는 식이었습니다.
물론 경험도 중요하지만, 시장 환경은 빠르게 변합니다. 더 큰 문제는 숨겨진 기회를 발견하지 못한다는 점이었습니다.
예를 들어 어떤 쇼핑몰이 매출이 줄어들고 있다고 가정해봅시다. 직관만으로는 "경쟁이 심해져서"라고 생각할 수 있습니다.
하지만 데이터를 분석하면 전혀 다른 사실을 발견할 수 있습니다. "실제로는 모바일 사용자가 급증했는데, 우리 모바일 앱의 결제 과정이 너무 복잡해서 이탈하고 있다"는 식으로요.
바로 이런 인사이트를 찾아내는 것이 데이터 과학의 핵심입니다. 데이터 과학의 프로세스는 크게 네 단계로 구성됩니다.
첫 번째는 데이터 수집입니다. 필요한 데이터를 데이터베이스, API, 웹 크롤링 등 다양한 방법으로 모읍니다.
두 번째는 데이터 탐색입니다. 수집한 데이터의 구조를 파악하고, 결측치나 이상치를 확인합니다.
세 번째는 데이터 분석입니다. 통계적 기법이나 머신러닝 모델을 활용해 패턴을 찾아냅니다.
마지막은 인사이트 도출입니다. 분석 결과를 비즈니스 액션으로 연결합니다.
위의 코드를 살펴보겠습니다. 먼저 pandas라는 라이브러리를 사용해 CSV 파일에서 데이터를 읽어옵니다.
이것이 데이터 수집 단계입니다. 다음으로 head()와 info() 메서드로 데이터의 구조를 파악합니다.
이것이 탐색 단계입니다. 그리고 groupby()를 사용해 월별 매출을 집계합니다.
이것이 분석 단계입니다. 마지막으로 최고 매출을 기록한 월을 찾아냅니다.
이것이 인사이트 도출 단계입니다. 실제 현업에서는 어떻게 활용될까요?
넷플릭스는 데이터 과학으로 사용자의 시청 패턴을 분석해 추천 시스템을 만듭니다. 아마존은 고객의 구매 이력을 분석해 "이 상품을 구매한 고객은 이런 상품도 구매했습니다"를 보여줍니다.
우버는 실시간 교통 데이터를 분석해 최적의 경로를 제안합니다. 모두 데이터 과학이 만들어낸 결과물입니다.
하지만 주의할 점도 있습니다. 초보자들이 흔히 하는 실수는 "데이터만 있으면 뭐든지 할 수 있다"고 생각하는 것입니다.
데이터의 품질이 나쁘면 아무리 뛰어난 분석 기법을 사용해도 의미 없는 결과만 나옵니다. "쓰레기를 넣으면 쓰레기가 나온다(Garbage In, Garbage Out)"는 격언을 항상 기억해야 합니다.
다시 김데이터 씨의 이야기로 돌아가봅시다. 박분석 씨의 설명을 들은 김데이터 씨는 눈이 반짝였습니다.
"그럼 저도 배울 수 있을까요?" "물론이죠. 파이썬을 알고 계시니까 절반은 이미 온 거예요.
나머지는 데이터를 다루는 감각을 키우는 거죠." 데이터 과학은 이제 선택이 아닌 필수가 되었습니다. 여러분도 오늘부터 데이터로 문제를 해결하는 여정을 시작해보세요.
실전 팁
💡 - 데이터 과학은 통계, 프로그래밍, 도메인 지식이 모두 필요한 융합 분야입니다
- 처음에는 작은 데이터셋으로 시작해서 전체 프로세스를 경험해보세요
- 데이터 품질이 분석 결과를 결정합니다. 항상 데이터를 먼저 점검하세요
2. 데이터 과학자의 역할과 업무
김데이터 씨는 회사 채용 공고에서 "데이터 과학자 모집"이라는 글을 보았습니다. 궁금해서 자세히 읽어보니 요구 사항이 상당히 많았습니다.
"파이썬, SQL, 머신러닝, 통계학, 시각화..." 박분석 씨에게 물었습니다. "데이터 과학자는 대체 무슨 일을 하나요?"
데이터 과학자는 데이터를 수집, 분석하여 비즈니스 문제를 해결하는 전문가입니다. 프로그래밍 능력과 통계 지식을 바탕으로 예측 모델을 만들고, 인사이트를 시각화하여 의사결정을 돕습니다.
21세기 가장 섹시한 직업으로 불리며, 기술과 비즈니스를 연결하는 다리 역할을 합니다.
다음 코드를 살펴봅시다.
# 데이터 과학자의 일상적인 업무 예시
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
# 1. 데이터 수집 및 전처리
df = pd.read_csv('customer_data.csv')
df = df.dropna() # 결측치 제거
# 2. 탐색적 데이터 분석 (EDA)
print(df.describe()) # 기초 통계량 확인
# 3. 모델링
X = df[['age', 'income']]
y = df['purchase_amount']
model = LinearRegression()
model.fit(X, y)
# 4. 결과 시각화
plt.scatter(df['income'], df['purchase_amount'])
plt.xlabel('Income')
plt.ylabel('Purchase Amount')
plt.savefig('analysis_result.png')
박분석 씨는 자신의 노트북을 열어 실제 프로젝트를 보여주었습니다. "제가 지난주에 했던 일을 보여드릴게요." 화면에는 다양한 그래프와 숫자들이 가득했습니다.
김데이터 씨는 조금 압도되는 느낌이었지만, 박분석 씨의 설명을 집중해서 들었습니다. 데이터 과학자의 역할을 이해하기 위해 비유를 들어보겠습니다.
마치 의사가 환자를 진단하는 것과 비슷합니다. 의사는 먼저 환자의 증상을 듣고(데이터 수집), 각종 검사를 실시하고(탐색적 분석), 진단을 내리고(모델링), 치료 방법을 제시합니다(인사이트 도출).
데이터 과학자도 비즈니스의 "증상"을 파악하고, 데이터로 "진단"하고, 해결책을 "처방"하는 역할을 합니다. 그렇다면 데이터 과학자가 없던 시절에는 어땠을까요?
과거에는 IT 부서가 단순히 데이터를 추출해주면, 비즈니스 팀이 엑셀로 간단한 분석을 했습니다. 하지만 데이터 양이 폭발적으로 증가하면서 한계가 드러났습니다.
엑셀로는 수백만 건의 데이터를 다룰 수 없었고, 복잡한 패턴을 찾기도 어려웠습니다. 더 큰 문제는 IT 부서는 비즈니스를 잘 모르고, 비즈니스 팀은 기술을 잘 모른다는 점이었습니다.
바로 이 간극을 메우기 위해 데이터 과학자라는 역할이 탄생했습니다. 데이터 과학자는 크게 네 가지 핵심 업무를 수행합니다.
첫 번째는 데이터 수집 및 전처리입니다. 다양한 소스에서 데이터를 모으고, 분석 가능한 형태로 정제합니다.
결측치를 처리하고, 이상치를 제거하고, 필요한 변수를 생성합니다. 이 과정이 전체 업무의 약 60~70%를 차지합니다.
두 번째는 **탐색적 데이터 분석(EDA)**입니다. 데이터의 분포를 파악하고, 변수 간 관계를 탐색하고, 가설을 세웁니다.
이 단계에서 시각화를 많이 활용합니다. 그래프로 보면 숫자로 볼 때보다 패턴이 훨씬 명확하게 보이기 때문입니다.
세 번째는 모델링입니다. 통계 모델이나 머신러닝 알고리즘을 사용해 예측 모델을 만듭니다.
예를 들어 "이 고객이 다음 달에 이탈할 확률"이나 "이 제품의 내일 판매량"을 예측하는 식입니다. 네 번째는 커뮤니케이션입니다.
분석 결과를 비기술자도 이해할 수 있게 설명하고, 실행 가능한 액션 아이템으로 전환합니다. 아무리 뛰어난 분석도 실행되지 않으면 의미가 없습니다.
위의 코드를 단계별로 살펴보겠습니다. 먼저 pandas로 고객 데이터를 불러옵니다.
그다음 dropna()로 결측치가 있는 행을 제거합니다. 실무에서는 결측치를 평균값으로 채우거나 예측 모델로 보완하기도 하지만, 여기서는 간단히 제거했습니다.
그다음 describe()로 기초 통계량을 확인합니다. 평균, 표준편차, 최댓값, 최솟값 등을 한눈에 볼 수 있습니다.
이어서 선형 회귀 모델을 만듭니다. 나이와 소득을 입력 변수로, 구매 금액을 출력 변수로 설정했습니다.
fit() 메서드로 모델을 학습시킵니다. 마지막으로 matplotlib로 소득과 구매 금액의 관계를 산점도로 시각화합니다.
실제 현업에서는 어떤 프로젝트를 진행할까요? 전자상거래 회사에서 일하는 데이터 과학자는 "상품 추천 시스템" 개선 프로젝트를 진행할 수 있습니다.
사용자의 과거 구매 이력, 검색 기록, 클릭 패턴을 분석해서 개인화된 추천을 제공합니다. 금융권에서는 "신용 위험 평가 모델"을 만듭니다.
대출 신청자의 연체 확률을 예측해서 승인 여부를 결정하는 데 활용됩니다. 제조업에서는 "품질 예측 모델"을 만들기도 합니다.
생산 라인의 센서 데이터를 실시간으로 분석해서 불량품이 나올 확률을 미리 예측합니다. 이를 통해 불량률을 크게 줄일 수 있습니다.
하지만 주의할 점도 있습니다. 초보 데이터 과학자들이 흔히 하는 실수는 "모델 성능"에만 집착하는 것입니다.
정확도 99%인 모델을 만들어도, 그것이 비즈니스에 도움이 되지 않으면 무용지물입니다. 예를 들어 고객 이탈 예측 모델을 만들었는데, 정작 이탈을 막을 수 있는 액션 플랜이 없다면 의미가 없습니다.
또 다른 실수는 혼자서 모든 것을 해결하려는 것입니다. 데이터 과학은 팀 스포츠입니다.
데이터 엔지니어가 파이프라인을 구축하고, 데이터 분석가가 비즈니스 맥락을 제공하고, 개발자가 모델을 배포합니다. 협업이 핵심입니다.
다시 김데이터 씨의 이야기로 돌아가봅시다. 박분석 씨의 설명을 듣고 나니 데이터 과학자의 역할이 명확해졌습니다.
"생각보다 다양한 일을 하네요!" "맞아요. 그래서 재미있어요.
매일 다른 문제를 푸니까요." 데이터 과학자는 단순히 코드만 작성하는 사람이 아닙니다. 비즈니스를 이해하고, 데이터로 문제를 해결하고, 조직에 가치를 제공하는 전문가입니다.
여러분도 이 흥미진진한 여정에 도전해보세요.
실전 팁
💡 - 데이터 과학자는 프로그래밍뿐만 아니라 비즈니스 이해와 커뮤니케이션 능력이 필수입니다
- 업무의 대부분은 데이터 정제입니다. 화려한 모델링보다 기본기가 중요합니다
- 분석 결과를 실행 가능한 액션으로 연결하는 것이 진정한 가치입니다
3. Jupyter Notebook 설치하기
김데이터 씨는 본격적으로 데이터 과학을 공부하기로 마음먹었습니다. 첫 번째 과제는 개발 환경을 구축하는 것이었습니다.
박분석 씨가 추천한 도구는 Jupyter Notebook이었습니다. "데이터 과학자들이 가장 많이 쓰는 도구예요.
설치도 간단하답니다."
Jupyter Notebook은 코드, 결과, 설명을 하나의 문서에 담을 수 있는 대화형 개발 환경입니다. 셀 단위로 코드를 실행하고, 즉시 결과를 확인할 수 있어서 데이터 분석과 학습에 최적화되어 있습니다.
파이썬뿐만 아니라 R, Julia 등 40개 이상의 언어를 지원합니다.
다음 코드를 살펴봅시다.
# 터미널에서 Jupyter Notebook 설치 (pip 사용)
# pip install jupyter
# 설치 후 실행
# jupyter notebook
# Jupyter Notebook에서 실행할 첫 번째 코드
print("안녕하세요, Jupyter Notebook!")
# 변수 생성과 출력
my_name = "김데이터"
print(f"제 이름은 {my_name}입니다.")
# 리스트 생성 및 출력
fruits = ['사과', '바나나', '체리']
for fruit in fruits:
print(f"과일: {fruit}")
김데이터 씨는 노트북을 열고 터미널을 실행했습니다. 박분석 씨가 보내준 설치 가이드를 따라서 하나씩 진행했습니다.
"먼저 파이썬이 설치되어 있는지 확인해보세요." 박분석 씨가 메신저로 메시지를 보냈습니다. Jupyter Notebook을 이해하기 위해 비유를 들어보겠습니다.
일반적인 코드 에디터는 마치 종이 노트와 같습니다. 위에서부터 아래로 쭉 코드를 작성하고, 전체를 한 번에 실행합니다.
반면 Jupyter Notebook은 루즈리프 바인더와 같습니다. 각 페이지(셀)를 독립적으로 작성하고, 원하는 순서로 실행할 수 있습니다.
중간에 설명을 추가하거나, 그래프를 삽입하거나, 코드를 수정해도 전체를 다시 실행할 필요가 없습니다. 이런 특징 덕분에 데이터 과학자들이 Jupyter Notebook을 선호합니다.
Jupyter Notebook이 등장하기 전에는 어땠을까요? 데이터 분석가들은 파이썬 스크립트를 작성하고, 터미널에서 실행하고, 결과를 별도의 파일로 저장했습니다.
코드를 조금 수정하면 처음부터 다시 실행해야 했습니다. 특히 데이터 로딩에 시간이 오래 걸리면 매번 몇 분씩 기다려야 했습니다.
게다가 코드와 결과, 설명이 분리되어 있어서 나중에 다시 보면 "이게 무슨 분석이었지?"라고 헷갈렸습니다. 바로 이런 불편함을 해결하기 위해 Jupyter Notebook이 탄생했습니다.
Jupyter Notebook 설치는 매우 간단합니다. 먼저 파이썬이 설치되어 있어야 합니다.
파이썬 3.6 이상 버전을 권장합니다. 터미널(윈도우에서는 명령 프롬프트 또는 PowerShell)을 열고 pip install jupyter라고 입력하면 됩니다.
pip는 파이썬 패키지 관리자로, 파이썬을 설치하면 자동으로 함께 설치됩니다. 설치가 완료되면 jupyter notebook이라고 입력해서 실행합니다.
그러면 웹 브라우저가 자동으로 열리면서 Jupyter Notebook 인터페이스가 나타납니다. 기본적으로 http://localhost:8888 주소로 접속됩니다.
인터페이스를 살펴보겠습니다. 왼쪽에는 파일 탐색기가 있습니다.
현재 디렉토리의 파일과 폴더를 볼 수 있습니다. 오른쪽 상단에는 "New" 버튼이 있습니다.
이 버튼을 클릭하고 "Python 3"을 선택하면 새로운 노트북이 생성됩니다. 노트북은 **셀(Cell)**이라는 단위로 구성됩니다.
셀에는 두 가지 종류가 있습니다. 코드 셀은 파이썬 코드를 작성하고 실행하는 곳입니다.
마크다운 셀은 설명이나 문서를 작성하는 곳입니다. 제목, 리스트, 링크 등을 마크다운 문법으로 작성할 수 있습니다.
위의 코드를 실행해보겠습니다. 첫 번째 셀에 print("안녕하세요, Jupyter Notebook!")을 입력하고 Shift + Enter를 누릅니다.
그러면 셀이 실행되고, 바로 아래에 결과가 출력됩니다. "안녕하세요, Jupyter Notebook!"이라는 문구가 보일 것입니다.
두 번째 셀에서는 변수를 만들어봅니다. my_name = "김데이터"라고 입력하고, 다음 줄에 print(f"제 이름은 {my_name}입니다.")를 입력합니다.
실행하면 "제 이름은 김데이터입니다."가 출력됩니다. 세 번째 셀에서는 리스트를 만들고 반복문을 사용합니다.
각 과일 이름이 한 줄씩 출력되는 것을 확인할 수 있습니다. 실제 현업에서는 어떻게 활용할까요?
데이터 과학자들은 Jupyter Notebook으로 탐색적 데이터 분석(EDA)을 수행합니다. 데이터를 불러오고, 시각화하고, 통계량을 확인하고, 가설을 검증하는 모든 과정을 하나의 노트북에 담습니다.
분석이 끝나면 노트북 자체가 훌륭한 리포트가 됩니다. 동료나 상사에게 공유하면 코드와 결과, 설명을 모두 볼 수 있습니다.
교육 분야에서도 많이 사용됩니다. 강사는 Jupyter Notebook으로 강의 자료를 만들고, 학생들은 같은 노트북에서 실습을 진행합니다.
코드 설명과 실행 결과가 함께 있어서 이해하기 쉽습니다. 하지만 주의할 점도 있습니다.
초보자들이 흔히 하는 실수는 셀을 순서 없이 실행하는 것입니다. 예를 들어 변수를 정의하기 전에 사용하는 셀을 먼저 실행하면 에러가 발생합니다.
Jupyter Notebook은 셀을 어떤 순서로든 실행할 수 있지만, 논리적인 순서를 지켜야 합니다. 또 다른 주의점은 노트북이 너무 길어지지 않도록 하는 것입니다.
수백 개의 셀이 있는 노트북은 관리하기 어렵습니다. 적절히 나누거나, 함수로 모듈화하는 것이 좋습니다.
다시 김데이터 씨의 이야기로 돌아가봅시다. 설치를 완료한 김데이터 씨는 첫 번째 코드를 성공적으로 실행했습니다.
"와, 정말 바로 결과가 보이네요!" "그렇죠? 이제 본격적으로 데이터 분석을 시작할 준비가 됐어요." Jupyter Notebook은 데이터 과학의 필수 도구입니다.
설치도 간단하고, 사용법도 직관적입니다. 여러분도 지금 바로 설치해서 첫 번째 코드를 실행해보세요.
실전 팁
💡 - Shift + Enter로 셀을 실행하고 다음 셀로 이동합니다
- 셀의 타입은 메뉴에서 Code와 Markdown으로 변경할 수 있습니다
- 자동 완성 기능(Tab 키)을 활용하면 코딩 속도가 빨라집니다
4. Google Colab 시작하기
김데이터 씨는 집에서 개인 노트북으로 작업하다가 문제를 발견했습니다. 큰 데이터셋을 다루려니 컴퓨터가 느려졌습니다.
박분석 씨에게 고민을 털어놓자, "Google Colab을 사용해보세요. 무료로 GPU도 쓸 수 있어요"라는 답변이 돌아왔습니다.
Google Colab은 구글이 제공하는 클라우드 기반 Jupyter Notebook 환경입니다. 설치 없이 브라우저에서 바로 사용할 수 있고, 무료로 GPU와 TPU를 활용할 수 있어서 머신러닝 학습에 최적화되어 있습니다.
구글 드라이브에 자동 저장되어 어디서든 접근할 수 있습니다.
다음 코드를 살펴봅시다.
# Google Colab에서 실행되는 코드 예시
# 구글 드라이브 마운트
from google.colab import drive
drive.mount('/content/drive')
# 시스템 정보 확인
!nvidia-smi # GPU 사용 가능 여부 확인
# 라이브러리는 이미 대부분 설치되어 있음
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 간단한 배열 생성 및 출력
data = np.array([1, 2, 3, 4, 5])
print(f"배열: {data}")
print(f"평균: {data.mean()}")
김데이터 씨는 박분석 씨가 보내준 링크를 클릭했습니다. colab.research.google.com이라는 주소였습니다.
구글 계정으로 로그인하니 바로 새로운 노트북이 생성되었습니다. "정말 설치 없이 바로 되네요!" 김데이터 씨는 감탄했습니다.
Google Colab을 이해하기 위해 비유를 들어보겠습니다. 로컬에서 Jupyter Notebook을 사용하는 것은 마치 자기 집에서 요리하는 것과 같습니다.
재료도 직접 사야 하고, 조리 도구도 준비해야 합니다. 반면 Google Colab은 호텔 뷔페와 같습니다.
모든 재료와 도구가 준비되어 있고, 그냥 가서 사용하기만 하면 됩니다. 게다가 무료입니다.
이런 장점 덕분에 학생, 연구자, 입문자들이 Google Colab을 많이 사용합니다. Google Colab이 등장하기 전에는 어땠을까요?
머신러닝을 공부하려면 고사양 컴퓨터가 필요했습니다. 특히 딥러닝은 GPU가 필수인데, GPU가 장착된 컴퓨터는 비쌌습니다.
학생들은 학교 연구실의 서버를 사용하거나, 클라우드 서비스를 유료로 구매해야 했습니다. 환경 설정도 복잡했습니다.
CUDA, cuDNN 같은 라이브러리를 설치하는 데만 반나절이 걸리기도 했습니다. 바로 이런 진입 장벽을 낮추기 위해 구글이 Colab을 무료로 제공하기 시작했습니다.
Google Colab 사용법은 매우 간단합니다. 웹 브라우저에서 colab.research.google.com에 접속합니다.
구글 계정으로 로그인하면 됩니다. 이미 구글 계정이 있다면 추가 설정 없이 바로 사용할 수 있습니다.
메인 페이지에서 "새 노트" 버튼을 클릭하면 새로운 노트북이 생성됩니다. 인터페이스는 Jupyter Notebook과 거의 동일합니다.
셀에 코드를 입력하고 Shift + Enter로 실행합니다. 차이점은 상단 메뉴에 "런타임" 옵션이 있다는 것입니다.
여기서 런타임 유형을 변경할 수 있습니다. "런타임 > 런타임 유형 변경"을 클릭하면 하드웨어 가속기를 선택할 수 있습니다.
기본값은 "None"이지만, "GPU" 또는 "TPU"로 변경할 수 있습니다. 딥러닝 모델을 학습할 때는 GPU를 선택하면 학습 속도가 수십 배 빨라집니다.
위의 코드를 단계별로 살펴보겠습니다. 첫 번째 코드는 구글 드라이브를 마운트하는 것입니다.
drive.mount('/content/drive')를 실행하면 구글 드라이브에 있는 파일을 Colab에서 직접 읽고 쓸 수 있습니다. 처음 실행하면 권한을 요청하는 링크가 나타납니다.
링크를 클릭하고 인증 코드를 입력하면 됩니다. 두 번째는 !nvidia-smi 명령어입니다.
느낌표(!)로 시작하는 것은 셸 명령어를 실행하는 것입니다. nvidia-smi는 GPU 정보를 보여주는 명령어입니다.
GPU를 선택했다면 Tesla T4 같은 GPU 모델명이 출력됩니다. 세 번째는 라이브러리를 임포트하는 것입니다.
Colab에는 numpy, pandas, matplotlib 같은 주요 라이브러리가 이미 설치되어 있습니다. 바로 import해서 사용할 수 있습니다.
만약 설치되지 않은 라이브러리가 필요하면 !pip install 라이브러리명으로 설치할 수 있습니다. 네 번째는 간단한 numpy 배열을 만들고 평균을 계산하는 것입니다.
실행하면 "배열: [1 2 3 4 5]"와 "평균: 3.0"이 출력됩니다. 실제 현업에서는 어떻게 활용할까요?
머신러닝 엔지니어들은 Colab으로 프로토타입을 빠르게 만듭니다. 새로운 아이디어를 테스트하거나, 오픈소스 모델을 실험할 때 유용합니다.
데이터 사이언스 교육에도 많이 사용됩니다. 강사가 Colab 링크를 공유하면, 학생들은 클릭 한 번으로 같은 환경에서 실습할 수 있습니다.
개인 프로젝트나 캐글(Kaggle) 대회에 참여할 때도 Colab을 활용합니다. 로컬 컴퓨터의 성능이 부족해도, Colab의 무료 GPU로 충분히 경쟁력 있는 모델을 만들 수 있습니다.
하지만 주의할 점도 있습니다. 무료 버전은 사용 시간 제한이 있습니다.
연속으로 12시간, 일일 최대 사용 시간도 제한되어 있습니다. 장시간 학습이 필요한 작업은 중간에 끊길 수 있습니다.
이 경우 Colab Pro를 유료로 구독하면 제한이 완화됩니다. 또 다른 주의점은 세션이 종료되면 런타임 환경이 초기화된다는 것입니다.
설치한 라이브러리나 다운로드한 파일은 사라집니다. 중요한 파일은 반드시 구글 드라이브에 저장해야 합니다.
다시 김데이터 씨의 이야기로 돌아가봅시다. GPU를 선택하고 코드를 실행한 김데이터 씨는 놀라움을 감추지 못했습니다.
"이렇게 간단하게 GPU를 쓸 수 있다니!" "맞아요. 이제 딥러닝 공부도 시작할 수 있겠네요." Google Colab은 데이터 과학 학습의 진입 장벽을 크게 낮춰줍니다.
설치도 필요 없고, 고사양 컴퓨터도 필요 없습니다. 여러분도 지금 바로 Colab을 열고 첫 번째 코드를 실행해보세요.
실전 팁
💡 - 런타임 유형을 GPU로 변경하면 딥러닝 학습 속도가 크게 빨라집니다
- 중요한 파일은 반드시 구글 드라이브에 저장하세요 (세션 종료 시 사라짐)
- 단축키 Ctrl+M+H를 누르면 모든 단축키 목록을 볼 수 있습니다
5. 첫 번째 파이썬 코드 실행
환경 설정을 마친 김데이터 씨는 드디어 본격적인 코딩을 시작할 준비가 되었습니다. 박분석 씨가 말했습니다.
"이제 가장 중요한 순간이에요. 첫 번째 코드를 실행해보세요.
프로그래밍은 직접 해봐야 느낌이 와요."
파이썬의 기본 문법을 익히고 첫 번째 코드를 실행하는 과정입니다. 변수 선언, 데이터 타입, 기본 연산, 출력 등 데이터 과학의 기초가 되는 핵심 개념을 다룹니다.
간단하지만 모든 복잡한 분석의 시작점이 되는 중요한 단계입니다.
다음 코드를 살펴봅시다.
# 1. 변수와 데이터 타입
name = "김데이터" # 문자열
age = 25 # 정수
height = 175.5 # 실수
is_student = True # 불린
# 2. 출력
print(f"이름: {name}, 나이: {age}세")
# 3. 리스트와 반복문
scores = [85, 90, 78, 92, 88]
total = sum(scores)
average = total / len(scores)
print(f"평균 점수: {average:.2f}점")
# 4. 조건문
if average >= 90:
print("성적: A")
elif average >= 80:
print("성적: B")
else:
print("성적: C")
김데이터 씨는 새로운 셀을 만들고 첫 번째 코드를 입력하기 시작했습니다. 손가락이 조금 떨렸습니다.
첫 번째 코드는 언제나 특별하니까요. 박분석 씨가 옆에서 지켜보며 격려했습니다.
"천천히 해도 돼요. 오타가 나도 괜찮아요." 파이썬 코드를 이해하기 위해 비유를 들어보겠습니다.
프로그래밍은 마치 레고 블록을 조립하는 것과 같습니다. 기본 블록(변수, 연산자, 조건문)을 이해하면, 이것들을 조합해서 복잡한 구조물(데이터 분석 프로그램)을 만들 수 있습니다.
처음에는 작은 집을 짓고, 점차 성을 짓게 됩니다. 그렇다면 왜 파이썬으로 시작할까요?
데이터 과학에는 다양한 언어가 있습니다. R, Julia, Scala 등이 있지만, 파이썬이 가장 대중적입니다.
이유는 간단합니다. 문법이 쉽고, 라이브러리가 풍부하고, 커뮤니티가 활발하기 때문입니다.
다른 언어들은 특정 분야에서 강점이 있지만, 파이썬은 데이터 수집부터 모델 배포까지 전 과정을 커버합니다. 위의 코드를 단계별로 살펴보겠습니다.
첫 번째 부분은 변수 선언입니다. 변수는 데이터를 담는 상자와 같습니다.
name = "김데이터"는 "name이라는 상자에 '김데이터'라는 값을 넣어라"는 의미입니다. 파이썬은 변수 타입을 자동으로 인식합니다.
문자열, 정수, 실수, 불린(참/거짓) 등 다양한 타입이 있습니다. 두 번째 부분은 출력입니다.
print() 함수는 괄호 안의 내용을 화면에 보여줍니다. f-string을 사용하면 변수를 문자열 안에 쉽게 삽입할 수 있습니다.
f"이름: {name}"처럼 중괄호 안에 변수를 넣으면 됩니다. 세 번째 부분은 리스트와 연산입니다.
리스트는 여러 개의 값을 하나로 묶은 것입니다. scores = [85, 90, 78, 92, 88]은 5개의 점수를 하나의 리스트에 담았습니다.
sum() 함수로 합계를 구하고, len() 함수로 개수를 센 다음, 나누면 평균이 나옵니다. :.2f는 소수점 둘째 자리까지 표시하라는 의미입니다.
네 번째 부분은 조건문입니다. if-elif-else 구조로 조건에 따라 다른 동작을 수행합니다.
평균이 90 이상이면 A, 80 이상이면 B, 그 외에는 C를 출력합니다. 들여쓰기(indentation)가 중요합니다.
파이썬은 들여쓰기로 코드 블록을 구분합니다. 실제로 코드를 실행해봅시다.
Shift + Enter를 누르면 코드가 실행됩니다. 출력 결과는 다음과 같습니다: 이름: 김데이터, 나이: 25세 평균 점수: 86.60점 성적: B 간단한 코드지만, 여기에 데이터 과학의 핵심 요소가 모두 들어있습니다.
데이터를 변수에 저장하고(데이터 수집), 연산을 수행하고(분석), 조건에 따라 결론을 내립니다(인사이트 도출). 실제 데이터 과학 프로젝트에서는 어떻게 확장될까요?
예를 들어 학생 1명이 아니라 1,000명의 성적을 분석한다고 가정해봅시다. 리스트 대신 pandas DataFrame을 사용하고, 단순 평균이 아니라 표준편차, 중앙값도 계산하고, matplotlib로 성적 분포를 시각화할 것입니다.
하지만 기본 로직은 똑같습니다. 데이터를 담고, 연산하고, 조건을 확인합니다.
머신러닝도 마찬가지입니다. 복잡해 보이지만 결국 데이터를 읽고, 특징을 추출하고, 모델을 학습시키고, 예측을 수행하는 과정입니다.
모두 변수, 함수, 조건문, 반복문의 조합입니다. 하지만 주의할 점도 있습니다.
초보자들이 흔히 하는 실수는 들여쓰기를 잘못하는 것입니다. 파이썬은 들여쓰기가 문법의 일부입니다.
스페이스 4개 또는 탭 1개로 통일해야 합니다. 섞어 쓰면 에러가 발생합니다.
또 다른 실수는 변수명을 한글로 짓는 것입니다. 가능하기는 하지만 권장하지 않습니다.
영문 소문자와 언더스코어(_)를 사용하는 것이 관례입니다. 예를 들어 student_name, average_score 같은 식입니다.
마지막으로 에러 메시지를 두려워하지 마세요. 에러는 적이 아니라 선생님입니다.
무엇이 잘못되었는지 알려주는 힌트입니다. 에러 메시지를 읽고, 구글에 검색하고, 수정하는 과정에서 실력이 늡니다.
다시 김데이터 씨의 이야기로 돌아가봅시다. 첫 번째 코드가 성공적으로 실행되었습니다.
김데이터 씨는 환하게 웃었습니다. "생각보다 어렵지 않네요!" "맞아요.
파이썬은 정말 쉬운 언어예요. 이제 더 재미있는 걸 해볼까요?" 첫 번째 코드를 실행하는 순간은 프로그래밍 여정의 시작입니다.
작은 성공이 쌓여서 큰 성취가 됩니다. 여러분도 지금 바로 코드를 작성하고 실행해보세요.
첫 걸음이 가장 중요합니다.
실전 팁
💡 - 파이썬은 들여쓰기로 코드 블록을 구분합니다. 일관되게 스페이스 4개 사용을 권장합니다
- 변수명은 의미를 명확히 전달하도록 작성하세요 (예: avg보다 average가 좋습니다)
- 에러가 나면 에러 메시지를 꼼꼼히 읽어보세요. 해결의 힌트가 담겨 있습니다
6. 필수 라이브러리 설치 pandas numpy matplotlib
기본 파이썬 문법을 익힌 김데이터 씨에게 박분석 씨가 말했습니다. "이제 진짜 데이터 과학 도구를 사용해볼 시간이에요.
pandas, numpy, matplotlib 이 세 가지만 알면 웬만한 분석은 다 할 수 있어요."
pandas는 데이터 조작과 분석을 위한 라이브러리, numpy는 수치 계산을 위한 라이브러리, matplotlib는 데이터 시각화를 위한 라이브러리입니다. 이 세 가지는 데이터 과학의 필수 도구이며, 대부분의 분석 프로젝트에서 함께 사용됩니다.
다음 코드를 살펴봅시다.
# 라이브러리 설치 (터미널에서)
# pip install pandas numpy matplotlib
# 라이브러리 임포트 및 기본 사용법
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# Pandas: 데이터프레임 생성
data = {
'이름': ['김철수', '이영희', '박민수'],
'나이': [25, 30, 35],
'점수': [85, 90, 78]
}
df = pd.DataFrame(data)
print(df)
# NumPy: 배열 연산
arr = np.array([1, 2, 3, 4, 5])
print(f"배열의 제곱: {arr ** 2}")
print(f"배열의 평균: {arr.mean()}")
# Matplotlib: 간단한 그래프
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.xlabel('X축')
plt.ylabel('Y축')
plt.title('간단한 그래프')
plt.show()
김데이터 씨는 박분석 씨가 보내준 코드를 보며 고개를 갸우뚱했습니다. "라이브러리요?
그게 뭔가요?" 박분석 씨는 친절하게 설명을 시작했습니다. "라이브러리는 다른 사람이 미리 만들어놓은 코드 모음이에요.
바퀴를 다시 발명할 필요가 없죠." 라이브러리를 이해하기 위해 비유를 들어보겠습니다. 요리를 할 때 모든 재료를 직접 재배하지 않습니다.
슈퍼마켓에서 필요한 재료를 사서 요리에만 집중합니다. 프로그래밍도 마찬가지입니다.
데이터를 정렬하는 코드, 평균을 계산하는 코드, 그래프를 그리는 코드를 직접 작성할 수도 있습니다. 하지만 이미 잘 만들어진 라이브러리를 사용하면 시간을 아낄 수 있습니다.
라이브러리가 없던 시절에는 어땠을까요? 옛날 데이터 분석가들은 모든 것을 직접 구현했습니다.
엑셀 파일을 읽는 코드, 결측치를 처리하는 코드, 히스토그램을 그리는 코드 등을 일일이 작성했습니다. 시간도 오래 걸리고, 버그도 많았습니다.
게다가 각자 다른 방식으로 구현해서 코드를 공유하기도 어려웠습니다. 바로 이런 문제를 해결하기 위해 pandas, numpy, matplotlib 같은 라이브러리가 탄생했습니다.
먼저 numpy부터 살펴보겠습니다. numpy는 "Numerical Python"의 약자로, 수치 계산을 빠르고 효율적으로 수행하는 라이브러리입니다.
핵심은 **배열(array)**입니다. 파이썬의 기본 리스트보다 훨씬 빠르고, 벡터 연산을 지원합니다.
예를 들어 리스트의 모든 요소를 제곱하려면 반복문을 써야 하지만, numpy 배열은 arr ** 2처럼 간단하게 할 수 있습니다. numpy는 과학 계산의 기초입니다.
선형대수, 통계, 난수 생성 등 다양한 기능을 제공합니다. 머신러닝 라이브러리들도 내부적으로 numpy를 사용합니다.
다음은 pandas입니다. pandas는 "Panel Data"에서 유래한 이름으로, 표 형태의 데이터를 다루는 라이브러리입니다.
핵심은 DataFrame입니다. DataFrame은 엑셀 스프레드시트와 비슷하다고 생각하면 됩니다.
행과 열로 구성되어 있고, 각 열은 다른 데이터 타입을 가질 수 있습니다. 위의 코드에서 딕셔너리로 데이터를 만들고, pd.DataFrame()으로 DataFrame을 생성했습니다.
출력하면 깔끔한 표 형태로 보입니다. pandas로 할 수 있는 것은 무궁무진합니다.
CSV 파일 읽기, 데이터 필터링, 그룹화, 집계, 결측치 처리 등 데이터 조작의 모든 것이 가능합니다. 마지막은 matplotlib입니다.
matplotlib는 데이터를 시각화하는 라이브러리입니다. 선 그래프, 막대 그래프, 히스토그램, 산점도 등 다양한 그래프를 그릴 수 있습니다.
"백문이 불여일견"이라는 말처럼, 숫자로 된 데이터보다 그래프로 보면 패턴이 훨씬 명확하게 보입니다. 위의 코드에서 plt.plot()으로 간단한 선 그래프를 그렸습니다.
x축과 y축 레이블, 제목도 추가했습니다. plt.show()를 호출하면 그래프가 화면에 표시됩니다.
Jupyter Notebook에서는 %matplotlib inline을 설정하면 자동으로 노트북 안에 그래프가 나타납니다. 이 세 라이브러리는 어떻게 함께 사용될까요?
실제 데이터 분석 프로젝트를 예로 들어보겠습니다. 먼저 pandas로 CSV 파일을 읽어옵니다.
데이터를 탐색하고, 결측치를 처리하고, 필요한 열만 선택합니다. 그다음 numpy로 통계량을 계산합니다.
평균, 표준편차, 상관계수 등을 구합니다. 마지막으로 matplotlib로 시각화합니다.
히스토그램으로 분포를 보고, 산점도로 관계를 파악합니다. 이 세 라이브러리는 서로 완벽하게 통합되어 있습니다.
pandas DataFrame은 내부적으로 numpy 배열을 사용하고, matplotlib는 pandas 데이터를 직접 그래프로 그릴 수 있습니다. 실제 현업 사례를 살펴보겠습니다.
전자상거래 회사에서 월별 매출 추이를 분석한다고 가정해봅시다. 먼저 pandas로 거래 데이터를 불러오고, 날짜별로 그룹화해서 매출을 집계합니다.
numpy로 전월 대비 증감률을 계산합니다. matplotlib로 매출 추이를 선 그래프로 그려서 경영진에게 보고합니다.
금융권에서는 주가 데이터를 분석합니다. pandas로 과거 주가를 불러오고, numpy로 이동평균을 계산하고, matplotlib로 차트를 그립니다.
이 모든 과정이 몇 줄의 코드로 가능합니다. 하지만 주의할 점도 있습니다.
초보자들이 흔히 하는 실수는 라이브러리를 너무 많이 임포트하는 것입니다. 필요한 것만 임포트하세요.
또한 **별칭(alias)**을 관례대로 사용하세요. pandas는 pd, numpy는 np, matplotlib.pyplot은 plt로 임포트하는 것이 업계 표준입니다.
이렇게 하면 다른 개발자도 코드를 쉽게 이해할 수 있습니다. 또 다른 주의점은 버전 관리입니다.
라이브러리는 계속 업데이트됩니다. 새로운 기능이 추가되고, 오래된 기능은 deprecated됩니다.
프로젝트 시작 시 버전을 기록해두고, 나중에 재현할 수 있도록 하세요. pip freeze > requirements.txt 명령어로 현재 설치된 모든 라이브러리 버전을 저장할 수 있습니다.
다시 김데이터 씨의 이야기로 돌아가봅시다. 세 라이브러리를 설치하고 간단한 예제를 실행한 김데이터 씨는 감탄했습니다.
"와, 몇 줄로 이렇게 많은 것을 할 수 있다니!" "맞아요. 이게 라이브러리의 힘이죠.
이제 진짜 데이터 분석을 시작할 준비가 됐어요." pandas, numpy, matplotlib는 데이터 과학의 삼총사입니다. 이 세 가지만 제대로 익혀도 대부분의 분석 작업을 수행할 수 있습니다.
여러분도 지금 바로 설치하고 사용해보세요. 데이터 과학의 진짜 재미는 지금부터 시작입니다.
실전 팁
💡 - 라이브러리는 관례대로 별칭을 사용하세요: pandas as pd, numpy as np, matplotlib.pyplot as plt
- Jupyter Notebook에서는
%matplotlib inline을 사용하면 그래프가 노트북에 자동으로 표시됩니다 - pip freeze로 현재 설치된 라이브러리 버전을 기록해두면 나중에 환경을 재현할 수 있습니다
이상으로 학습을 마칩니다. 위 내용을 직접 코드로 작성해보면서 익혀보세요!
댓글 (0)
함께 보면 좋은 카드 뉴스
Helm 마이크로서비스 패키징 완벽 가이드
Kubernetes 환경에서 마이크로서비스를 효율적으로 패키징하고 배포하는 Helm의 핵심 기능을 실무 중심으로 학습합니다. Chart 생성부터 릴리스 관리까지 체계적으로 다룹니다.
보안 아키텍처 구성 완벽 가이드
프로젝트의 보안을 처음부터 설계하는 방법을 배웁니다. AWS 환경에서 VPC부터 WAF, 암호화, 접근 제어까지 실무에서 바로 적용할 수 있는 보안 아키텍처를 단계별로 구성해봅니다.
AWS Organizations 완벽 가이드
여러 AWS 계정을 체계적으로 관리하고 통합 결제와 보안 정책을 적용하는 방법을 실무 스토리로 쉽게 배워봅니다. 초보 개발자도 바로 이해할 수 있는 친절한 설명과 실전 예제를 제공합니다.
AWS KMS 암호화 완벽 가이드
AWS KMS(Key Management Service)를 활용한 클라우드 데이터 암호화 방법을 초급 개발자를 위해 쉽게 설명합니다. CMK 생성부터 S3, EBS 암호화, 봉투 암호화까지 실무에 필요한 모든 내용을 담았습니다.
AWS Secrets Manager 완벽 가이드
AWS에서 데이터베이스 비밀번호, API 키 등 민감한 정보를 안전하게 관리하는 Secrets Manager의 핵심 개념과 실무 활용법을 배워봅니다. 초급 개발자도 쉽게 따라할 수 있도록 실전 예제와 함께 설명합니다.