24
Doing Math with Python Ch.03 통통통통 통통통 통통통 통통 윤윤윤 ([email protected])

Doing math with python.ch03

Embed Size (px)

Citation preview

Page 1: Doing math with python.ch03

Doing Math with PythonCh.03 통계값을 이용한 데이터 설명

윤석준 ([email protected])

Page 2: Doing math with python.ch03

파이썬으로 풀어보는 수학

상세설명https://github.com/DevStarSJ/Study/blob/master/Blog/Python/DoingMathWithPython/DoingMathWithPython.Ch03.ipynb

• 원서명 : Doing Math with Python: Use Programming to Explore Algebra, Statistics, Calculus, and More! (ISBN 9781593276409)

• 지은이 : 아미트 사하 (Amit Saha)• 원서 및 관련자료 : https://www.nostarch.com/doingmathwithpython• 번역서 : http://www.acornpub.co.kr/book/doing-math-with-python

Page 3: Doing math with python.ch03

3

1. 평균 (mean) 숫자 집합을 요약하는 가장 일반적이고 집합적인 방법

모든 숫자들의 합을 그 개수로 나눔

Page 4: Doing math with python.ch03

4

2. 중위수 (median) 숫자 집합에서 중간에 있는 값

짝수 개 일 경우 가운데 두 값의 평균값

Page 5: Doing math with python.ch03

5

3. 최빈수 (mode) 가장 자주 발생한 수

Counter 클래스를 이용하면 쉽게 가능

.most_common( 개수 ) 를 가장 빈도가 높은 요소 추출 가능

Page 6: Doing math with python.ch03

6

4. 빈도 테이블 생성 전체 숫자에 대한 빈도를 출력 빈도가 아닌 항목순으로 출력

Page 7: Doing math with python.ch03

7

5. 산포정도 측정 5.1 범위 (range), 최소 (min), 최대 (max) 구하기

값들의 최소값과 최대값 간의 거리가 얼마나 되는지 측정

Page 8: Doing math with python.ch03

8

5. 산포정도 측정 5.2 분산 (variance) 과 표준편차 (standard deviation)

• 분산 : 평균값 주변에 모여있는지 흩어져 있는지 정도를 알려주는 수치

• 표준편차 : 분산의 제곱근값

Page 9: Doing math with python.ch03

9

5. 산포정도 측정 5.2 분산 (variance) 과 표준편차 (standard deviation)

• 값이 0 에 가까워질수록 평균에 모여있다는 뜻이고 ,• 값이 커질수록 평균에서 멀게 분산되어 있는 값이 많다는 뜻

Page 10: Doing math with python.ch03

10

6. 두 데이터 집합 간 상관관계 계산• 피어슨 상관계수 : 두 숫자 집합 간 관계의 특성과 강도를 측정

• -1 에서 1 사이의 값을 가지며 , 0 이면 관계가 없음 , 1 로 가까울수록 양의 관계 , -1 에 가까울수록 음의 관계

• 값이 커질수록 평균에서 멀게 분산되어 있는 값이 많다는 뜻

Page 11: Doing math with python.ch03

11

6. 두 데이터 집합 간 상관관계 계산

Page 12: Doing math with python.ch03

12

6. 두 데이터 집합 간 상관관계 계산

Page 13: Doing math with python.ch03

13

7. 데이터 간의 상관관계 여부 확인• 2 개의 데이터가 관계가 있는지 없는지 여부를 확인하려면

산점도를 그려보면 편함

• 고등학교 성적 등급과 대학입학 성적 사이의 관계여부 확인

Page 14: Doing math with python.ch03

14

7. 데이터 간의 상관관계 여부 확인• 수학성적만을 대입입학성적과 비교

Page 15: Doing math with python.ch03

15

8. 산점도의 중요성• 프란시스 안스콤 (Francis Anscombe) 가 작성한 Graphs in Statistical Analysis

Page 16: Doing math with python.ch03

16

8. 산점도의 중요성• 평균 , 표준편차 , X-Y 상관관계

통계 데이터가 모두 동일함

Page 17: Doing math with python.ch03

17

8. 산점도의 중요성• 산점도

산점도로 보면 모두 다른 데이터라는 것을 확인 가능함

Page 18: Doing math with python.ch03

18

9. 파일에서 데이터 읽기 9.1 텍스트 파일읽기

• ch03.mydata.txt

Page 19: Doing math with python.ch03

19

9. 파일에서 데이터 읽기 9.2 csv ( 콤마구분값 ) 파일에서 읽기

• ch03.data.csv

Page 20: Doing math with python.ch03

프로그래밍 연습문제필자가 풀이한 답은 다음 Link 를 참고하세요 .https://github.com/DevStarSJ/Study/blob/master/Blog/Python/DoingMathWithPython/DoingMathWithPython.Ch03.ipynb저자의 정답은 다음 Link 에 있습니다 .https://www.nostarch.com/doingmathwithpython

Page 21: Doing math with python.ch03

21

1. csv 데이터로 테스트다른 csv 파일을 가지고 통계데이터 및 그래프를 출력하세요 .( https://www.quandl.com/data/WORLDBANK/USA_SP_POP_TOTL의 경우 )

Page 22: Doing math with python.ch03

22

2. 퍼센트 위치 계산 백분위수 : 설정된 백분율 위치에 해당하는 값 (ex. 95 분위수 : 집합내 해당 수보다 낮은 수가 95%

있는 수 ) csv 파일을 읽어서 입력된 백분위에 해당하는 숫자를 표시하는 프로그램을 작성하세요 . 파일 위치https://

github.com/DevStarSJ/Study/blob/master/Blog/Python/DoingMathWithPython/files/ch03.math.score.csv

Page 23: Doing math with python.ch03

23

3. 그룹화한 빈도 테이블 생성 주어진 데이터에 대해서 n 개의 그룹으로 나누어서 해당 그룹에 몇 개에 데이터가

있는지를 보여주는 빈도 테이블을 생성하세요 . 예를 들어 아래 데이터를 4 개의 그룹으로 나눌 경우

Page 24: Doing math with python.ch03

Thanks