내일배움캠프(QC,QA_5기)

[내일배움캠프_QA/QC 5기] 26일차 _ 기초 통계 1강 / 머신 러닝 ~1/4

qc-standard 2026. 4. 13. 23:36

2026/04/13 Mon.

● 코드카타 레벨  2문제
 통계학 1강
● 머신러닝 ~1/5
● 서브 프로젝트 ppt

 


⊙ 코드카타 2문제

https://qc-standard.tistory.com/48

 

 


⊙ 통계학 기초 - 1강

● 통계가 중요한 이유

  • 데이터를 이해 / 해석 / 요약-패턴 발견 / 추론을 통한 결론 도출 → 데이터 기반 의사결정을 내릴 수 있음
  • 통계를 활용한 데이터 분석은 필!수!

☑️예시

: 고객만족도 설문조사 분석 - 단순 통계
: 세그먼트(segment) - 유형별로 나눈어 특징 파악
: 전략 수립 / 마케팅 진행 / 신제품 개발 등등

 

 기술 통계

  • (기술적 계산을 통해 얻은 통계)
  • 데이터를 요약하고 설명하는 통계 방법 (대표값을 얻는 - 평균, 중앙값, 분산, 표준편차 등)
  • 데이터의 특정 대표값으로 요약
  • 데이터 중 예외(이상치) 때문에 모든 부분을 확인할 수 있는건 아님
  • ex) A라는 사람의 전체를 알수 없지만 기본적인 외모, 나이, MBTI 등은 알 수 있는 것
평균
(Mean)
● 데이터의 일반적인 경향 파악에 유용
● 이상치 영향을 많이 받음
중앙값
(Median)
● 크기 순서대로 정렬 했을 때 중앙에 위치한 값
● 이상치(예외적인 값들)영향을 덜 받음 - 데이터 중심 경향을 나타내는 방법
   평균 - 계산 거쳐 찾아낸 중앙값
 중앙값 - 위치적으로 중앙값
분산
(Variance)
● 데이터 흩어짐 정도 측정
● =데이터값이 평균으로부터 얼마나 떨어져 있는지
 ((데이터 값 - 평균)^2 +=) / (데이터 개수)
    '데이터 값 - 평균'이 마이너스가 될 수 있으므로 제곱
● 다소 직관적인 흩어짐 정도를 얻을 수 없음

● ex) 사격 과녁 - 중심에서 벗어나면 분산이 크고 중심에 모여있으면 분산이 작다

표준 편차
(Standard Deviation)
● 데이터 흩어짐 정도 측정
 평균에서 얼마나 떨어져 있는지 통계적 척도
 분산의 제곱근(루트)
 데이터 변동성 측정
 직관적인 흩어짐을 알 수 있음 (= 평균에서 표준편차만큼 벌어져있다라고 알 수 있음)
● 변동성을 측정하는 척도
● 원래 데이터 값과 동일한 단위로 변환 - 직관적 유무

 

 

 추론 통계 (Inference Statistics)

  • (생각을 통해 무→유를 만드는 과정)
  • 신뢰구간, 가설검정 사용
  • 데이터 일부를 가지고 데이터 전체를 추정하는 것
ex) 과거의 데이터로 미래를 추론
ex) A라는 사람의 전체를 볼 수 없지만 대화를 통해 얻은 정보로 그 사람이 어떤 사람인지 알아가는 것

 

 ☑️ 신뢰 구간(Confidence Iinterval)

  • (어느 정도 믿을 수 있는지 / 신뢰할 수 있을 법한 구간)
  • (모집단 - 모든 데이터 / 표본 - 샘플데이터 )
  • 모집단의 평균이 특정 범위 내에 있을 것이라는 확률
  • 표본과 모집단 간의 차이가 있을 수 있지만!! 큰 차이가 나면 안됨
  • 표본의 평균을 가지고 모집단의 평균을 추측할 수 있는 구간을 '신뢰구간'이라 한다

 

 ☑️ 가설 검정(Hypothesis testing)

  • 모집단에 대한 가설을 검증하기 위해 사용
  • (표본을 가지고 가설을 세우고 모집단에 대한 이해를 갖게 되는 과정)
  • 귀무 가설 (H0)
    : 가설이 틀렸음을 나타내는 가설
    : 효과 없음 / 변화 없음
  • 대립 가설 (H1)
    : 가설이 주장하는 바
    : 효과 있음 / 변화 있음
  • p-value를 통해 귀무가설의 기각 여부 결정
모집단 : 모든 데이터
표본 : 샘플 데이터

 

● 위치추정

  • 데이터 중심을 확인하는 방법!
  • 기술통계 - 평균, 중앙값 등 대표적인 위치 추정 방법
  • 실습

 

● 변이추정

  • (얼마나 변이가 있는지 | 데이터들 간의 간격이 얼마나 있는지 확인하는 방법)
  • 기술 통계 - 분산, 표준편차 등 대표적인 변이 추정 방법
  • 범위
    : 데이터셋에서 가장 큰 값과 가장 작은 값의 차이
    : 큰 값과 가장 작은 값의 차이를 나타내는 분포의 척도
    : 범위가 넓으면 변동성이 크다
