250x250
Link
๋‚˜์˜ GitHub Contribution ๊ทธ๋ž˜ํ”„
Loading data ...
Notice
Recent Posts
Recent Comments
๊ด€๋ฆฌ ๋ฉ”๋‰ด

Data Science LAB

[Python] PCA(Principal Component Analysis) ๋ณธ๋ฌธ

๐Ÿ›  Machine Learning/์ฐจ์› ์ถ•์†Œ

[Python] PCA(Principal Component Analysis)

ใ…… ใ…œ ใ…” ใ…‡ 2022. 3. 5. 19:47
728x90

PCA ๊ฐœ์š”

PCA(Principal Component Analysis)๋Š” ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์ฐจ์› ์ถ•์†Œ ๊ธฐ๋ฒ•์œผ๋กœ ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜ ๊ฐ„์— ์กด์žฌํ•˜๋Š” ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ์ด์šฉํ•ด ์ด๋ฅผ ๋Œ€ํ‘œํ•˜๋Š” ์ฃผ์„ฑ๋ถ„(Principal Component)๋ฅผ ์ถ”์ถœํ•ด ์ฐจ์›์„ ์ถ•์†Œํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. PCA ์ฐจ์› ์ถ•์†Œ๋กœ ์ธํ•œ ์ •๋ณด ์œ ์‹ค์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€์žฅ ๋†’์€ ๋ถ„์‚ฐ์„ ๊ฐ€์ง€๋Š” ๋ฐ์ดํ„ฐ์˜ ์ถ•์„ ์ฐพ์•„ ์ด ์ถ•์œผ๋กœ ์ฐจ์›์„ ์ถ•์†Œํ•œ๋‹ค. ์ด๊ฒƒ์ด PCA์˜ ์ฃผ์„ฑ๋ถ„์ด ๋˜๋Š”๋ฐ, ๋ถ„์‚ฐ์ด ๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ์„ ๊ฐ€์žฅ ์ž˜ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. 

 

 

์ถœ์ฒ˜ : https://laptrinhx.com/dimensionality-reduction-principal-component-analysis-359354885/

 

๋ฐ์ดํ„ฐ์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ดˆํ‰๋ฉด์„ ์ •์˜ํ•˜๊ณ , ์ด ์ดˆํ‰๋ฉด์— ๋ฐ์ดํ„ฐ๋ฅผ ํˆฌ์˜์‹œํ‚ค๋Š” ๊ฒƒ์ด๋‹ค.

ํˆฌ์˜์‹œ์ผฐ์„ ๋•Œ ๋ฐ์ดํ„ฐ์…‹๊ณผ์˜ ํ‰๊ท  ์ œ๊ณฑ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ์ž‘์€ ์ดˆํ‰๋ฉด์„ ์ฐพ๊ณ  ํˆฌ์˜ ์‹œํ‚ค๋Š” ๊ณผ์ •์„ ๊ทธ๋ฆผ์— ๋‚˜ํƒ€๋‚ด์—ˆ๋‹ค. 

PCA๋Š” ์ œ์ผ ๋จผ์ € ๊ฐ€์žฅ ๋ฐ์ดํ„ฐ ๋ณ€๋™์„ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ฒซ ๋ฒˆ์งธ ๋ฒกํ„ฐ ์ถ•์„ ์ƒ์„ฑํ•˜๊ณ , ๋‘ ๋ฒˆ์งธ ์ถ•์€ ์ด ๋ฒกํ„ฐ ์ถ•์— ์ง๊ฐ์ด ๋˜๋Š” ๋ฒกํ„ฐ๋ฅผ ์ถ•์œผ๋กœ ํ•œ๋‹ค. ์„ธ ๋ฒˆ์งธ ์ถ•์€ ๋‘ ๋ฒˆ์งธ ์ถ•๊ณผ ์ง๊ฐ์ด ๋˜๋Š” ๋ฒกํ„ฐ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ถ•์„ ์ƒ์„ฑํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋œ ๋ฒกํ„ฐ ์ถ•์— ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ํˆฌ์˜ํ•˜๋ฉด ๋ฒกํ„ฐ ์ถ•์˜ ๊ฐœ์ˆ˜๋งŒํผ์˜ ์ฐจ์›์œผ๋กœ ์›๋ณธ ๋ฐ์ดํ„ฐ๊ฐ€ ์ฐจ์› ์ถ•์†Œ๋œ๋‹ค. ์ฆ‰, ์›๋ณธ ๋ฐ์ดํ„ฐ์˜ ํ”ผ์ฒ˜ ๊ฐœ์ˆ˜์— ๋น„ํ•ด ๋งค์šฐ ์ž‘์€ ์ฃผ์„ฑ๋ถ„์œผ๋กœ ์›๋ณธ ๋ฐ์ดํ„ฐ์˜ ์ด ๋ณ€๋™์„ฑ์„ ๋Œ€๋ถ€๋ถ„ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ„์„๋ฒ•์ด๋‹ค.

