1. 데이터 수집
- Data Source
- OLTP Database: OnLine Transaction Processing 은 온라인 뱅킹,쇼핑, 주문 입력 등 동시에 발생하는 다수의 트랜잭션(데이터베이스 작업의 단위) 처리 유형
- Enterprise Applications: 회사 내 데이터 (ex 고객 관계 데이터, 제품 마케팅 세일즈, 입사, 연봉)
- Third - Party: Google Analytics와 같은 외부소스에서 수집되는 데이터(제 3자로부터 가져오는 데이터)
- Web/Log: 사용자의 로그데이터
- Data Lake: 원시 형태의 다양한 유형의 데이터를 저장
- Data Warehouse: 보다 구조화된 형태로 정제된 데이터를 저장
- Data Marts: 회사의 금융, 마케팅, 영업 부서와 같이 특정 조직의 목적을 위해 가공된 데이터
- BI/Analytics: business Intelligence(BI)는 의사결정에 사용될 데이터를 수집하고 분석하는 프로세스
참고) ETL (Extract, Transform, Load) 추출, 변환, 로드 - 데이터 엔지니어 담당
## 실제 데이터 수집 ##
- 회사 내 데이터가 존재한다면
>> SQL 혹은 Python 을 통해 데이터 마트를 생성
- 회사 내 Data가 없다면 → 데이터 수집 필요
>> 방법1 : CSV, EXCEL 파일 다운로드
>> 방법2 : API를 이용한 데이터 수집
(Application Programming Interface : 응용 프로그램 개발자들이 애플리케이션을 만들 때 운영체제에서 동작하는 프로그램을 쉽게 만들 수 있도록 화면 구성이나 프로그램 동작에 필요한 각종 함수를 모아놓은 것)
>> 방법3 : Data Crawling
자동화된 방법으로 수집, 분류, 저장하는 것
2. 탐색적 데이터 분석(EDA, Exploratory Data Analysis)
데이터의 시각화, 기술통계 등의 방법을 통해 데이터를 이해하고 탐구하는 과정 - 범주형, 연속형, 관측치
■ tips 데이터를 이용한 EDA 예시
tips.head(3)
# include ='all' 범주형 데이터도 확인 가능
tips.describe(inclue='all')
1. countplot : 범주형 자료의 빈도수 시각화 - 범주형 데이터의 각 카테고리별 빈도수를 나타낼 때
x축 : 범주형 자료
y축 : 자료의 빈도수(입력 안해도 됨) - 관측치(count)
sns.countplot(x = 'day', data = tips)
2. barplot : 범주형 자료의 시각화 - 범주형 데이터의 각 카테고리에 따른 수치 데이터의 평균을 비교
x축 : 범주형 자료
y축 : 연속형 자료
# barplot : X축 범주형, Y축 연속형
# estimator 기본값은 mean(평균)
sns.barplot(data = tips, x = 'sex', y = 'tip', estimator = 'sum')
3. boxplot : 수치형 & 범주형 자료의 시각화 - 데이터의 분포, 중앙값, 사분위 수, 이상치 등을 모두 표현하고 싶을 때
x축 : 수치형 or 범주형
y축 : 수치형 자료
# 식사 시간(time)별 total_bill의 분포
sns.boxplot(x = 'time, y = 'total_bill, data = tips)
4. histogram : 수치형 자료 빈도 시각화 - 연속형 분포를 나타내고 싶을 때, 데이터가 몰려있는 구간을 파악하기 쉬움
x축 : 수치형 자료
y축 : 자료의 빈도수(입력 안해도 됨) - 관측치(count)
# bins는 몇 개 단위로 막대를 설정할 것인지
sns.histplot(data = tips, x = 'total_bill', bins = 20)
# 모두 동일한 그래프
plt.hist(tips['total_bill'])
tips['total_bill'].hist()
tips['total_bill'].plot.hist()
plt.show()
5. scatterplot : 수치형끼리 자료의 시각화 - 두 연속형 변수간의 관계를 시각적으로 파악하고 싶을 때
x축 : 수치형 자료
y축 : 수치형 자료
sns.scatterplot(x = 'total_bill', y = 'tips', data = tips)
6. pairplot : 전체 변수에 대한 시각화 - 한 번에 여러 개의 변수를 동시에 시각화 하고 싶을 때
x축 : 범주형 or 수치형 자료
y축 : 범주형 or 수치형 자료
sns.pairplot(data = tips)
'머신러닝' 카테고리의 다른 글
머신러닝 심화과정(데이터분석 프로세스) - 데이터 전처리(인코딩, 스케일링) (0) | 2024.08.17 |
---|---|
머신러닝 심화과정(데이터분석 프로세스) - 데이터 전처리(이상치, 결측치) (0) | 2024.08.16 |
스파르타 머신러닝 강의(로지스틱회귀, 다중로지스틱회귀 실습) (0) | 2024.08.12 |
스파르타 머신러닝 강의(로지스틱회귀 이론) (0) | 2024.08.12 |
스파르타 머신러닝 강의(다중선형회귀) (0) | 2024.08.12 |