R(범위) = 최대값 - 최소값
  • 실습

 

 데이터 분포 탐색

  • (분포 : 데이터의 다양한 값들을 한 눈에 볼 수 있음)
  • 히스토그램 : 데이터 값들을 임의 구간으로 나눠 구간에 데이터가 몇개 있는지 알 수 있는 시각화
  • 박스 플롯

 

 

: 네모 박스 - 대부분의 데이터가 박스 안에 있다
: 네모 박스 - 주황색 선 = 중앙값
박스의 윗선 : 상위 25%
: 박스의 밑선 : 하위 25%
: 박스 외 맨끝선 : 최대, 최소값
(이상치가 그려져 있을 수 있음)
: 많은 정보가 담겨 있음

 

 

 

 

 

 

 

 

 

 

 

 수치형 데이터 VS 범주형 데이터

  • 수치형 데이터 : 숫자로 된 데이터
  • 범주형 데이터 : 텍스트로 된 데이터
  • 수치형 데이터 VS 범주형 데이터 각각 다른 접근법

 이진 데이터와 범주 데이터 탐색

  • 숫자가 아닌 범주형 데이터는 최비값(가장 개수가 많은 값)을 사용 → (텍스트로 된 데이터 이므로 평균, 중앙값의 기준을 세우기도 불가능하며 없음)
  • 파이그림 , 막대그래프가 데이터 분포 표현이 대표적 방법

 

 

 

 

 


< 히스토그램 VS 막대그래프>
: 둘 다 막대그래프
: 히스토그램 - 수치형 데이터 - 구간
: 막대그래프 - 범주형 데이터 - 각각의 값에 대한 개수

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 상관관계

  • (데이터들 간의 관련이 있는지)
  • 상관계수는 두 변수 간의 관계를 측정하는 방법
  • 상관계수를 계산하면 -1 ~ 1사이의 값이 나옴
  • -1 또는 1에 가까울 수록 강력한 상관관계
  • -1 양의 방향으로 상관관계 - 같은 방향성
  • 1 음의 방향으로 상관관계 - 다른 방향셩
  • (0.4 약한 상관관계로 사용하기도 함)

 

    ○ x,x 상관관계 | y, y 상관관계 자기 자신과의 상관관계로 1이라 볼 필요 없음.

      x,y 상관관계 중 하나만 보면 됨

      np.corrcoef 끝에 [0,1]은 x,y상관관계의 행렬을 나타냄 

 

 인과관계 VS 상관관계

  • 상관관계 : 두 변수 간의 관계 = 두 변수 간의 상관이 있음!! But 어떤게 원인-결과인지 모름
  • 인과관계 : 한 변수가 다른 변수에 미치는 영향 = 두 변수 간의 상관이 있음!! And 어떤게 원인-결과인지 분명히 알 수 있음

 

 두 개 이상의 변수 탐색 = 다변량 분석

 

 

 

 연습문제

math = [78, 82, 85, 88, 90, 92, 94, 96, 98, 100]

#4 평균
math_mean = np.mean(math)

#5 중앙값
math_median = np.median(math)

#6 범위
math_range = np.max(math) - np.min(math)

print(f"수학평균: {math_mean}, 수학중앙값: {math_median}, 수학범위: {math_range}")
수학평균: 90.3, 수학중앙값: 91.0, 수학범위: 22

math = [78, 82, 85, 88, 90, 92, 94, 96, 98, 100]
english = [70, 75, 80, 85, 85, 90, 90, 95, 95, 100]

#7 - 상관관계
correlation = np.corrcoef(math, english)[0, 1]

print(f"수학점수와 영어점수의 상관계수: {correlation}")
수학점수와 영어점수의 상관계수: 0.9925684238990637
수학과 영어는 "양의 상관관계"
상관계수가 0.99로 수학 점수가 증가할 때 영어 점수도 증가하는 경향이라 볼 수 있다

 

 

⊙ 머신러닝 이해와 라이브러리 활용_기초  1-1 / 1-2 / 1-3 / 1-4

● 1-1 머신러닝 기초

  • ☑️  머신러닝 관련 용어 정리
AI  인간의 지능을 요구하는 업무를 수행하기 위한 시스템
 사람이 일을 하다 실수하면 - 휴먼에러
 기계가 일을 하게 만들면 - 공장 -하드웨어
 소프트웨어 - 지식 기반 기능 -  AI
머신러닝
=Machine Learning

=ML
 관측된 패턴을 기반으로 의사 결정을 하기 위한 알고리즘
 기술 통계 등을 통하여 집계된 정보로 의사결정을 했던 과거와 달리 데이터 수집과 처리 기술의 발전으로 대용량 데이터의 패턴을 인식하고 이를 바탕으로 예측, 분류하는 방법론을 말합니다. 