์„ ํ˜•๋Œ€์ˆ˜ ๊ด€์ ์—์„œ ํ•ด์„ํ•ด ๋ณด๋ฉด, ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ(Covariance Matix)์„ ๊ณ ์œ ๊ฐ’ ๋ถ„ํ•ดํ•˜๊ณ , ์ด๋ ‡๊ฒŒ ๊ตฌํ•œ ๊ณ ์œ  ๋ฒกํ„ฐ์— ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํ˜• ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด ๊ณ ์œ ๋ฒกํ„ฐ๊ฐ€ PCA์˜ ์ฃผ์„ฑ๋ถ„ ๋ฒกํ„ฐ๋กœ์„œ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ๋ถ„์‚ฐ์ด ํฐ ๋ฐฉํ–ฅ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๊ณ ์œ ๊ฐ’(eigenvalue)์€ ๋ฐ”๋กœ ์ด ๊ณ ์œ ๋ฒกํ„ฐ์˜ ํฌ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ๋™์‹œ์— ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ๋ถ„์‚ฐ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. 

๋ณดํ†ต ๋ถ„์‚ฐ์€ ํ•œ ๊ฐœ์˜ ํŠน์ •ํ•œ ๋ณ€์ˆ˜์˜ ๋ฐ์ดํ„ฐ ๋ณ€๋™์„ ์˜๋ฏธํ•˜์ง€๋งŒ, ๊ณต๋ถ„์‚ฐ์€ ๋‘ ๋ณ€์ˆ˜ ๊ฐ„์˜ ๋ณ€๋™์„ ์˜๋ฏธํ•œ๋‹ค. ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ์€ ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜์™€ ๊ด€๋ จ๋œ ๊ณต๋ถ„์‚ฐ์„ ํฌํ•จํ•˜๋Š” ์ •๋ฐฉํ˜• ํ–‰๋ ฌ์ด๋‹ค. 

  X Y Z
X 3 -0.71 -0.24
Y -0.71 4.5 0.28
Z -0.24 0.28 0.91

 ์œ„์˜ ํ‘œ ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ์—์„œ ๋Œ€๊ฐ์„  ์›์†Œ๋Š” ๊ฐ ๋ณ€์ˆ˜(X,Y,Z)์˜ ๋ถ„์‚ฐ์„ ์˜๋ฏธํ•˜๋ฉฐ, ๋Œ€๊ฐ์„  ์ด์™ธ์˜ ์›์†Œ๋Š” ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋ณ€์ˆ˜ ์Œ ๊ฐ„์˜ ๊ณต๋ถ„์‚ฐ์„ ์˜๋ฏธํ•œ๋‹ค. X,Y,Z์˜ ๋ถ„์‚ฐ์€ ๊ฐ๊ฐ 3, 4.5,0.91์ด๋ฉฐ X์™€ Y์˜ ๊ณต๋ถ„์‚ฐ์€  -0.71, X์™€ Z์˜ ๊ณต๋ถ„์‚ฐ์€ 0.91, Y์™€ Z์˜ ๊ณต๋ถ„์‚ฐ์€ 0.28์ด๋‹ค. 

