본문 바로가기

전체 글

(104)
4. Matplotlib Architecture _ python Coursera.org 에서 Michigan University의 Applied Data Science with Python의 강의를 토대로 정리한 내용입니다. 이번 포스팅부터는 본격적으로 Matplotlib 라이브러리에 대해서 다루어보려고 한다. 먼저 Matplotlib의 기본적인 구조부터 살펴보도록 하자. 1. Backend Layer 먼저 backend layer는 우리가 스크린이나 파일에 plot을 그릴 수 있도록 해준다. 2. Artist Layer Figure나 Subplot, Axes 등을 포함하는 컨테이너이다. 그려지는 거의 모든 것들은 이 artist layer와 매칭된다고 보면 된다. 3. Scripting Layer 사실 plot하는 과정은 위의 backend와 artist layer..
3. 좋은 데이터시각화를 위한 10가지 규칙 _ Ten Simple Rules for Better Figures. Coursera.org 에서 Michigan University의 Applied Data Science with Python의 강의를 토대로 정리한 내용입니다. cited by: https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1003833 Rule 1: 누구에게 보여줄 지 파악하자. Know Your Audience 누구에게 보여주기 위한 데이터시각화인지를 반드시 생각하자. 만약 전문가나 당신의 연구동료를 위해 보여주는 것이라면 많은 단계가 생략될 수 있겠으나, 초심자나 누구나 이해하기 쉬운 데이터표현을 하기위해서라면 데이터표현에 있어서 보다 친절해야할 것이다. Rule 2: 당신이 전하고자 하는 메세지를 파악하자. Iden..
2. Graphical Heuristics/Truthful Art _ python Coursera.org 에서 Michigan University의 Applied Data Science with Python의 강의를 토대로 정리한 내용입니다. 저번 포스팅에 이어서 이번에는 데이터시각화에 있어서 저명한 분들의 서적을 바탕으로 데이터시각화 디자인 방법론에 대해서 알아보도록 하자. 먼저 애드워드 터프(Edward Tufte)는 수적 정보의 비주얼 디스플레이 디자인에 저명한 사람이다. 그는 Graphical Heuristic에 있어서 Data-ink ratio라는 개념과 Chart-junk라는 개념을 소개한다. Heuristic(발견법)이란 무엇일까? Heuristic은 의사결정을 할 때 있어서 따를 수 있는 절차 혹은 규칙을 뜻하며, 이는 가장 최선 혹은 완벽은 아니더라도 실용적이어야 한다..
1. 정보시각화의 원리(Visualization wheel ) Coursera.org 에서 Michigan University의 Applied Data Science with Python의 강의를 토대로 정리한 내용입니다. 우리는 살아가면서 무수히 많은 시각화된 정보들을 접하고 있으며 때로는 생성하게 된다. 간단하게 막대그래프부터 지하철이나 버스 노선도 역시 그 예이다. 이 전 파이썬을 활용한 데이터마이닝에 관련한 9개의 포스팅을 통해 이제 어느정도 데이터를 읽고 쓰고 편집하는 것이 가능하다면, 한 번 그 데이터를 표현해보는것들을 다뤄볼 예정이다. 글쓴이는 원래 데이터 시각화에 많은 관심이 있었기에 이번 단원을 조금 자세하게 연재해보고자 한다. Michigan University의 수업에서는 Alberto Cairo가 제안한 Visualization Wheel에 대..
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..