딥러닝
=Deep Learning

=DL
 인공신경망을 이용한 머신러닝
 
Data science  AI를 포괄하여 통계학과 컴퓨터공학을 바탕으로 발전한 융합학문
 과학이기에 근거와 데이터를 바탕으로 의사결정
Data Analysis  데이터 집계, 통계 분석, 머신러닝을 포함한 행위

 

  • ☑️  머신러닝은 왜 발전했는가?
통계
: 모집단(전체 집단)의 성질을 표본집단으로 부터 알기 위한 추론 방법
: 비용의 한계로 발전
머신러닝
: 데이터 처리 기술 발전으로 인해 발전됨
  - 데이터 처리 서비스 발전
  - 데이터 저장 매체 가격 하락 : 수집할 수 있는 데이터 한계 극복
소수의 데이터로 다수를 추정
=제한된 데이터(표본)에서 전체(모집단)를 추정
가설(가정)없이 모든 데이터를 분석해 패턴을 파악 가능

 

1-2 머신러닝 종류

(강화학습 : 피드백을 통해 학습)

 

  • ☑️  머신러닝 적용 분야
    • 금융: 신용평가, 사기탐지, 주식 예측
    • 헬스케어: 질병 예측, 환자 데이터 분석
    • 이커머스: 고객 구매 패턴 분석, 추천 시스템, 가격 최적화, 장바구니 분석
    • 자연어처리: 번역, 챗봇, 텍스트분석 - 딥러닝
    • 이미지 & 영상처리: 얼굴인식, 이미지 생성 - 딥러닝
  • ⁉️질문
더보기
Q) 데이터 분석은 반드시 머신러닝을 해야하나요?

A) 데이터 분석은 데이터를 가지고 가치를 창출하는 포괄적인 행동.  멋진 알고리즘과 복잡한 통계 지식이 없더라도 데이터 분석은 가능합니다. 
Q) 그럼 머신러닝을 왜 배워야 하나요?
A) 데이터 분석이라는 분야는 굉장히 다양합니다. 금융, 의료, 이커머스, 제조 등 어느 분야의 데이터 분석 직군으로 일하더라도 머신러닝을 활용한 업무와 밀접한 연관이 있기 때문에 전체 큰 그림을 볼 줄 알아야 합니다. 
Q) 이 과목을 수강 하면 머신러닝 실무자가 될 수 있나요?
A) 머신러닝을 포함한 데이터 사이언스의 학문은 특히나 깊이가 깊기 때문에, 통계학과 컴퓨터공학의 깊은 이해 없이 Data Scientist 가 될 순 없습니다. 머신러닝 실무자가 되기 위해서는 기반을 탄탄히 하는게 중요합니다.
  • ☑️ 이번 강의에서 배우게 될 내용
  1. 숫자를 맞추는 방법: 회귀 분석의 원리
  2. 범주를 맞추는 방법: 분류 분석의 원리
  3. 머신러닝 전체 프로세스
  4. 더 많은 머신러닝 모델
  5. 딥러닝의 원리

 

● 1-3 Visual Studio Code 설치 및 설정 (1) - 머신러닝 대표 소프트웨어

☑️ Visual Studio Code (vs code)

Microsoft가 제공하는 소스 코드 에디터
● Python 외에도 R, C, Java등 현존하는 대부분 프로그래밍 언어를 제공
로컬 컴퓨터(현재 쓰고 있는 컴퓨터) 자원을 사용하기 때문에 사용하는 컴퓨터 환경에 따라 머신러닝 모델 사용이 느릴 수 있음

☑️ Colab

● Google이 만든 Jupyter Notebook환경
● 무료로 GPU 등 고사양의 환경을 이용 가능
● 사용할 수 있는 리소스가 임의로 설정
● 많은 리소스를 사용하려면 과금

☑️ Anaconda

데이터 과학 및 머신러닝 분야에 적합한 Python과 R의 패키지/의존성 및 배포를 편리하게 해주는 오픈 소스 패키지
● 데이터 과학에 초점
● 로컬 컴퓨터 자원을 사용
● 기업에서 사용할 경우 과금

☑️ Jupyter Notebook이란?

● Data Science를 위한 환경으로 오픈소프트웨어 웹 어플리케이션
● 장점 : 코드작성, 시각화, Markdown을 이용한 문서 작성이 가능
Jupyter Notebook의 구성요소: Code Cell, Markdown Cell(문서편집)

● science 기본 = 기록 = 연구노트 = 기초 자료가 되므로
● 기존 script 코드 파일은 실험과 연구에 대한 결과를 남기기엔 메모와 시각화 기능이 약하여 cell 기반으로 연구 노트북의 형태인 Jupyter Notebook이 개발
Jupyter Notebook은 vscode, Colab, Anaconda 모두 탑재

 

1-4 Visual Studio Code 설치 및 설정 (2) - Visual Studio 설치

 

 

설치

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Text file : 메모장

Python file : Python Script