데이터분석과 머신러닝 분야가 급부상하고있다.
이런 분위기에 휩쓸려 Numpy, pandas, Scikit-learn, tensorflow 등 유명한 라이브러리 / 프레임워크를 공부했었지만 이해하지 못하는 수식이 넘치고 새로운 용어들이 많이 나와 지레 겁을 먹고 포기했었다.
배우는데 실패했던 이유들을 다시 생각해보면서 처음부터 차근차근 다시 배우고자한다.
포스팅 순서는 다음 내용으로 이루어진다.
- Numpy, Pandas, matplotlib 라이브러리 사용법을 습득하고
- 나의 의도대로 사용할 수 있도록 예제들을 풀어본다.
- 데이터 분석 입문으로 유명한
타이타닉 예측하기
를 풀면서 문제를 풀고 슛 성공 여부 예측
문제와 함께 Kaggle에서 직접 문제를 선택해 풀어본다.
엘리스 의 강좌인 Numpy, Pandas 데이터분석 과 Kaggle 문제풀이로 배우는 데이터분석 을 수강하면서 진행한다.
Numpy ?
Numpy는 파이썬에서 수학과 과학 연산을 위한 패키지이다.
상당부분이 C나 포트란으로 구성되어있기에 실행속도가 빠른 편이다.
array를 생성하고 이를 가지고 처리연산을 수행하며, Pandas, matplotlib 등과 함께 쓰인다.
사용 예:
xxxxxxxxxx
import numpy as np
arr = [1, 2, 3]
a = np.array([1, 2, 3])
Pandas ?
대부분의 데이터는 시계열이나 표의 형태로 주로 나타내는데 이때 유용하게 쓰이게되는 패키지다.
특정 값들을 찾아내는 특징을 가지고있다.
이 패키지에선 pandas.Series와 pandas.DataFrame 을 주로 사용하게 된다.
사용 예:
xxxxxxxxxx
import pandas as pd
s = pd.Series([9904312, 3448737, 2890451, 2466052],
index=["서울", "부산", "인천", "대구"])
print(s)
결과화면 ==>
서울 9904312
부산 3448737
인천 2890451
대구 2466052
dtype: int64
Matplotlib ?
파이썬에서 자료를 차트나 플롯으로 시각화하는 패키지다.
- 라인 플롯(line plot)
- 스캐터 플롯(scatter plot)
- 컨투어 플롯(contour plot)
- 서피스 플롯(surface plot)
- 바 차트(bar chart)
- 히스토그램(histogram)
- 박스 플롯(box plot)
위와 같은 플롯을 지원한다.
matplotlib을 통해 아래와 같은 표를 작성할 수 있다.
x
import matplotlib.pyplot as plt
data = pd.DataFrame({
'x': n_list,
'quick_time' : quick_time_check,
'merge_time': merge_time_check,
})
plt.plot('x', 'quick_time', data=data, marker='', color='olive', linestyle='dashed', label='Quick_sort')
plt.plot('x', 'merge_time', data=data, marker='', color='blue', linestyle='dashed', label='Merge_sort')
plt.legend()
plt.show()
앞으로의 내용들 중, Numpy와 Pandas에 대해 배우고나서는
아래와 같이 주어진 데이터들을 가지고 시각화를 할 수 있게된다.
matplotlib
라이브러리를 이용한 막대그래프 생성, 주어진 데이터에서 특정 값 검출하기를 할 수 있게되고
위의 라이브러리들이 익숙해진다면
Kaggle 데이터분석 강의를 듣고 타이타닉 생존자 예측과 같은 문제들을 풀어본다.
앞으로 배운 내용들 정리해서 포스팅하려고 한다
다음 포스팅은 Numpy와 Pandas, matplotlib의 사용법에 대해 다룬다
댓글