데이터분석

# 중급 02. seaborn dataset(iris, anscombe)

책다니엘 2024. 3. 23. 06:56

1. iris데이터는 머신러닝의 수학의 정석 챕터 1. 행렬과 같은 것이다. 다만 여기서는 머신러닝 측면에서 iris데이터를 다루지 않는다. 

iris는 붓꽃이라는 꽃의 데이터이다. 이 데이터셋은 세 종류의 꽃(Setosa, Versicolor, Virginica)의 
꽃받침 길이(Sepal Length), 꽃받침 너비(Sepal Width), 꽃잎 길이(Petal Length), 꽃잎 너비(Petal Width)를 기록한 총 150개의 샘플로 구성되어 있다. 이 데이터셋은 데이터 과학 및 기계 학습 분야에서 데이터 분석, 분류, 군집화, 회귀 등 다양한 작업을 수행하기 위해 활용된다. 종종 새로운 기계 학습 모델을 테스트하고 평가하는 데 사용되며, 데이터 시각화 및 탐색적 데이터 분석(EDA)에도 자주 활용된다.

 

2. sns.pairplot(iris)명령어를 통해 다수의 컬럼을 비교할 수 있다. 특성별로 상관관계를 바로 파악한다.

 

3. hue='species'를 넣어주면 더 확실하고 아름답게 비교해준다.

아름다워라!

 

4. 원하는 컬럼만 pairplot해줄 수도 있다.

 

5. anscombe라는 데이터셋도 있다.

Anscombe 데이터셋은 데이터 분석과 통계학에서 사용되는 유명한 예제 중 하나이다. 이 데이터셋은 각각 11개의 관측값을 포함하는 4개의 데이터 그룹으로 구성되어 있다. 이 그룹은 모든 통계적 특성이 동일하게 나타나는 것으로 알려진 네 개의 서로 다른 데이터 그룹입니다.
Anscombe는 데이터를 시각화하지 않고 단일 통계 지표만 사용하여 데이터를 해석하는 것이 얼마나 위험한지를 보여주기 위한 것이다. 이를 통해 데이터 분석가들이 데이터를 시각화하고 통계적 특성을 탐색하는 중요성을 강조하고자 합니다.

위 데이터를 시각화하여
이렇게 시각화한다. 매개변수 중 dataset=='I'는 일차식만 시각화한 것을 나타낸다.
scatter_kws={'s':80}으로 점의 크기를 키워 주었다.


이번엔 두번째 데이터셋이다. 이차식을 나타낸 것이다.
점의 분포에 비해 직선이 이상하게 나타난다. 이차식을 직선으로 나타낼 순 없다. 이럴 때는
이렇게 order=2라는 매개변수를 추가해주면
그래프가 알맞게 곡선으로 나타난다!


이번엔 3형 데이터셋이다.
단순 시각화하면 이렇게 나타난다. 보면 혼자 튀는 데이터(이상치) 하나가 있다. 저 이상치 데이터 하나 때문에 선형회귀선의 기울기 자체가 변화한다. 이는 데이터를 명확하게 파악할 수 없게 만든다.
이때 robust=True 매개변수를 넣어주면
곡선이 이상치를 제외하고 표시된다.

* robust=True(로버스트 회귀)옵션을 사용하려면 statsmodels 라이브러리가 필요하다. 개인적으로 사용하는 가상환경(작성자같은 경우에는 ds_study)에서 pip install statsmodels를 통해 모듈을 설치해줘야 정상적으로 표시된다.