import numpy as np
from sklearn.datasets import make_blobs
from sklearn.preprocessing import QuantileTransformer, PowerTransformer, StandardScaler
import matplotlib.pyplot as plt
import matplotlib
x,y=make_blobs(
n_samples=50, #데이터가 50개로 줄어든다
centers=2, #클러스터(군집)의 중심점 갯수. 즉 클러스터의 갯수 / y의 라벨이라고 할수도 있다.
cluster_std = 1, #클러스터의 표준편차
random_state=337
)
#가우시안 정규분포 기준으로 만든 샘플
plt.rcParams['font.family'] = 'Malgun Gothic' #폰트 변환하는 두가지 방법
fig, ax = plt.subplots(2, 2, figsize=(12,8))
ax[0,0].scatter(x[:,0], #모든 행의 0번재 열
x[:,1],
c=y,
edgecolors='black')
ax[0,0].set_title('오리지날')
# plt.show()
scaler = QuantileTransformer(n_quantiles=50)
x_trans = scaler.fit_transform(x)
ax[0,1].scatter(x_trans[:,0], #모든 행의 0번재 열
x_trans[:,1],
c=y,
edgecolors='black')
ax[0,1].set_title(type(scaler).__name__)
scaler = PowerTransformer()
x_trans = scaler.fit_transform(x)
ax[1,0].scatter(x_trans[:,0], #모든 행의 0번재 열
x_trans[:,1],
c=y,
edgecolors='black')
ax[1,0].set_title(type(scaler).__name__)
scaler = StandardScaler()
x_trans = scaler.fit_transform(x)
ax[1,1].scatter(x_trans[:,0], #모든 행의 0번재 열
x_trans[:,1],
c=y,
edgecolors='black')
ax[1,1].set_title(type(scaler).__name__)
plt.show()