๊ณ ์œ ๋ฒกํ„ฐ๋Š” ํ–‰๋ ฌ A๋ฅผ ๊ณฑํ•˜์—ฌ๋„ ๋ฐฉํ–ฅ์ด ๋ณ€ํ•˜์ง€ ์•Š๊ณ  ํฌ๊ธฐ๋งŒ ๋ณ€ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์ฆ‰, Ax = ax(A๋Š” ํ–‰๋ ฌ, x๋Š” ๊ณ ์œ ๋ฒกํ„ฐ, a๋Š” ์Šค์นผ๋ผ ๊ฐ’)์ด๋‹ค. ์ด ๊ณ ์œ  ๋ฒกํ„ฐ๋Š” ์—ฌ๋Ÿฌ๊ฐœ๊ฐ€ ์กด์žฌํ•˜๋ฉฐ, ์ •๋ฐฉ ํ–‰๋ ฌ์€ ์ตœ๋Œ€ ๊ทธ ์ฐจ์› ์ˆ˜ ๋งŒํผ์˜ ๊ณ ์œ  ๋ฒกํ„ฐ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ์€ ์ •๋ฐฉํ–‰๋ ฌ ์ด๋ฉฐ ๋Œ€์นญํ–‰๋ ฌ์ด๋‹ค. ์ •๋ฐฉํ–‰๋ ฌ์€ ์—ด๊ณผ ํ–‰์ด ๊ฐ™์€ ํ–‰๋ ฌ์„ ์ง€์นญํ•˜๋ฉฐ, ์ •๋ฐฉํ–‰๋ ฌ ์ค‘์—์„œ ๋Œ€๊ฐ ์›์†Œ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ์›์†Œ ๊ฐ’์ด ๋Œ€์นญ๋˜๋Š” ํ–‰๋ ฌ์„ ๋Œ€์นญํ–‰๋ ฌ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ์€ ๊ฐœ๋ณ„ ๋ถ„์‚ฐ ๊ฐ’์„ ๋Œ€๊ฐ ์›์†Œ๋กœ ํ•˜๋Š” ๋Œ€์นญ ํ–‰๋ ฌ์ด๋ฉฐ ํ•ญ์ƒ ๊ณ ์œ ๋ฒกํ„ฐ๋ฅผ ์ง๊ตํ–‰๋ ฌ๋กœ, ๊ณ ์œ ๊ฐ’์„ ์ •๋ฐฉ ํ–‰๋ ฌ๋กœ ๋Œ€๊ฐํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

ei๋Š” i๋ฒˆ์งธ ๊ณ ์œ ๋ฒกํ„ฐ, λ๋Š” ๊ณ ์œ ๋ฒกํ„ฐ์˜ ํฌ๊ธฐ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. 

e1์€ ๊ฐ€์žฅ ๋ถ„์‚ฐ์ด ํฐ ๋ฐฉํ–ฅ์„ ๊ฐ€์ง„ ๊ณ ์œ ๋ฒกํ„ฐ์ด๋ฉฐ, e2๋Š” e1์— ์ˆ˜์ง์ด๋ฉด์„œ ๋‹ค์Œ์œผ๋กœ ๊ฐ€์žฅ ๋ถ„์‚ฐ์ด ํฐ ๋ฐฉํ–ฅ์„ ๊ฐ€์ง„ ๊ณ ์œ ๋ฒกํ„ฐ์ด๋‹ค. 

์ฆ‰, ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ์ด ๊ณ ์œ ๋ฒกํ„ฐ์™€ ๊ณ ์œ ๊ฐ’์œผ๋กœ ๋ถ„ํ•ด๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ ‡๊ฒŒ ๋ถ„ํ•ด๋œ ๊ณ ์œ ๋ฒกํ„ฐ๋ฅผ ์ด์šฉํ•ด ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํ˜• ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ์‹์ด PCA์ด๋‹ค. 

1. ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ์…‹์˜ ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ ์ƒ์„ฑ
2. ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ์˜ ๊ณ ์œ ๋ฒกํ„ฐ์™€ ๊ณ ์œ ๊ฐ’ ๊ณ„์‚ฐ
3. ๊ณ ์œ ๊ฐ’์ด ํฐ ์ˆœ์œผ๋กœ K๊ฐœ(PCA ๋ณ€ํ™˜ ์ฐจ์ˆ˜)๋งŒํผ ๊ณ ์œ ๋ฒกํ„ฐ ์ถ”์ถœ
4. ๊ณ ์œ ๊ฐ’์ด ํฐ ์ˆœ์œผ๋กœ ์ถ”์ถœ๋œ ๊ณ ์œ ๋ฒกํ„ฐ๋ฅผ ์ด์šฉํ•ด ์ƒˆ๋กญ๊ฒŒ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜

์œ„์˜ ์ˆœ์„œ๋Œ€๋กœ PCA๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค. 

 

 

 

์˜ˆ์ œ

4๊ฐœ์˜ ์†์„ฑ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ iris ๋ฐ์ดํ„ฐ๋ฅผ 2๊ฐœ์˜ ์ฐจ์›์œผ๋กœ ์••์ถ•

๋ฐ์ดํ„ฐ ๋กœ๋”ฉ

from sklearn.datasets import load_iris
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline

iris = load_iris()
columns = ['sepal_length','sepal_width','petal_length','petal_width']
iris_df = pd.DataFrame(iris.data,columns=columns)
iris_df['target'] = iris.target
iris_df.head()

 

 

 

 

