<* sklearn 다양한 데이터셋 *>
◆ sklearn.dataset에서 제공되는 데이터 셋들이 있다.
◆ Scikit-learn 라이브러리는 파이썬의 머신러닝 라이브러리 중 하나인 분류, 회귀분석, 군집화, 의사결정나무 등의
다양한 머신러닝 알고리즘을 적용할 수 있는 다양한 데이터셋이 있다.
[ 1 ] 사이킷런의 데이터 셋
사이킷 런에서 제공되는 데이터 셋
---<사이킷 런에서 제공되는 데이터 셋 >-----------------------------
# 붓꽃데이터
from sklearn.datasets import load_iris
iris = load_iris()
print(iris.DESCR)
#와인데이터
from sklearn.datasets import load_wine
wine = load_wine()
print(wine.DESCR)
#유방암 진단 데이터
from sklearn.datasets import load_breast_cancer
cancer = load_breast_cancer()
print(cancer.DESCR)
#대표 수종데이터
from sklearn.datasets import fetch_covtype
covtype = fetch_covtype()
print(covtype.DESCR)
#뉴스그룹 텍스터 데이터
from sklearn.datasets import fetch_20newsgroups
newsgroups = fetch_20newsgroups(subset='all')
print(newsgroups.DESCR)
#로이터 말뭉치
from sklearn.datasets import fetch_rcv1
rcv = fetch_rcv1()
print(rcv.DESCR)
#숫자필기 이미지 데이터
from sklearn.datasets import load_digits
digits = load_digits()
print(digits.DESCR)
#올리베티 얼굴 사진 데이터
from sklearn.datasets import fetch_olivetti_faces
olivetti = fetch_olivetti_faces()
print(olivetti.DESCR)
----------------------------------------------------------------
[ 2 ] 사이킷런의 데이터 구조
sklearn.utils.Bunch 라는 자료구조를 활용하는데, 사전(dict)형 타입과 유사한 구조인 key-value 형식으로
구성되어 있다.
--------------공통된 key --------------------------------------------
data: Numpy 배열로 구성된 데이터
target: Label 데이터로 Numpy 배열임
feature_names: Feature 데이터의 이름
target_names: Label 데이터의 이름
DESCR: 데이터 셋의 설명
filename: 데이터 셋의 파일 저장 위치 (csv)
---------------------------------------------------------------------
iris데이터 셋 불러오고 DESCR , data키, feature_names 등을 사용하기
---------------------------------------------------------------------------
from sklearn import datasets
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
[ 3 ] 사이킷런의 데이터프레임 구조
iris데이터셋을 데이터프레임 구조로 변경하였고, 분석에 사용할 iris 데이터셋(df)을 이용하여
Sepal Length와 Sepal Width의 산점도를 시각화한다.
산점도 결과 target(붓꽃 종)별로 구분된다는 것을 확인할 수 있다.
------------------------------------------------------------------------------------------------------------
plt.figure(figsize=(10,7))
sns.scatterplot(x=df['sepal length (cm)'], y=df['sepal width (cm)'], hue=df['target'], palette="muted")
plt.title('Scatter plot by target')
-------------------------------------------------------------------------------------------------------------