본문 바로가기

Archived(CSE Programming)/Machine Learning

Chap 5-3. Visualization & Handling

Data Visualization


데이터를 공개할 때 matplotlib를 통해 시각화로 표현가능!

필요할 때마다 찾아 쓰는 것이 일반적


1) Matplotlib

- pyplot 객체를 사용하여 데이터 표시

- pyplot 객체에 그래프들을 쌓은 다음 show로 flush


- graph는 원래 figure 객체에 생성됨

- pyplot 객체 사용시, 기본 figure에 그래프가 그려짐

- add_subplot 으로 또 다른 plot 생성 가능


2) 꾸미기

- color 속성을 이용

- Float 흑백, rgb color, predefined color 사용

- Set linestyle은 ls 또는 linestyle 사용

- set legend를 통해 범례를 넣을 수도 있음


3) Matplotlib graph

- Scatter 산포도 그래프(marker 지정 가능)

- Bar chart 막대 그래프 

- Box plot

- histogram 등 다양한 그래프 존재


Data Handling - Data cleansing(데이타 분석)


- 데이터의 최대/최소가 다른 경우

- Ordinary(nominal)한 값들의 표현

- 잘못 기입된 값들 처리

- 값이 없을 경우

- 극단적으로 크거나 작은 값들


등의 다양한 경우들에 대해 데이터를 어떻게 처리할것인지

여러 문제 상황들을 요약하면 다음의 3가지로 요약


- 데이터가 빠진경우

- 라벨링된 데이터(category) 데이터의 처리

- 데이터의 scale 차이가 매우 크게 날 경우


1) 데이터가 빠진 경우

- 데이터가 없으면 sample drop

- 데이터가 없는 최소 개수를 정해서 sample drop

- 데이터가 거의 없는 feature 자체를 drop

- 최빈값, 평균값으로 채우기 등


1
2
3
4
df.isnull().sum() / len(df) # 비어있는 데이터 비율 알기
df_no_missing = df.dropna() # data 날려준 복사본
df_cleand = df.dropna(how="all"# 모든 data가 없으면 drop
df["column"].fillna(df["column"].mean(), inplace=True) # 평균 넣기
cs


2) 라벨링된 데이터(category) 데이터의 처리

- 이산형 데이터 처리(green [100] blue[010]과 같이 데이터 부여)

- Ordinary Data 순서 있는 data (중간에 값을 한번 거쳐서 바꾸도록)

- 구간 나눠서 처리하기


3) 데이터의 scale 차이가 매우 크게 날 경우

- Feature 간의 최대- 최소 값의 차이를 맞춰준다!

- min-max Normalization 기존 변수에 범위를 새로운 최대최소로 변경(0~1 사이 값)


Kaggle 데이터 분석 경쟁


Titanic Project - 여러 변수들을 통해서 어떤 사람들의 생존률 추리기

Discussion에서 EDA를 검색해보면 방법에 대해서 설명으로 풀어써줌

데이터를 어떻게 feature했는지, visualization을 통해서 설명해줌




'Archived(CSE Programming) > Machine Learning' 카테고리의 다른 글

Chap 7-1~3 Linear Regressions  (0) 2019.03.05
Chap 6. Assignment & Case study  (0) 2019.03.05
Chap 5-2. Pandas  (0) 2019.02.20
Chap 5-1. Numpy  (0) 2019.02.18
Chap 4. Machine Learning Overview & An understanding of data  (0) 2019.02.18