반응형

1.1 이 책에서 다루는 내용

 

1.1.1 어떤 데이터를 사용하나

구조화된 데이터다.

대부분의 데이터는 모델링이나 분석을 위해 좀 더 쉬운 구조로 형태를 바꿀 수 있다.

 

1.2 왜 데이터 분석에 파이썬을 사용하나

스크립트 언어

 

1.2.1 접착제처럼 쓰는 파이썬

glue code: 글루코드(접착제 코드, 바인딩 코드) : 실행 시간에 영향을 주지 않을 만큼 비중이 낮다.

 

1.2.2 한 가지 언어만 사용하자

 

1.2.3 파이썬을 사용하면 안되는 경우 

파이썬은 인터프리터 언어이므로 자바나 c++같은 컴파일 언어보다 많이 느리다. 

하지만 개발자의 시간 비용은 cpu의 시간 비용보다 비싸므로 대개는 이런 등가 교환에 만족해한다.

 

파이썬은 동시다발적인 멀티스트레드를 처리하거나 cpu에 집중된 많은 스레드를 처리하는 애플리케이션에 적합한 언어가 아니다.

gil global interpreter lock (전역 인터프리터 잠금)때문인데, 이 메커니즘은 인터프리터가 한 번에 하나의 파이썬 명령만 실행하도록 한다.

그렇다고 엄밀히 말해서 파이썬이 멀티스레드나 병렬 코드를 실행하지 못한다는 뜻은 아니다.

 

1.3 필수 파이썬 라이브러리

1.3.1 Numpy

Numpy(넘파이) Numerical Python의 줄임말로 , 파이썬 산술 계산의 주춧돌 같은 라이브러리다.

자료구조, 알고리즘 산술 데이터를 다루는 대부분의 과학 계산 애플리케이션에서 필요한 라이브러리를 제공한다.

 

빠르고 효율적인 다차원 배열 객체 ndarray

배열 원소를 다루거나 배열 간의 수학 계산을 수행하는 함수

디스크로부터 배열 기반의 데이터를 읽거나 쓸 수 있는 도구 

선형 대수 계산 , 푸리에 변환, 난수 생성기

파이썬 확장과 c, c++ 코드에서 Numpy 의 자료구조에 접근하고 계산 기능을 사용할 수 있도록 해주는 c api

 

수치 데이터

 

1.3.2 pandas

pandas(팬더스)는 구조화된 데이터나 표 형식의 데이터를 빠르고 쉽고 표현적으로 다두도록 설계된 고수준의 자료구조와 함수를 제공한다.

DataFrame(데이터프레임)

Series(시리즈)

 

pandas는 Numpy의 고성능 , 배열 연산 아이디어에 스프레드시트와 관계형 데이터베이스(SQL같은)의 유연한 데이터 처리 기능을 결합한 것이다.

 

자동적으로 혹은 명시적으로 축의 이름에 따라 데이터를 정렬 할 수 있는 자료구조

통합된 시계열 기능

시계열 데이터와 비시계열 데이터를 함께 다룰 수 있는 통합 자료구조

메타데이터를 보존하는 산술 연산과 축약 연산

누락된 데이터를 유연하게 처리할 수 있는 기능

일반 데이터베이스(예를 들면 sql)처럼 데이터를 합치고 관계 연산을 수행하는 기능

 

1.3.3 matplotlib

matplotlib(맷플롯립)은 그래프나 2차원 데이터 시각화를 생성하는 유명한 파이썬 

라이브러리

 

1.3.4 IPython과 Jupyter

대화형(인터랙티브)파이썬 인터프리터

 

1.3.5 Scipy

Scipy(사이파이)는 과학 계산 컴퓨팅 영역의 여러 기본 문제를 다루는 페키지 모음

 

1.3.6 scikit-learn

scikit-learn(사이킷런) 은 처음 개발되기 시작한 2010년 부터 파이썬 개발자를 위한

범용 머신러닝 도구로 자리 잡기 시작

분류: SVM, 최근접 이웃, 랜덤 포레스트, 로지스틱 회귀등

회귀: 라소 , 리지 회귀 등

클러스터링:K-평균, 스펙트럴 클러스터링 등

차원 축소: PCA,특징 선택, 행렬 인수분해 등

모델 선택: 격자 탐색, 교차 검증, 행렬

전처리 : 특징 추출, 정규화

 

 

1.3.7 statsmodels

R언어용 회귀분석 모델을 구현한 스탠퍼드 대학의 통계학 교수인 조나단 테일러의 작업을 기반으로 만들어진 통계분석 패키지다.

 

1.4 설치 및 설정

anaconda

python 2.7과 3.6

 

1.4.1 윈도우

1.4.2 애플(OS X, macOS)

1.4.3 GNU/리눅스

1.4.4 파이썬 패키지 설치하고 업데이트 하기

conda install package_name

pip install package_name

 

conda update package_name

pip install --upgrade package_name

 

1.4.5 파이썬 2와 파이썬 3

1.4.6 통합 개발 환경과 텍스트 편집기

PyDev: 이클립스 플랫폼 기반의 IDE, 무료

PyCharm

PTVS: 비주얼 스튜디어의 파이썬 도구, 윈도우 사용자용

Spyder

Komodo: 유료

 

1.5 커뮤니티와 컨퍼런스

 

1.6 이 책을 살펴보는 방법

외부와 연동하기

데이터 준비

변환

모델링과 연산

프레젠테이션

 

1.6.1 코드 예제 

1.6.2 예제에 사용된 데이터

1.6.3 import 컨벤션

 

1.6.4 용어

의사코드(pseudocode)

실제 유효한 소스 코드는 아니지만 알고리즘이나 과정을 코드처럼 표현한 것

 

신택틱 슈거(syntactic sugar)

문법적 기능은 그대로지만 기존에 비해 좀 더 편리하거나 타이핑이 간단해지는 프로그래밍 문법

 

반응형

+ Recent posts