1. 데이터 임포트 후 데이터프레임 형태로 바꾸기
# 라벨 있으면 군집은 웬만하면 안쓰는 게 좋다,
# 기본 모듈 임포트
# 모듈 임포트
import numpy as np
import pandas as pd
import sklearn
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings('ignore')
#파일 임포트
import os
from os.path import join
from sklearn.datasets import load_wine
# 메모리에 올리기
wine = load_wine()
# 와인 데이터 확인
print(wine.DESCR)
# 데이터 가져오기
data = wine.data
label = wine.target
columns = wine.feature_names
# 데이터 사용하기 쉽도록 pandas 데이터 형태로
data = pd.DataFrame(data, columns = columns)
data.head()
2. 전처리
# 데이터 전처리
# 1. 값이 너무 들쭉날쭉하니 min-max scaling으로 값을 맞춰주기
# 2. 데이터 항목 수 만큼 차원이 생기니 (차원은 높고 데이터 갯수는 172개로 적어 데이터의 밀도가 낮아 특성뽑기 힘들다)-차원의 축소
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
data = scaler.fit_transform(data)
# fit transform 이후 numpy 배열로 바뀜
data[:5]
#여전히 데이터 갯수는 적고 항목은 많다.
#그러니 차원의 축소 필요
from sklearn.decomposition import PCA
pca = PCA(n_components=2) # 차원의축소는 보통 2차원으로 많이 축소
data = pca.fit_transform(data)
# 확인
data[:5]
# 최종적으로 만들어진 데이터의 모양
data.shape
출력>
(178, 2)
'machine_learning' 카테고리의 다른 글
| 비지도 학습 Clustering(3) - Hierarchical Clustering (0) | 2023.05.01 |
|---|---|
| 비지도 학습 Clustering(2) - K-Means 모델 만들기 (0) | 2023.05.01 |
| sklearn_regression 3. Machine Learning Algorithm Based Regression (0) | 2023.04.28 |
| sklearn_regression 2. Linear regression (0) | 2023.04.28 |
| sklearn_regression 1. 예시용 당뇨병 데이터 정리 (0) | 2023.04.28 |