2์ฐจ์›์œผ๋กœ ํ’ˆ์ข… ๋ฐ์ดํ„ฐ ๋ถ„ํฌ ํ™•์ธ

markers=['^','s','o']

#setosa์˜ target๊ฐ’์€ 0, versicolor๋Š” 1, virginica๋Š”2
#๊ฐ ํƒ€๊ฒŸ๋ณ„๋กœ ๋‹ค๋ฅธ๋ชจ์–‘์œผ๋กœ ํ‘œ์‹œ

for i,marker in enumerate(markers):
    x_axis_data = iris_df[iris_df['target'] == i]['sepal_length']
    y_axis_data = iris_df[iris_df['target'] == i]['sepal_width']
    plt.scatter(x_axis_data,y_axis_data,marker = marker, label = iris.target_names[i])
    
plt.legend()
plt.xlabel('sepal length')
plt.ylabel('sepal width')
plt.show()

๊ฐ ํ’ˆ์ข…์— ๋”ฐ๋ผ ์›๋ณธ ๋ถ“๊ฝƒ ๋ฐ์ดํ„ฐ์…‹์ด ์–ด๋–ป๊ฒŒ ๋ถ„ํฌ๋˜์–ด ์žˆ๋Š”์ง€ 2์ฐจ์›์œผ๋กœ ์‹œ๊ฐํ™”

 

 

 

StandardScaler๋กœ ์Šค์ผ€์ผ ๋ณ€ํ™˜

from sklearn.preprocessing import StandardScaler

iris_scaled = StandardScaler().fit_transform(iris_df.iloc[:,:-1])

PCA๋Š” ์—ฌ๋Ÿฌ ์†์„ฑ์˜ ๊ฐ’์„ ์—ฐ์‚ฐํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์†์„ฑ์˜ ์Šค์ผ€์ผ์— ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋‹ค. ๋”ฐ๋ผ์„œ PCA ์••์ถ• ์ „์— ๊ฐ ์†์„ฑ๊ฐ’์„ ๋™์ผํ•œ ์Šค์ผ€์ผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค. 

 

 

 

 

2์ฐจ์›์˜ PCA๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜

from sklearn.decomposition import PCA

pca = PCA(n_components = 2)
iris_pca = pca.fit_transform(iris_scaled)
print(iris_pca.shape)

2์ฐจ์›์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ ์ž ํ•˜๋ฏ€๋กœ n_components = 2๋กœ ์„ค์ •ํ•˜์˜€๋‹ค. 

 

pca ๋ณ€ํ™˜๋œ ๋ฐ์ดํ„ฐ์˜ ์ปฌ๋Ÿผ ๋ช…์„ ๊ฐ๊ฐ pca_component1,2๋กœ ๋ช…๋ช…

pca_columns = ['pca_component_1','pca_component_2']
iris_df_pca = pd.DataFrame(iris_pca,columns=pca_columns)
iris_df_pca['target'] = iris.target
iris_df_pca.head()

 

 

 

 

2๊ฐœ ์†์„ฑ์œผ๋กœ ๋ณ€ํ™˜๋œ ๋ฐ์ดํ„ฐ์…‹ 2์ฐจ์›์ƒ์— ์‹œ๊ฐํ™”

markers = ['^','s','o']

#pca_compontent_1์ด x์ถ•, pca_component_2๊ฐ€ y์ถ•
for i, marker in enumerate(markers):
    x_axis_data = iris_df_pca[iris_df_pca['target'] == i]['pca_component_1']
    y_axis_data = iris_df_pca[iris_df_pca['target'] == i]['pca_component_2']
    plt.scatter(x_axis_data,y_axis_data,marker=marker,label = iris.target_names[i])
    

    
plt.legend()
plt.xlabel('pca_component_1')
plt.ylabel('pca_component_2')
plt.show()

 

๋ถ„์„์„ ํŽธ๋ฆฌํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ PCA ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์„ ๋”ฐ๋กœ ์ƒ์„ฑํ•˜์—ฌ, ์ฃผ์„ฑ๋ถ„1, ์ฃผ์„ฑ๋ถ„2, ํƒ€๊นƒ ์ปฌ๋Ÿผ์œผ๋กœ ๊ตฌ์„ฑํ•˜์˜€๋‹ค. 

 

 

์ „์ฒด ๋ณ€๋™์„ฑ์—์„œ ๊ฐœ๋ณ„ PCA ์ปดํฌ๋„ŒํŠธ๋ณ„๋กœ ์ฐจ์ง€ํ•˜๋Š” ๋ณ€๋™์„ฑ ๋น„์œจ ์ œ๊ณต

