이번 포스팅에서는 인공지능 모델을 개발할 때 필요한 필수 요소인 데이터를 준비하고 정제(전처리 및 결합)하는데 필요한 Pandas에 대한 학습을 하기 전에 데이터의 중요성과 왜 내가 지금 이 공부를 해야되는지에 대한 이유에 대해서 정리를 해보고자 한다.
데이터의 중요성
방대한 데이터를 유의미한 데이터로 가공해서 그 데이터를 통해서 가치있는 insight를 얻어서 매출 증가와 생산력을 증가시키는 기업들이 많다. 우리가 요즘 많이 시청하는 넷플릭스 또한 영화 추천 시스템을 제공하는데 이 또한 고객의 데이터를 활용해서 끊임없이 고객에게 고객이 선호하는 콘텐츠를 추천하고 제공한다.내가 데이터 준비 및 정제에 대한 공부가 필요한 이유?
인공지능 모델을 개발 할 때 DATA + MODEL + COMPUTE 이 세 가지는 필수적인 요소이다. 이 세가지 요소는 인공지능 모델을 개발 할 때 충족해야되는 요소들로, 여기서 DATA란 어떻게 정제하고 합치고 시각화하는지가 중요시되며, MODEL은 DATA를 이용해서 인공지능을 만들 수 있는 마치 수학식과 같은 개념이라고 할 수 있다.
그리고 DATA를 사용해서 MODEL을 학습시키기 위해서는 COMPUTE의 과정이 필요하다.
앞으로의 공부계획
앞으로 데이터의 정제 및 시각화를 어떻게 하는지에 대해 학습 (수치계산에 특화된
numpy, 데이터 분석에 필요한pandas, 데이터 시각화에 필요한matplot, seaborn활용)머신러닝, 데이터 사이언스에서 사용되는 대용량 데이터 세트를 다루는 방법에 대해서 학습
대용량 데이터의 샘플로는
KAGGLE,UCI,ImageNet에서 제공하는dataset을 활용해 볼 것이다.(1)KAGGLE : https://www.kaggle.com/datasets
(2)UCI : https://archive.ics.uci.edu/ml/index.php
(3)ImageNet : https://www.image-net.org/
Pandas
Pandas는 데이터 조작 및 분석 툴로써, Numpy를 기반으로 한다.
(Numpy는 파이썬을 통해서 데이터 분석을 할 때 기본적으로 사용되는 라이브러리로, C언어로 구현이 되어있는 파이썬 라이브러리이다. 고성능의 수치계산을 위해서 제작이 되었으며, Numerical Python의 줄임말이다. Numpy는 백터 및 행렬 연산에 있어서 매우 편리한 기능을 제공한다는 장점을 가지고 있으며, 데이터 분석을 사용 할 때 사용되는 라이브러리인 Pandas와 Matplotlib의 기반으로 사용되기도 한다.)
Pandas는 DataFrame으로 알려져있는 데이터 구조(MS Office excel의 Python 버전이라고 생각하면 된다)를 사용하며, DataFramems은 프로그래머로 하여금 표로 정리된 행과 열과 열 데이터의 저장과 조작을 용이하게 해준다.
(Series는 DataFrame 데이터 구조에서 단일 칼럼(Single column)으로 간주한다)
1 | import pandas as pd |
Data source / Type
Data source는 image, audio/sound, time series/signals 등 다양한 형태로 존재한다.
이러한 뎅니터 리소스를 얻는 것은 어려운데, 데이터를 얻기 위해서는 데이터 스크래핑 과정을 거쳐서 스크래핑한 데이터를 구조화시키고, 이를 분석해서 마케팅이나 기획에서 활용된다. Data scientist가 실무에서 80% 정도의 시간을 소요하는 부분이 바로 데이터 준비 및 정제 / 데이터 전처리 및 결합이다.
데이터의 타입에는 크게 labeled data와 unlabeled data로 나뉘게 되는데, 별도로 supervisor가 시간과 비용을 들여서 labeling 과정을 거쳐 raw data에 labeling을 하는 경우에 labeled data가 만들어지게 된다.
Pandas series 속성
1 | my_list = ['NVDA', 'MSFT', 'FB', 'AMZN', 'BA'] |