01. Data Science_What is Data Science?
[toc]
01_데이터 사이언스 개요
데이터사이언스의 정의와 구성 요소
- 데이터사이언스는 데이터에서 가치와 인사이트를 도출하는 학문입니다.
- 주요 구성 요소는 수학·통계, 컴퓨터공학, 도메인지식입니다. 이 세 영역이 결합되는 지점에 데이터사이언스와 데이터사이언티스트의 역할이 놓입니다.
- 데이터사이언스는 인공지능, 머신러닝, 빅데이터와 긴밀하게 연계됩니다. 강의 자료의 도식에서는 딥러닝이 머신러닝 안에, 머신러닝이 인공지능 안에 포함되는 형태로 표현되며 데이터사이언스는 이들과 일부 영역을 공유합니다.
데이터사이언스는 데이터 분석만을 뜻하지 않습니다. 데이터를 이해하고 다루는 기술과 해당 분야의 지식을 결합해 가치 있는 인사이트를 얻는 과정입니다.
데이터를 많이 모으는 것만으로는 의미 있는 결과가 바로 나오지 않습니다. 예를 들어 온라인 쇼핑 데이터를 살펴본다고 해 봅시다. 통계와 수학은 데이터에서 패턴을 찾는 데, 컴퓨터공학은 데이터를 처리하는 데, 쇼핑 분야에 대한 지식은 어떤 패턴이 실제로 중요한지 판단하는 데 도움을 줍니다.
이 세 가지를 함께 사용해 “어떤 정보를 알아내고, 그것을 어떻게 활용할까?”를 다루는 것이 데이터사이언스입니다. 다만 이 예시는 구성 요소의 역할을 설명하는 가상의 상황이며, 특정 분석 결과를 보장하지는 않습니다.
데이터사이언스 프로세스
강의 자료는 데이터사이언스 프로젝트를 다음 단계로 설명합니다.
- 문제 정의
- 데이터 수집
- 데이터 전처리
- 데이터 분석
- 데이터 모델링
- 모델 평가·검증
- 결과 해석·시각화
- 보고서 작성
- 배포·유지보수
실제 프로젝트에서는 이 과정이 반복적·순환적으로 수행됩니다. 따라서 프로세스는 한 번의 직선적인 작업으로 끝나는 것이 아니라, 진행 과정에 따라 다시 검토하고 이어 가는 구조입니다.
데이터사이언스 프로젝트의 기본 흐름
- 문제 정의
- 데이터 수집
- 데이터 전처리
- 데이터 분석
- 데이터 모델링
- 모델 평가·검증
- 결과 해석·시각화
- 보고서 작성
- 배포·유지보수
문제 정의 → 데이터 수집 데이터 수집 → 데이터 전처리 데이터 전처리 → 데이터 분석 데이터 분석 → 데이터 모델링 데이터 모델링 → 모델 평가·검증 모델 평가·검증 → 결과 해석·시각화 결과 해석·시각화 → 보고서 작성 보고서 작성 → 배포·유지보수
이 흐름은 분석을 시작해 결과를 실제로 활용하기까지의 큰 길잡이입니다. 예를 들어 어떤 서비스의 고객 이탈 문제를 다룬다면, 먼저 무엇을 이탈로 볼지 정하고, 관련 데이터를 모은 뒤, 분석에 사용할 수 있게 정리합니다. 그다음 데이터를 살펴보고 모델을 만들고 평가한 다음, 결과를 설명하고 활용하는 단계로 이어집니다.
중요한 점은 이 과정이 반드시 한 번에 끝나지 않는다는 것입니다. 실제 프로젝트에서는 진행 중에 앞 단계의 내용을 다시 검토할 수 있습니다. 강의 자료가 말하는 핵심은 단계의 순서를 익히는 동시에, 프로젝트가 반복적으로 진행된다는 점도 기억하는 것입니다.
1단계: 문제 정의
- 데이터 분석의 첫 단계는 해결하려는 문제를 명확히 정의하는 것입니다. 문제 정의는 분석의 방향과 목표를 정하는 핵심 단계입니다.
- 문제를 잘못 정의하면 분석 결과도 잘못된 결론으로 이어질 수 있습니다.
- 성공 사례: 통신사가 ‘이탈 고객’을 명확히 정의하고 예측 모델을 구축해 수익 감소를 방지합니다.
- 실패 사례: 온라인 쇼핑몰이 ‘구매율’ 향상만 목표로 삼아 사이트 체류 시간은 늘었지만, 실제 매출 증대 효과는 얻지 못했습니다.
분석을 시작하기 전에 무엇을 해결하려는지 분명히 해야 합니다. 측정하기 쉬운 목표가 실제로 해결하려는 문제와 같은지 확인하는 것이 중요합니다.
문제 정의는 분석의 목적지를 정하는 일입니다. 목적지가 분명해야 어떤 데이터를 모으고 어떤 결과를 살펴볼지 결정할 수 있습니다.
예를 들어, 쇼핑몰이 “사람들이 사이트에 더 오래 머물게 하자”라고 정했다고 해 봅시다. 체류 시간은 늘어날 수 있지만, 강의 자료의 사례처럼 그것만으로 매출이 늘었다고 할 수는 없습니다. 반대로 “실제 매출을 높이는 데 도움이 되는가?”를 목표로 삼으면, 분석 결과가 원래 해결하려던 문제와 관련 있는지 확인할 수 있습니다. 이 예시는 목표와 실제 성과가 서로 다를 수 있음을 보여 주며, 체류 시간이 매출에 영향을 주는 구체적인 방식을 주장하는 것은 아닙니다.
2단계: 데이터 수집
- 데이터는 웹, 데이터베이스, 센서, 외부 데이터 등 다양한 출처에서 수집할 수 있습니다.
- 수집한 데이터의 품질과 신뢰성은 분석의 성공 여부에 큰 영향을 줍니다.
- 성공 사례: 금융권에서 고객 거래 데이터를 데이터베이스에서 추출해 신용평가 모델을 구축합니다.
- 실패 사례: 웹 크롤링 데이터의 최신성을 확인하지 않아 오래된 정보를 바탕으로 잘못된 마케팅 전략을 도출합니다.
강의 자료에는 requests와 BeautifulSoup을 사용해 Hacker News 웹페이지에서 제목을 가져오는 크롤링 예시가 제시됩니다. 화면의 코드에는 줄바꿈이나 일부 문법이 불완전하게 표시되어 있으므로, 아래는 식별 가능한 코드 구조를 보존해 정리한 것입니다.
import requests from bs4 import BeautifulSoup url = "<https://news.ycombinator.com/>" res = requests.get(url) soup = BeautifulSoup(res.text, "html.parser") titles = [item.text for item in soup.select(".titleline")] print(titles[:5]) 데이터 수집은 분석에 필요한 자료를 여러 곳에서 가져오는 단계입니다. 뉴스 기사 제목을 살펴보고 싶다면 웹페이지에서 제목을 모을 수 있고, 고객 거래를 분석하고 싶다면 데이터베이스에서 거래 자료를 가져올 수 있습니다.
하지만 자료가 있다고 해서 곧바로 믿고 써도 되는 것은 아닙니다. 예를 들어 오래된 가격 정보를 최신 정보처럼 사용하면, 분석과 그에 따른 전략이 현재 상황과 맞지 않을 수 있습니다. 따라서 수집할 때는 데이터가 어디서 왔는지뿐 아니라 품질과 최신성도 확인해야 한다는 것이 핵심입니다.
3단계: 데이터 전처리
- 분석에 앞서 결측치, 이상치, 중복값 등 데이터 문제를 처리합니다.
- 강의의 Pandas 예시는
age열의 결측치를 평균으로 채운 다음, 나이가100미만인 행만 남깁니다. - 예시 입력은
[25, None, 30, 120, 28]이고, 처리 결과에는 인덱스0,2,4의 값인25.0,30.0,28.0이 남습니다.
import pandas as pd df = pd.DataFrame({'age': [25, None, 30, 120, 28]}) df['age'] = df['age'].fillna(df['age'].mean()) # 결측치 처리 df = df[df['age'] < 100] # 이상치 제거 print(df) 전처리는 분석할 자료를 정돈하는 단계입니다. 예시에서는 나이 정보가 비어 있는 곳을 평균으로 채우고, 100 이상인 값을 가진 행은 제외합니다. 그래서 처음에는 다섯 행이었던 자료 중 최종 출력에는 세 행이 남습니다.
여기서 중요한 것은 코드가 어떤 처리를 했는지 정확히 읽는 것입니다. 결측치는 평균으로 채웠고, 100 이상인 값은 필터 조건에 따라 제거했습니다. 이 예시가 모든 데이터에서 같은 기준을 써야 한다는 뜻은 아닙니다. 강의에서는 전처리가 결측치나 이상치 같은 데이터 문제를 다룬다는 점을 보여 줍니다.
4단계: 탐색적 데이터 분석
- *탐색적 데이터 분석(EDA)**은 데이터의 구조와 특성을 파악하고 패턴을 찾는 단계입니다.
- 히스토그램, 상관분석 등 다양한 시각화를 활용해 데이터를 직관적으로 이해하고 분석 방향을 설정합니다.
- 강의의 히스토그램은 가로축에
Age, 세로축에Frequency를 표시하며, 연령 데이터가 구간별로 얼마나 나타나는지 보여 줍니다. 강의 자료는 이 단계의 핵심을 데이터를 미리 알아가는 과정이자 고급 분석의 기초라고 설명합니다. - 산업계 활용 사례: 보험사가 고객 연령별 사고율을 시각화하고, 이를 상품 가격 정책 수립에 활용합니다.
EDA는 본격적인 분석에 앞서 데이터를 시각적으로 살펴보고, 분석의 방향을 잡는 과정입니다.
표에 숫자만 나열되어 있으면 데이터의 전체적인 모습을 한눈에 파악하기 어려울 수 있습니다. 히스토그램은 값을 구간으로 나누고, 각 구간에 자료가 얼마나 있는지 막대 높이로 보여 줍니다. 강의 그림에서는 가로축이 나이, 세로축이 빈도이므로 어떤 나이 구간에 자료가 더 많이 모여 있는지 살펴볼 수 있습니다.
보험사의 예에서는 고객 나이별 사고율을 시각화해 상품 가격 정책을 수립하는 흐름을 보여 줍니다. 즉, 시각화는 데이터를 직관적으로 이해하고 다음 분석의 방향을 정하는 데 쓰입니다. 다만 그림의 히스토그램은 연령 분포를 보여 주는 예시이며, 그것만으로 연령별 사고율을 나타낸다고 해석해서는 안 됩니다.
5~6단계: 모델링과 평가
- 모델링에서는 예측, 분류, 군집화 등의 모델을 구축합니다.
- 강의의 선형회귀 예시는 입력
X에1,2,3,4, 목표값y에100,150,200,250을 사용합니다. 이 모델은 새 입력x=5에 대해 약300을 예측하는 것으로 그림에 표시되어 있습니다. - 평가 및 검증에서는 정확도, F1-score, RMSE 등의 지표를 활용합니다.
- RMSE 예시에서는 실제값
[100, 150, 200, 250]과 예측값[110, 140, 210, 240]을 비교합니다. 자료의 그래프는 실제값과 예측값을 각각 선으로 표시하며, 두 선의 차이가 RMSE에 반영된다고 설명합니다.
from sklearn.linear_model import LinearRegression X = np.array([[1], [2], [3], [4]]) y = np.array([100, 150, 200, 250]) model = LinearRegression().fit(X, y) print("예측값:", model.predict([[5]])) from sklearn.metrics import mean_squared_error y_true = [100, 150, 200, 250] y_pred = [110, 140, 210, 240] rmse = mean_squared_error(y_true, y_pred, squared=False) print("RMSE:", rmse) 모델링은 데이터에서 배운 관계를 이용해 새 입력에 대한 예측을 하거나, 데이터를 분류·군집화하는 모델을 만드는 단계입니다. 선형회귀 예시에서는 입력값이 1일 때 100, 2일 때 150처럼 주어진 값을 바탕으로 x=5일 때의 값을 예측합니다. 강의 그림은 그 예측을 약 300으로 보여 줍니다.
그다음에는 예측이 실제값과 얼마나 다른지 살펴봅니다. 예를 들어 실제값이 150인데 예측값이 140이면 두 값에 차이가 있습니다. RMSE는 이런 실제값과 예측값의 차이를 평가하는 지표 중 하나입니다. 핵심은 모델을 만드는 것만으로 끝내지 않고, 결과를 지표와 비교 그림을 통해 평가한다는 점입니다.
결과 시각화·해석과 의사결정
- 이 단계는 모델 결과를 실제 비즈니스 전략과 의사결정으로 연결합니다.
- 데이터 분석의 최종 목표는 실질적인 가치 창출입니다.
- 고객 이탈 예측 모델: 이탈 가능성이 높은 고객 그룹을 대상으로 집중 마케팅을 합니다.
- 제품 불량 예측 모델: 생산 라인을 최적화하고 품질 관리 전략을 수립합니다.
- 강의는 데이터사이언스가 분석에 그치지 않고 의사결정자의 행동을 이끌어내는 것이 핵심이라고 강조합니다.
모델의 결과는 숫자나 그래프로만 남을 수도 있고, 실제 선택을 돕는 데 쓰일 수도 있습니다. 예를 들어 이탈 예측 모델이 이탈 가능성이 높은 고객 그룹을 찾으면, 그 그룹을 대상으로 집중 마케팅을 할 수 있습니다. 제품 불량 예측 결과는 생산 라인 최적화나 품질 관리 전략을 세우는 데 연결될 수 있습니다.
이 예들은 분석 결과를 실제 행동과 연결하는 모습을 보여 줍니다. 다만 예측 모델이 있다고 해서 그 조치가 반드시 원하는 결과를 낸다고 말하는 것은 아닙니다. 강의의 핵심은 분석 결과를 의사결정과 실질적인 가치 창출에 활용하는 데 있습니다.
데이터사이언스의 활용 분야
강의 자료는 데이터사이언스의 활용 분야를 다음과 같이 제시합니다.
| 분야 | 활용 사례 |
|---|---|
| 의료 | 환자 예측 및 진단 지원 |
| 금융 | 신용평가, 이상거래 탐지 |
| 산업 | 스마트팩토리, 품질 관리 |
| 일상 | 추천 시스템, 음성·이미지 기반 서비스 |
강의는 대부분의 데이터사이언스 기술이 인공지능과 직접적으로 연관된다고 설명합니다.
같은 데이터사이언스의 접근도 어떤 분야의 문제를 다루느냐에 따라 쓰임이 달라집니다. 의료에서는 환자 예측이나 진단 지원, 금융에서는 신용평가나 이상거래 탐지처럼 서로 다른 과제를 다룹니다. 산업에서는 스마트팩토리와 품질 관리, 일상에서는 추천이나 음성·이미지 기반 서비스가 예로 제시됩니다.
즉, 데이터사이언스는 특정 산업에만 한정된 기술이 아니라 여러 분야의 문제를 다루는 데 쓰입니다. 이때 각 사례가 서로 같은 문제를 해결한다는 뜻은 아니며, 분야마다 활용 목적이 다릅니다.
데이터사이언티스트의 역할과 필요 역량
- 필요한 역량은 통계, 프로그래밍, 도메인지식, 커뮤니케이션입니다.
- 데이터사이언티스트는 데이터 엔지니어, AI 연구자와 협력합니다.
- 현업에서는 데이터 중심의 의사결정을 지원합니다.
강의의 후반부에서는 의사소통, 자기개발, 문제해결, 팀워크, 리더십, 직업윤리도 소프트 스킬로 제시합니다.
데이터사이언티스트의 일은 혼자 분석을 끝내는 것만이 아닙니다. 통계와 프로그래밍으로 데이터를 다루고, 해당 분야의 지식으로 문제를 이해하며, 결과를 다른 사람에게 전달해야 합니다. 또한 자료를 준비하는 데이터 엔지니어나 AI 연구자와 협력할 수 있습니다.
예를 들어 분석 결과를 현업 담당자에게 설명해야 한다면, 결과를 계산하는 능력뿐 아니라 상대가 이해할 수 있게 소통하는 능력도 필요합니다. 그래서 강의는 기술 역량과 함께 문제해결, 팀워크, 리더십, 직업윤리 같은 소프트 스킬도 강조합니다.