print(pca.explained_variance_ratio_)

explained_variance_ration_์†์„ฑ์€ ์ „์ฒด ๋ณ€๋™์„ฑ์—์„œ ๊ฐœ๋ณ„ PCA ์ปดํฌ๋„ŒํŠธ ๋ณ„๋กœ ์ฐจ์ง€ํ•˜๋Š” ๋ณ€๋™์„ฑ ๋น„์œจ์„ ์ œ๊ณตํ•œ๋‹ค. 

์ฒซ ๋ฒˆ์งธ PCA ๋ณ€ํ™˜ ์š”์†Œ์ธ pca_component_1์€ ์ „์ฒด ๋ณ€๋™์„ฑ์˜ ์•ฝ 72.9%๋ฅผ ์ฐจ์ง€ํ•˜๋ฉฐ ๋‘ ๋ฒˆ์งธ์ธ pca_component_2๋Š” ์•ฝ 22.8%๋ฅผ ์ฐจ์ง€ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ PCA๋ฅผ 2๊ฐœ ์š”์†Œ๋กœ๋งŒ ์••์ถ•ํ•˜์—ฌ๋„ ์›๋ณธ ๋ฐ์ดํ„ฐ์˜ ์•ฝ 95%๋ฅผ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

 

 

๋žœ๋คํฌ๋ ˆ์ŠคํŠธ ์ ์šฉ

from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import cross_val_score
import numpy as np

rf = RandomForestClassifier(random_state = 156)
scores = cross_val_score(rf,iris.data,iris.target,scoring='accuracy',cv=3)
print('์›๋ณธ ๋ฐ์ดํ„ฐ ๊ต์ฐจ ๊ฒ€์ฆ ์ •ํ™•๋„ : ',scores)
print('์›๋ณธ ๋ฐ์ดํ„ฐ ํ‰๊ท  ์ •ํ™•๋„ : ',np.mean(scores))

 

 

 

#2์ฐจ์› PCA ๋ณ€ํ™˜ ๋ฐ์ดํ„ฐ์…‹์— ์ ์šฉ
pca_X = iris_df_pca[['pca_component_1','pca_component_2']]
scores_pca = cross_val_score(rf,pca_X,iris.target,scoring='accuracy',cv=3)
print('PCA ๋ณ€ํ™˜ ๋ฐ์ดํ„ฐ ๊ต์ฐจ ๊ฒ€์ฆ ์ •ํ™•๋„ : ',scores_pca)
print('PCA ๋ณ€ํ™˜ ๋ฐ์ดํ„ฐ ํ‰๊ท  ์ •ํ™•๋„ : ',np.mean(scores_pca))

 

์›๋ณธ ๋ฐ์ดํ„ฐ์…‹ ๋Œ€๋น„ ์˜ˆ์ธก ์ •ํ™•๋„๋Š” PCA ๋ณ€ํ™˜ ์ฐจ์› ๊ฐœ์ˆ˜์— ๋”ฐ๋ผ ์˜ˆ์ธก ์„ฑ๋Šฅ์ด ๋–จ์–ด์งˆ ์ˆ˜ ๋ฐ–์— ์—†๋‹ค. 4๊ฐœ์˜ ์†์„ฑ์ด 2๊ฐœ์˜ ๋ณ€ํ™˜ ์†์„ฑ์œผ๋กœ ๊ฐ์†Œํ•˜๋ฉด์„œ ์˜ˆ์ธก ์„ฑ๋Šฅ์˜ ์ •ํ™•๋„๊ฐ€ 10%ํ•˜๋ฝํ•˜์˜€๋‹ค. 4๊ฐœ์˜ ์†์„ฑ์—์„œ 2๊ฐœ์˜ ์†์„ฑ์œผ๋กœ 50%๊ฐ์†Œํ•œ ๊ฒƒ์„ ๊ฐ์ˆ˜ํ•˜๋ฉด, ์ •ํ™•๋„๋ฅผ ์ƒ๋‹นํžˆ ์ž˜ ์œ ์ง€ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

 

 

 

 

 

728x90

'๐Ÿ›  Machine Learning > ์ฐจ์› ์ถ•์†Œ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Python]NMF  (0) 2022.03.08
[Python] SVD(Singular Value Decomposition)  (0) 2022.03.07
[Python] LDA(Linear Discriminant Analysis)  (0) 2022.03.07
[Python] PCA ์˜ˆ์ œ  (0) 2022.03.06
Comments