Intro
- EDA, 탐색적 데이터 분석개념과 하는 법
범주형 데이터 탐색 (categorical)
info()
- object : string 형태
- float, int : numeric 형태
value_counts()
- levels() in R
- data['특성이름'].value_counts()
수치형 데이터 탐색 (int64, float64)
describe()
- 기초 통계 값을 확인
- data.describe()
시각화를 통한 데이터 탐색
막대그래프
- 주로 범주형 데이터의 빈도 분석
- x = data['특성이름'].value_counts().index → 범주의 이름이 할당됨plt.bar(x, y)
- y = data['특성이름'].value_counts() → 빈도수가 할당됨
x = data['gender'].value_counts().index
y = data['gender'].value_counts()
plt.bar(x,y)
히스토그램
- 수치형 데이터 빈도 분석
- plt.hist(data['특성이름'])
상관관계
- 상관관계는 데이터 특성 간의 관계로, 두 데이터가 서로 어떤 관계에 있는지 파악하기 위한 것
- 두 변수 사이에 어떠한 연관성이 있다면 상관관계가 있다 라고 해석
- 상관계수 r은 -1 부터 1 사이의 값을 가짐
- 상관계수가 r의 수치 : 얼마나 데이터 간에 얼마나 강한 상관이 있는지 알 수 있음
- 범주형 데이터에서는 사용할 수 없음
- data.corr()
- 상관계수를 살펴보면 데이터 사이의 관계를 파악하는데 도움이 됨
- 상관계수 분석을 하기 전에는 na 또는 outlier 전처리를 미리 해주어야함
그룹별 연산
- groupby 함수
- 주로 범주형 특성을 기준으로 나눔
- data.groupby('그룹범주특성').연산함수()
- 연산함수의 예시 : 합(sum), 최댓값(max), 최솟값(min), 평균(mean) 등
- data.groupby('그룹범주특성').aggregate(['연산함수1', '연산함수2', ...])
탐색적 데이터 분석 예시
- 데이터셋에서 원하는 특성을 삭제할 때에는 del 기능을 이용할 수 있음
- del data['특성이름']
- 파이그래프
- import matplotlib as plt
- plt.pie(count, label = name)
- data.groupby('그룹별로 보고 싶은 열').agg(['연산함수1', '연산함수2' …])[['특성1', '특성2']]
- 수치형 → 범주형
- cut 함수에서 앞의 기준은 포함하지 않지만 뒤의 기준의 숫자는 포함하여 변환
age_cut = [19,29,39,49]
age_label = ['20대','30대','40대']
data['age_group'] = pd.cut(data['age'],age_cut, labels = age_label)
print(data.info())
'Statistics > ML | Python' 카테고리의 다른 글
머신러닝이 뭐여 8탄 (feat. 의사결정나무, 앙상블, 랜덤포레스트) (0) | 2023.02.18 |
---|---|
머신러닝이 뭐야 7탄 (feat. 그래프 그리기, KNN) (0) | 2023.02.18 |
머신러닝이 뭐여 5탄 (feat. 데이터 종류, 조건을 이용한 추출, 결측치, 이상치) (0) | 2023.02.18 |
머신러닝이 뭐여 4탄 (feat. 반복문, 모듈) (0) | 2023.02.18 |
머신러닝이 뭐여 3탄 (feat. 파이썬 연산자) (0) | 2023.02.18 |