dist=dat[:,2] # 기초통계량구하기 len(speed) # 데이터의개수 np.mean(speed) # 평균 np.var(speed) # 분산 np.std(speed) # 표준편차 np.max(speed) # 최대값 np.min(speed) # 최소값 np.me

Similar documents
데이터 시각화

기술통계

확률 및 분포

dbinom(2, 3, 0.5) # x, n, p [1] 포아송확률분포 (Poisson distribution) X: 사건의빈도수 X~Poisson(mm), m > 0 mmxx mm P(X = x) = ee xx!, xx = 0,1,2, (Example:

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

PowerPoint Presentation

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint Presentation

슬라이드 1

Microsoft Word - SAS_Data Manipulate.docx

MATLAB and Numerical Analysis

Lab - Gradient descent Copyright 2018 by Introduction [PDF 파일다운로드 ]() 이번랩은우리가강의를통해들은 Gradient descent 을활용하여 LinearRegression

(001~006)개념RPM3-2(부속)

다운로드된 lab_normal_equation.zip 파일을작업폴더로이동한후압축해제후작업하시길바랍니다. 압축해제하면폴더가 linux_mac 과 windows 로나눠져있습니다. 자신의 OS에맞는폴더로이동해서코드를수정해주시기바랍니다. linear_model.py 코드 구조

Microsoft PowerPoint - Java7.pptx

PowerPoint Presentation

PowerPoint Presentation

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

PowerPoint 프레젠테이션

2005CG01.PDF

PowerPoint 프레젠테이션

문서의 제목 나눔고딕B, 54pt

statistics

선형모형_LM.pdf

PowerPoint 프레젠테이션

Algorithm_Trading_Simple

23_Time-Series-Prediction

Lab-Numpyinanutshell Copyright 2018 document created by Introduction PDF 파일다운로드 오래기다리셨습니다. 드디어 Machin Learning 강의첫번째 Lab Assi

확률과통계 강의자료-1.hwp

[INPUT] 뒤에는변수와관련된정보를표기한다. [CARDS;] 뒤에는각각의변수가가지는관측값들을표기한다. >> 위의프로그램에서데이터셋명은 wghtclub 이고, 변수는 idno, name, team, strtwght, endwght 이다. 이중 name 과 team 은

R t-..

1 01 [ ] [ ] plus 002

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

YBM시사닷컴, 첨단 개인별 맞춤 학습 시스템 개발

Lab-Buildamatrix Copyright 2018 document created by Introduction PDF 파일다운로드 Machin Learning의두번째랩은 Pandas와 Numpy를활용하여 Rating M

KARAAUTO_4¿ù.qxd-ÀÌÆå.ps, page Normalize

Artificial Intelligence: Assignment 5 Seung-Hoon Na December 15, Numpy: Tutorial 다음 자료를 참조하여 numpy기본을 공부하시오.

PowerPoint Presentation

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

중간고사

웹개발을위한 ComponentOne 사용법 (2) 권대건 부산대학교컴퓨터공학과 Abstract 최근웹개발이활성화되면서전문가를위한여러가지 Tool 웹애플리케이션형태로제공하는경우가늘고있다. ComponentOne 은.NET 기반의 UI C

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

확률과통계6

쉽게 풀어쓴 C 프로그래밍

untitled

Microsoft PowerPoint - C++ 5 .pptx

통계학입문

< C0FCC0CEC3CA2E687770>

01-OOPConcepts(2).PDF

- 1 -

차례 사용하기 전에 준비 및 연결 간편 기능 채널 관련 영상 관련 음성 관련 시간 관련 화면잔상 방지를 위한 주의사항... 4 각 부분의 이름... 6 제품의 설치방법 TV를 켜려면 TV를 보려면 외부입력에 연결된 기기명을 설정하려면..

Microsoft PowerPoint - lect03.ppt [호환 모드]

Gray level 변환 및 Arithmetic 연산을 사용한 영상 개선

Microsoft PowerPoint - 7장 배열 pptx

PowerPoint 프레젠테이션

untitled

