본문 바로가기

Programming/Data mining

(25)
9. 통계적 분석(분포, 가설 검정)_ python 데이터마이닝 Coursera.org 에서 Michigan University의 Applied Data Science with Python의 강의를 토대로 정리한 내용입니다. 이제 어느정도 Python에서 pandas나 numpy를 이용해서 데이터를 어떻게 다루는 지 익숙해지셨다면 한번 통계적 분석을 해보도록 하죠. 이제부터는 pandas와 numpy는 어느정도 다 이해한다는 전제하에 설명을 이어가볼게요. 혹시 이항분포나 정규분포 등 확률적인 개념이 이해가 안 가시는 분들은 구글링을 통해서 학습 후 보시면 좋을 것 같네요. 먼저 파이썬에서 데이터들의 분포에 대해서 어떻게 분석하고 다루는 지 알아볼까요? #numpy 라이브러리는 아래처럼 다양한 분포에 대한 함수를 제공하기도 한답니다 np.random.binomial(1..
8. Pandas 심화(scales, pivot table, date function) Coursera.org 에서 Michigan University의 Applied Data Science with Python의 강의를 토대로 정리한 내용입니다. 오늘은 pandas 심화과정에 대한 컨텐츠를 마무으리! 해보고자 합니다. 먼저 Scale에 대해 빠르게 알아볼게요. 우리가 무언가를 scaling한다고 하면 무슨 말인가요? 다양한 scale방법이 있겠지만 뭐 공통적으로는 어떤 데이터들을 무언가를 기준삼아서 정렬 혹은 그룹핑하게 됩니다. pandas 에서도 역시 이와 같은 method가 존재하죠. df['Grades'].astype('category').head() #이 코드는 앞의 데이터프레임의 타입을 카테고리로 설정하겠다는 것입니다. >>> excellent A+ excellent A exce..
7. Pandas 심화 (groupby) Coursera.org 에서 Michigan University의 Applied Data Science with Python의 강의를 토대로 정리한 내용입니다. 이번 글에서도 역시 pandas의 여러가지 자주쓰는 기능에 대해서 알아볼텐데요. 만약 어떤 데이터프레임에서 여러 데이터들이 어떤 그룹에 속하게 나누어질 수 있다면 우리는 이것을 어떻게 다룰까요? %%timeit -n 10 for state in df['STNAME'].unique(): avg = np.average(df.where(df['STNAME']==state).dropna()['CENSUS2010POP']) print('Counties in state ' + state + ' have an average population of ' + s..
6. Pandas 심화 (Merge(), Pandorable code) Coursera.org 에서 Michigan University의 Applied Data Science with Python의 강의를 토대로 정리한 내용입니다. 이제까지 간단한 파이썬과 Numpy 그리고 Pandas를 활용한 데이터마이닝방법에 대해서 알아보았는데요, 이제부터는 DataFrame을 합치거나 그룹핑 하는 등 조금 더 심화적인 데이터를 다루는 함수에 대해서 살펴보도록 합시다. 먼저 소개한 대로 DataFrame을 합치는 것 부터 해볼까요? staff_df = pd.DataFrame([{'Name': 'Kelly', 'Role': 'Director of HR'}, {'Name': 'Sally', 'Role': 'Course liasion'}, {'Name': 'James', 'Role': 'Gr..
5. pandas 기초(Querying a DataFrame, Indexing) Coursera.org 에서 Michigan University의 Applied Data Science with Python의 강의를 토대로 정리한 내용입니다. 이번시간에는 저번 자료에 이어서 DataFrame을 Querying하는 방법에 대해서 한번 알아보도록 할게요. 기본적인 Series나 Dataframe과 같은 타입에 대해서 알고 싶으신 분들은 아래의 이전 게시글을 참고해주세요. 2020/02/04 - [Programming] - 4. pandas 기초(series, dataframe) _ 파이썬을 활용한 데이터마이닝 Querying한다는 것은 저번에 말했듯이 어떤 데이터에 어떻게 요청해서 원하는 정보를 얻을 수 있을까라고 생각하시면 됩니다. 바로 예시로 들어갈게요. df['Gold'] > 0 #..
4. pandas 기초(series, dataframe) Coursera.org 에서 Michigan University의 Applied Data Science with Python의 강의를 토대로 정리한 내용입니다. 오늘은 파이썬을 활용한 데이터분석 3대장 라이브러리 중 하나인 pandas에 대해서 알아보도록 할게요. 3대장 중 하나는 저번시간에 다뤘던 Numpy이구요? 나머지 하나는 아마 곧 다루게 될 거에요. pandas는 특히 숫자 테이블이나 시계열 분석을 위한 데이터 구조 및 함수들을 제공하는데요. 한번 시작해보죠. import pandas as pd #pandas는 주로 이렇게 import 한답니다. animals = ['Tiger', 'Bear', 'Moose'] pd.Series(animals) >>> 0 Tiger 1 Bear 2 Moose d..
3. Numpy 기초 Coursera.org 에서 Michigan University의 Applied Data Science with Python의 강의를 토대로 정리한 내용입니다. 오늘은 Numpy라는 파이썬을 활용한 데이터마이닝에셔 결코 빠질 수 없는 아주 기본적인 라이브러리에 대해서 알아보도록 할게요. import numpy as np #이런식으로 라이브러리를 불러오면 된답니다. mylist = [1, 2, 3] x = np.array(mylist) # x가 array([1, 2, 3])와 같은 형식으로 저장이 됩니다. m = np.array([[7, 8, 9], [10, 11, 12]]) #array([[ 7, 8, 9], # [10, 11, 12]]) 와 같은 형식으로 저장이 됩니다. m.shape # (2,3)이 ..
2. Objects and map() Coursera.org 에서 Michigan University의 Applied Data Science with Python의 강의를 토대로 정리한 내용입니다. 오늘은 매우 중요한 객체라는 것에 대해서 알아볼텐데요. 흔히 대학의 컴퓨터공학과에 가면 가장 기본적으로 배우는 과목이 바로 '객체지향프로그래밍'이라는 것입니다. 객체지향프로그래밍, Object-Oriented Programming은 기존의 절차지향프로그래밍과 달리 프로그램 안에서 사물(객체)를 표현해내고, 그것들이 어떻게 작동하는 지 설정하는 프로그래밍을 한다고 생각하면 되는데요. 파이썬은 C++과 마찬가지로 Class를 활용하여 객체를 생성한답니다. 한번 보실까요? class Person: department = 'School of Inform..