TIL/파이썬

멋쟁이 사자처럼 al스쿨7기 3주차 EDA

monawa 2022. 9. 27.
728x90

22-09-26

오늘의 암기할거

컨트롤 or  커맨드 +/ == 주석달기 

 

배운것 

파이썬 데이터 분석기초

  • 기본 EDA 이해하기
  • 추상화된 도구를 통한 기술 통계 구하기 : Pandas-profiling, sweetviz, autoviz
  • 범주형 데이터의 기초 기술통계
  • 수치형 데이터의 기초 기술통계
  • 기술통계, 데이터 색인, 원하는 데이터 찾기, 빈도수 구하기와 집계
  •  

05 기술통계(오전)

1. 라이브러리 로드

import pandas as pd  #데이터 분석을 위한 판다스 불러오기
import numpy as np # 수치계산을 위한 배열을 다루기위해 넌파이 불러오기
import seaborn as sns # 데이터 시각화도구 불러오기
 
print(pd.__version__) # 버젼확인하기
print(sns.__version__) # 버젼확인하기

 

2. 데이터셋 불러오기

df = sns.load_dataset("mpg") # 데이터셋 불러오기(msg = 1갤럭에 몇마일을 가느냐의 데이터)

df.shape #행과 열개수를 튜플로 반환

# 주석추가는 컨트롤 +/

 

3. 데이터셋 일부만 가져오기
df.head() # df.iloc[:5]와 같다.
df.tail() # df.iloc[-5:]와 같다.
df.sample() # 랜덤하게 데이터 하나를 가져온다.


  • 추상화된 도구를 통한 기술통계구하기

 

1. PANDAS PROFING

https://github.com/ydataai/pandas-profiling

설치하기 

!pip install pandas-profiling==3.1.0
 
리포트로 생성하기 과정
from pandas_profiling import ProfileReport profile = ProfileReport(df, title="Pandas Profiling Report")
profile.to_file("pandas_profile_report.html") # HTML파일을 생성!
 
2. sweetviz  

설치하기 

!pip install sweetviz
 
import sweetviz as sv

my_report = sv.analyze(df)
 
특징
타겟변수 없이 그릴수도잇고 타겟변수를 지정할수도 잇다
타겟변수는 범주형이 아닌 수치 , bool 값만 가능하다
데이터에 따라 수치형으로 되어있지만 동작하지 않을수도 있다
# my_report = sv.analyze(df, target_feat ='mpg')
my_report.show_html()

3. AutoBiz : https://github.com/AutoViML/AutoViz

 

bokeh 로 시각화 해주는 추상화된 도구 

설치방법 

!pip install autoviz
 
바이올린플롯, apnnel , heatmpas, pair_scatters , var_plots
 
 


06 수치형 변수 (오후)

--추후 정리!

 


판다스에서 전체 데이터프레임에 대한 정보를 출력해 주는 기능으로행과 열의 갯수와 인덱스 값의 범위, 전체 컬럼명, 데이터의 타입, 결측치를 제외한 빈도수, 메모리 사용량 등의 정보를 볼 수 있는 기능은 무엇일까요?

  • info()통해서는 데이터프레임의 전체적인 정보인 인덱스 값의 범위, 컬럼 정보, 각 컬럼별 빈도수, 데이터 타입, 메모리 사용량 등의 요약된 정보를 볼 수 있습니다.

데이터 프레임에서 결측치의 비율을 구해볼 수 있는 것

  • df.isnull().mean()

#결측치는 True, False 값을 가지게 되는데 True == 1, False == 0 과 같습니다. 따라서 이 값을 다 더해주면 결측치의 수가 되고 평균을 구하면 비율이 됩니다. 따라서 결측치의 비율을 구하려면 df.isnull().mean() 을 통해 구할 수 있습니다.

 


판다스의 describe()를 통해 알수 있는것은

ㄱ. 빈도수 'count'

ㄴ. 평균 'mean'

ㄷ. 표준편차 'std'

ㄹ.최솟값 'min'

ㅁ. 1사분위수(25%) '25%'

ㅂ. 2사분위수(50%, 중앙값) '50%' 

ㅅ.  3사분위수(75%)  '75%'

ㅇ.  최댓값 'max' 

 


수치형 데이터 시각화로 표로 되어 있는 도수 분포를 정보 그림으로 나타낸 것으로 bins의 개수에 따라 그래프의 모양이 달라질 수 있는것은? 

  • 히스토그램

박스플롯을 그렸을떄 알수있는것은

ㄱ.  중앙값, ㄴ .1사분위수 , ㄷ. 2사분위수 , ㄹ. 이상치 

알수없는것  = 평균

 


바이올린 플롯에 대한 설명

1. kdeplot 을 마주보게 표현한 시각화이다.

2. 밀도추정곡선을 통해 값의 분포를 알기 쉽다.

3. 박스플롯을 보완하기 위해 만들어졌다.

4. 밀도추정 방법에 따라 그래프의 모양이 달라질 수 있다.

 

알수없는것  = 평균 (중앙값은 알수있으나 평균은 모름)


lmplot에 대한 설명

1. 회귀선과 함께 scatterplot 의 서브플롯을 그려볼 수 있고 regplot을 함께 표현해볼 수 있는 그래프

2. hue 옵션이 있어 색상을 통해 범주형 변수와 함께 표현할 수 있다 (범주형 변수에 따라 다른 색상과 서브플롯으로 그려볼 수 있는 시각화 기능을 제공)

3. 두 변수 X, Y가 만나는 지점을 표시한다.

 

4. 막대그래프로는 표현 불가능


수치형 데이터의 서브플롯을 위한 relplot 에 대한 설명

1. 수치 데이터의 관계를 표현하기 위한 그래프를 서브플롯으로 그려주는 역할을 한다. 

2. kind를 통해 scatter, line 을 지정해 시각화 할 수 있다. 

3. hue는 색상을 의미하며 범주형 값에 따라 색상을 다르게 표현한다.

4. 연속된 수치데이터를 표현하기에 적합

 

끊어진 수치 변수를 표현하기에 적합하지않다

#(끊어진 수치 데이터를 표현할 수도 있지만 끊어진 수치데이터는 범주 데이터로 표현하는 것이 더 적합합니다.)

 

 


seaborn 의 시각화 중 회귀선의 잔차인 회귀선과 관측치의 떨어진 거리를 표현하기에 적합한 시각화는

residplot

#회귀선을 추정했을 때 회귀선과 관측치가 어느 정도 차이가 나는지를 표현하기에 적합합니다.


상관 분석과 관련된 설명

1, 상관 계수 값은 X 와 Y 가 완전히 동일하면 +1, 전혀 다르면 0, 반대방향으로 완전히 동일하면 –1 을 가진다.

2. 상관 계수는 1에 가까울수록 강한 양적 선형 관계를 가진다. 

3. 상관 계수는 -1에 가까울수록 강한 음적 선형 관계를 가진다

 

4. 상관 계수는 두 변수 간의 인과 관계를 설명하지 못한다 

#상관관계의 정도를 파악하는 상관 계수는 두 변수 간의 연관된 정도를 나타낼 뿐 인과 관계를 설명하는 것은 아니다!

 

 

 

728x90

댓글