ENEX PRODUCT CONTENTS Designed to resemble a nature Prime Series Standard Series Classy (White & Indigo) New Classy (White & Kha

untitled

Week3

PowerPoint Presentation


쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - LN05 [호환 모드]

Microsoft PowerPoint - SBE univariate5.pptx

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

Microsoft Word _mentor_conf_output5.docx

(Exposure) Exposure (Exposure Assesment) EMF Unknown to mechanism Health Effect (Effect) Unknown to mechanism Behavior pattern (Micro- Environment) Re

설계란 무엇인가?

슬라이드 1

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

PowerPoint Template


CONTENTS SUMMARY PART 1 MARKET MARKET STRATEGY MARKET ISSUE MARKET ISSUE PART 2 CREDIT CREDIT ISSUE CREDIT ISSUE CREDIT ISSUE CREDIT ISSUE CREDIT STRA

쉽게 풀어쓴 C 프로그래밍

1.1 SAS 시스템 제 1 장 SAS : Statistical Analysis System SAS 사용법 Strategic Application System SAS의주요소프트웨어 Base SAS : SAS 의가장기본적인소프트웨어 SAS/STAT : 통계자료분석소프트웨

Microsoft Word - SPSS_MDA_Ch6.doc

01

Megazone-ML-v2

<4D F736F F F696E74202D20342E20B1E8C1F6C7FC28BFACB1B8C0DAB8A620C0A7C7D120B1D7B7A1C7C120B1D7B8AEB1E2292E >

- 클래스를이용한 2개의계산기구현 class Calculator: def init (self): self.result = 0 def adder(self, num): self.result += num return self.result cal1 = Calculator()

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

PowerPoint Presentation

untitled

1.1 how to use jupyter notebook Esc 키를누른후 h 키를누르면누르면 jupyter notebook 의 cheat sheet 가나온다. jupyter notebook 에는 Command Mode, Edit Mode, 총두가지모드가있다. 셀을클릭


G Power

Microsoft PowerPoint - chap04-연산자.pptx

CAD 화면상에 동그란 원형 도형이 생성되었습니다. 화면상에 나타난 원형은 반지름 500인 도형입니다. 하지만 반지름이 500이라는 것은 작도자만 알고 있는 사실입니다. 반지름이 500이라는 것을 클라이언트와 작업자들에게 알려주기 위 해서는 반드시 치수가 필요하겠죠?

Microsoft PowerPoint - chap-11.pptx

3 장기술통계 : 수치척도 Part B 분포형태, 상대적위치, 극단값 탐색적자료분석 두변수간의관련성측정 가중평균과그룹화자료

MySQL-.. 1

22 장정규성검정과정규화변환 22.1 시각적방법 Q-Q 플롯과정규확률그림 Q-Q 플롯( 분위수- 분위수플롯, Quantile-Quantile plot) 은하나의자료셋이특정분포( 정규분 포나와이블분포등) 를따르는지또는두개의자료셋이같은모집단분포로부터나왔는지를

JAVA PROGRAMMING 실습 02. 표준 입출력

<C0E5B7C1BBF328BEEEB8B0C0CCB5E9C0C729202D20C3D6C1BE2E687770>

PowerPoint 프레젠테이션

통계학입문

Ⅰ. Introduction 우리들을 둘러싸고 잇는 생활 환경속에는 무수히 많은 색들이 있습니다. 색은 구매의욕이나 기호, 식욕 등의 감각을 좌우하는 것은 물론 나뭇잎의 변색에서 초목의 건강상태를 알며 물질의 판단에 이르기까지 광범위하고도 큰 역할을 하고 있습니다. 하

Microsoft Word - Software_Ch2_FUNCTION.docx


Transcription:

Python 을이용한기초통계분석 1. 통계학을위한 Python 모듈 1.1 numpy 패키지 - 고급데이터분석과수리계산을위한라이브러리를제공 - 아나콘다에기본적으로설치되어있음 (1) numpy가제공하는통계분석함수 import numpy as np print(dir(np)), 'max',, 'mean', 'median',, 'min',, 'percentile',, 'std',, 'var', (2) numpy 를이용한외부데이터불러오기 - 예제데이터 : cars Speed and Stopping Distances of Cars (M. Ezekiel), 변수 speed, dist cars 데이터 speed 4 4 7 24 24 25 dist 2 10 4 93 120 85 # 외부데이터불러오기 파일 import numpy as np data_file_name='e:/data/python/cars.txt' dat=np.genfromtxt(data_file_name,dtype='float32',skip_header=true) # skip_header=true 또는 skip_header=1 데이터의첫번째행이변수명일경우지정 print(np.shape(dat)) # np.shape(dat) 데이터객체의행과열을나타냄 speed=dat[:,1] 1

dist=dat[:,2] # 기초통계량구하기 len(speed) # 데이터의개수 np.mean(speed) # 평균 np.var(speed) # 분산 np.std(speed) # 표준편차 np.max(speed) # 최대값 np.min(speed) # 최소값 np.median(speed) # 중앙값 np.percentile(speed, 25) # 1사분위수 np.percentile(speed, 50) # 2사분위수 = 중앙값 np.percentile(speed, 75) # 3사분위수 np.percentile(speed, 42) # 42백분위수 (42%) (3) 난수생성 정규분포 import numpy as np r_norm_data=[] r_norm_data =np.random.normal(2,3,4) # np.random.normal(loc=0.0, scale=1.0, size=none) # loc: 평균, scale: 표준편차, size: 개수 print(r_norm_data) (4) 실습예제 X~B(10,0.7) 인이항분포 (binomial distribution) 를따르는난수 10개를생성하는 Python 프로그램을작성하시오. 2

1.2 matplotlib 패키지 - Python의시각화패키지 - line plot, scatter plot, contour plot, surface plot, bar chart, histogram, box plot, - matplotlib.pyplot 모듈 : matplotlib를사용할수있는함수들의모음 (1) 히스토그램과산점도 import numpy as np import matplotlib.pyplot as plt data_file_name='e:/data/python/cars.txt' dat=np.genfromtxt(data_file_name,dtype='float32',skip_header=true) speed=dat[:,1] dist=dat[:,2] plt.hist(speed) plt.show() plt.plot(speed,dist) plt.show() 3

plt.plot(speed, dist, c="r", lw=3, ls="-", marker="d", ms=10, mec="b", mew=3, mfc="w") plt.show() - plot arguments c: 선색깔 (blue b, green g, red r, cyan c, magenta m, yellow y, black k, white w, ) ls: 선형태 (- solid line style, -- dashed line style, -. dash-dot line style, _ marker: 데이터의위치를나타내는점 ( 마커 ) 의형태 (. point marker /, pixel marker / o circle marker / v triangle_down marker / ^ triangle_up marker / < triangle_left marker / > triangle_right marker / 1 tri_down marker / 2 tri_up marker / 3 tri_left marker / 4 tri_right marker / s square marker / p pentagon marker / * star marker / h hexagon1 marker / H hexagon2 marker / + plus marker / x x marker / D diamond marker / d thin_diamond marker, lw: 선굵기 ms: markersize, 마커크기 mec: markeredgecolor, 마커선색깔 mew: markeredgewidth, 마커선굵기 mfc: markerfacecolor, 마커내부색깔 (2) 표준정규분포를따르는난수생성후히스토그램그리기 import numpy as np import matplotlib.pyplot as plt mu=0 sigma = 1 # mean=0, standard deviation=1, 표준정규분포 s = np.random.normal(mu, sigma, 1000) plt.hist(s) 4

plt.show() plt.hist(s, 30) plt.show() plt.hist(s, 30, normed=true) plt.show() - 데이터정규화 (Normalization) [0,1] xx min (xx) max(xx) min (xx) (3) 실습예제 Iris 데이터 - Sepal.Length에대한히스토그램을출력하는프로그램을작성하시오. ( 계급의크기는 5개, 막대의색깔은검은색으로하시오.) 5

- Sepal.Length 와 Patal.Length 간의산점도를출력하는프로그램을작성하시오. ( 각점은연결되지 않게하고 X 축과 Y 축의제목을각각변수명으로출력되게하시오.) 1.3 pandas 패키지 - 데이터분석을제공하는라이브러리 - csv 파일등을데이터로읽고원하는데이터형식으로변환 (1) 웹상의데이터불러오기 target_url = ("http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data") # iris data를 pandas data frame 형식으로불러옴 iris_data = pd.read_csv(target_url,header=none, prefix="x") print(iris_data) print(iris_data.x4) summary = iris_data.describe() print(summary) Sepal_Length = list(iris_data.x0) print(sepal_length) (2) 데이터프레임 - 데이터프레임 (DataFrame): pandas 에서사용되는기본데이터 - 데이터프레임을정의할때는 2 차원리스트를매개변수로전달 a = pd.dataframe([ [10,20,30], [40,50,60], [70,80,90] ]) print(a) 6

# 1 차원데이터는 Series 를사용 import numpy as np s = pd.series([1.0, 3.0, 5.0, 7.0, 9.0]) print(s) # 자료형도함께출력됨 m = np.mean(s) print(m) (3) 원하는데이터추출 # 1 차원리스트의딕셔너리자료형으로부터키를이용하여원하는열의데이터출력 # 키, 몸무게, 유형데이터프레임생성하기 tbl = pd.dataframe({ "weight": [80.0, 70.4, 65.5, 45.9, 51.2], "height": [170, 180, 155, 143, 154], "type": [ "f", "n", "n", "t", "t"] }) # 몸무게목록추출하기 print(" 몸무게목록 ") print(tbl["weight"]) # 몸무게와키목록추출하기 7

print(" 몸무게와키목록 ") print(tbl[["weight","height"]]) # 원하는위치의값을추출할때는파이썬리스트처럼슬라이스를사용 tbl = pd.dataframe({ "weight": [80.0, 70.4, 65.5, 45.9, 51.2], "height": [170, 180, 155, 143, 154], "type": [ "f", "n", "n", "t", "t"] }) print("tbl[2:4]\n", tbl[2:4]) print("tbl[3:]\n", tbl[3:]) # 원하는조건추출 tbl = pd.dataframe({ "weight": [80.0, 70.4, 65.5, 45.9, 51.2, 72.5], "height": [170, 180, 155, 143, 154, 160], 8

"gender": [ "f", "m", "m", "f", "f","m"] }) print(" 몸무게와키목록 ") print(tbl[["weight","height"]]) print("--- height 가 160 이상인것 ") print(tbl[tbl.height >= 160]) print("--- gender 가 m 인것 ") print(tbl[tbl.gender == "m"]) # 정렬 tbl = pd.dataframe({ "weight": [80.0, 70.4, 65.5, 45.9, 51.2, 72.5], "height": [170, 180, 155, 143, 154, 160], "gender": ["f", "m", "m", "f", "f", "m"] }) print("--- 키로정렬 ") print(tbl.sort_values(by="height")) print("--- 몸무게로정렬 ") print(tbl.sort_values(by="weight", ascending=false)) 9

# 전치 tbl = pd.dataframe([ ["A", "B", "C"], ["D", "E", "F"], ["G", "H", "I"] ]) print(tbl) print("------") print(tbl.t) (4) 데이터조작 import numpy as np 10

# 10 개의 float32 자료형데이터생성 v = np.zeros(10, dtype=np.float32) print(v) # 연속된 10 개의 uint64 자료형데이터생성 v = np.arange(10, dtype=np.uint64) print(v) # v 값을 3 배하기 v *= 3 print(v) # v 의평균구하기 print(v.mean()) # 데이터정규화 # 키, 체중, 유형데이터프레임생성하기 tbl = pd.dataframe({ "weight": [80.0, 70.4, 65.5, 45.9, 51.2, 72.5], "height": [170, 180, 155, 143, 154, 160], "gender": ["f", "m", "m", "f", "f", "m"] }) # 키와몸무게정규화하기 # 최댓값과최솟값구하기 def norm(tbl, key): c = tbl[key] v_max = c.max() v_min = c.min() print(key, "=", v_min, "-", v_max) 11

tbl[key] = (c - v_min) / (v_max - v_min) norm(tbl, "weight") norm(tbl, "height") print(tbl) (5) numpy 로변환 머신러닝라이브러리중에서 pandas 의데이터프레임을지원하지않는경우 numpy 형식으로 변환하여사용하면됨 (6) 실습예제 - Japan credit 데이터를 pandas 데이터프레임으로불러와서각열 ( 변수 ) 에대한평균과 표준편차를구하시오. 12

- Japan credit 데이터를 pandas 데이터프레임으로불러와서각열 ( 변수 ) 에대한정규화및 표준화를수행하시오. ( 마지막열은제외 ) 1.4 추가적인패키지들 (1) sklearn - scikit-learn - 다양한데이터셋포함 - 데이터전처리, 지도 / 자율학습알고리즘및평가기법포함 (2) scipy // 사이파이 // - 과학기술계산지원 - 학습알고리즘및최적화기법제공 (3) statsmodels - 추정, 검정을포함한통계분석 (regression, time-series analysis, ) 제공 13

2. Python 회귀분석 2.1 Pandas 모듈이용 (1) 변수명이있는데이터 # csv 파일을가져옴 df = pd.read_csv("f:/data/python/csv_exam.csv") # 데이터의칼럼명을변경 # df.columns = ["num", "ban", "score1", "score2", "score3"] # 앞부분일부데이터보여줌 print(df.head()) # 회귀분석수행및결과 result = sm.ols(formula = 'science ~ math + english', data = df).fit() # 분석결과출력 print(result.summary()) (2) 변수명이없는데이터 # csv 파일을가져옴 df = pd.read_csv("f:/data/python/csv_exam2.csv",names=["id", "class", "math", "english", "science"]) # 앞부분일부데이터보여줌 print(df.head()) # 회귀분석수행및결과 result = sm.ols(formula = 'science ~ math + english', data = df).fit() # 분석결과출력 print(result.summary()) (3) 실습예제 14

- cars.txt 데이터를이용하여다음의회귀식을구하시오. dist = bb 0 + bb 1 ssssssssss - speed=21 일때 dist의예측값을구하시오. - speed (X축) 와 dist (Y축) 의산점도를그리시오. 15