58. ch07. sklearn - 비지도학습 - 04. 차원축소 - LDA - 62. ch07. sklearn - 비지도학습 - 08. 군집의 평가(실루엣스코어)
58. ch07. sklearn - 비지도학습 - 04. 차원축소 - LDA
LDA(Linear Discriminant Analysis): 선형 판별 분석법 (PCA와 유사)
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.preprocessing import StandardScaler
df.head()
lda = LinearDiscriminantAnalysis(n_components=2)
data_scaled = StandardScaler().fit_transform(df.loc[:, 'sepal length (cm)' : 'petal width (cm)'])
lda_data = lda.fit_transform(data_scaled, df['target'])
lda_data[:5]
시각화
plt.scatter(pca_data[:, 0], pca_data[:, 1], c=df['target'])
59. ch07. sklearn - 비지도학습 - 05. 차원축소 - SVD
상품의 추천 시스템에도 활용
특이값 분해기법
from sklearn.decomposition import TruncatedSVD
df.head()
data_scaled = StandardScaler().fit_transform(df.loc[:, 'sepal length (cm)' : 'petal width (cm)'])
svd = TruncatedSVD(n_components=2)
svd_data = svd.fit_transform(data_scaled)
시각화
plt.scatter(pca_data[:, 0], pca_data[:, 1], c=df['target'])
60. ch07. sklearn - 비지도학습 - 06. 군집화 - KMeans
스스로 분류
from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters=3)
cluster_data = kmeans.fit_transform(df.loc[:, 'sepal length (cm)' : 'petal width (cm)'])
cluster_data[:5]
kmeans.labels_
list(df['target'])
sns.countplot(kmeans.labels_)
sns.countplot(df['target'])
kmeans
kmeans = KMeans(n_clusters=3, max_iter=500)
cluster_data = kmeans.fit_transform(df.loc[:, 'sepal length (cm)' : 'petal width (cm)'])
sns.countplot(kmeans.labels_)
61. ch07. sklearn - 비지도학습 - 07. 군집화 - DBSCAN
DBSCAN
밀도 기반 클러스터링
from sklearn.cluster import DBSCAN
dbscan = DBSCAN(eps=0.6, min_samples=2)
dbscan_data = dbscan.fit_predict(df.loc[:, 'sepal length (cm)' : 'petal width (cm)']) 예측까지 한번에
dbscan_data
62. ch07. sklearn - 비지도학습 - 08. 군집의 평가(실루엣스코어)
클러스터링의 품질을 정량적으로 평가해 주는 지표
from sklearn.metrics import silhouette_samples, silhouette_score
score = silhouette_score(data_scaled, kmeans.labels_)
score
samples = silhouette_samples(data_scaled, kmeans.labels_)
samples[:5]
패스트캠퍼스 데이터분석 강의 링크
bit.ly/3imy2uN
카테고리 없음