파이썬으로 인공지능을 개발할 때 자주 사용하는 패키지 세가지를 정리해봤다.


1. Pandas


csv형태로 된 데이터 파일을 일어올 수 있는 라이브러리를 제공. 엑셀 파일을 함수 호출 한번으로 파이썬에서 사용할 수 있는 객체로 변환할 수 있다. 데이터 셋이 엑셀의 형태로 되어있는 경우가 많아 데이터 분석을 할 때 자주 사용하는 패키지중에 하나다.


import pandas pd
df_data = pd.read_excel('data.xlsx', encoding='utf-8') # 엑셀 데이터 읽어오기


리턴된 객체인 df_data에는 행을 추가하거나 삭제할 수 있는 기본적인 기능뿐만 아니라 새로운 속성을 추가하고 다른 데이터와 합칠 수 있는 기능도 제공한다. 꽤 많은 기능이 있으니 직접 사용하면서 익혀보는게 좋다


2. Numpy




파이썬에서 차트 형태로 있는 데이터를 행렬로 바꾸고 필요한 데이터만 쪽쪽 뽑아내야 할 때 numpy를 사용하면 쉽게 해결 할 수 있다. 리턴 객체 안에서 간단한 행렬 연산 뿐만 아니라 선형대수에서 자주 사용하는 행렬 연산을 제공해서 인공지능 뿐만 아니라 수치해석, 행렬연산, 기술통계에서도 자주 사용되는 패키지다. 거의 matlab에 맞먹는 사용성을 지니고 있다고 하기도.


import numpy as np
data = np.array(df_data) # df_data를 행렬 형태로 변환
select_data = data[:,5:6] # 5열만 데이터를 뽑음
transpose_data = data.transpose() # Transpose 형태로 변환


상대적으로 라이브러리가 제공이 잘되어있는 Java에서도 행렬을 이용한 작업은 언제나 까다롭기 마련인데 파이썬에는 numpy라는 유용한 패키지가 있어 비전공자들에게도 사랑 받는 것 같다.


3. Matplot



엑셀 차트만큼 강력한 파이썬 데이터 시각화 툴. 처음에는 사용하기 낯설지만 함수 몇개만 좀 외워두고 나면 갖고 있는 데이터를 몇줄 안되는 코드로 그래프로 나타낼 수 있다. 주로 Machine Learning 단계에서 자주 사용하는 툴이다. 


import matplotlib.pyplot as plt
plt.figure(figsize=(10, 10))
plt.scatter(x_test, y_test, color="black") # Test 데이터는 검은 점으로 표현한다
plt.scatter(x_train, y_train, color="red") # Train 데이터는 붉은 점으로 표현한다
plt.plot(x_test, model.predict(x_test),
            color="blue", linewidth=3) # 예측 결과는 파란 선으로 표현한다.
plt.show()


다섯줄의 코드로 Linear Regression의 결과를 시각화 할 수 있다.



728x90

'기술 > 인공지능' 카테고리의 다른 글

Q-Learning in Non-Deterministic World  (0) 2018.08.19
Q-Learning  (0) 2018.08.19
파이썬으로 AI 개발할 때 유용한 패키지 모음  (0) 2018.08.07
뉴럴네트워크(Neural Network)  (0) 2017.08.18
오버피팅(Overfitting)  (0) 2017.08.10
숫자인식 코드 분석해보기  (2) 2017.08.03