๋ชฉํ
- Scree plot์ ์๋ฏธ
- Supervised learning(์ง๋ํ์ต)๊ณผ Unsupervised learning(๋น์ง๋ํ์ต)์ ๋ํ ์ดํด(์ฐจ์ด์ ๋ํ ์ดํด)
- Kmeans clustering์ ๋ํ ์ดํด
Scree Plot
Machine Learning
์ง๋ ํ์ต(Supervised learning)
ํธ๋ ์ด๋ ๋ฐ์ดํฐ์ ๋ผ๋ฒจ(๋ต)์ด ์์ ๋ ์ฌ์ฉํ๋ค.
- ๋ถ๋ฅ(Classification)
๋ถ๋ฅ ์๊ณ ๋ฆฌ์ฆ์ ์ฃผ์ด์ง ๋ฐ์ดํฐ์ ์นดํ ๊ณ ๋ฆฌ ํน์ ํด๋์ค ์์ธก์ ์ํด ์ฌ์ฉ
- ํ๊ท(Regression ; prediction)
ํ๊ท ์๊ณ ๋ฆฌ์ฆ์ continuousํ ๋ฐ์ดํฐ๋ฅผ ๋ฐํ์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ์์ธกํ๊ธฐ ์ํด ์ฌ์ฉ
๋น์ง๋ ํ์ต(Unsupervised learning)
๋ผ๋ฒจ๋ง์ด ๋์ด์์ง์์ ๊ฒฝ์ฐ ์ฌ์ฉ, ๋ฐ์ดํฐ์ ํน์ฑ์ ํ ๋๋ก ์์์ ๋ผ๋ฒจ๋ง
- ๊ตฐ์งํ(Clustering)
๋ฐ์ดํฐ์ feature๋ค์ ์ฐ๊ด์ฑ์ ๋ฐํ์ผ๋ก ์ ์ฌํ ๊ทธ๋ฃน์ ์์ฑํ๋ค.
๊ฐํ ํ์ต(Reinforcement learning)
๋จธ์ ๋ฌ๋์ ํ ํํ๋ก, ๊ธฐ๊ณ๊ฐ ์ํ ํ๋์ ๋ํด์๋ ๋ณด์(๋ง ๋ฌด์จ ์ ๋ฌผ์ ๋ฐ๋ ๊ฒ ์๋๋ผ, ๋ ์ ๋ง์ถ ํ๋ผ๋ฏธํฐ์ ๊ฐ์ค์น๋ฅผ ์ฃผ๋ ํ์)/ ๊ทธ๋ ์ง ์์ ํ๋์๋ ์ฒ๋ฒ(ํ๋ผ๋ฏธํฐ์ ๋ํ ๊ฐ์ค์น ๋ฎ์ถ๊ธฐ)๊ณผ ๊ฐ์ ํผ๋๋ฐฑ์ ํตํด์ ํ๋์ ๋ํด ํ์ตํด ๋๊ฐ๋ ๋ฐฉ๋ฒ
์ด ์ธ์๋ ์ ๋ง ๋ค์ํ ๋จธ์ ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ์ด ์๋ค.
Clustering(๊ตฐ์งํ)์ ๋ํด ์ข๋ ์์ธํ ์์๋ณด์!
๋ชฉ์
- ์ฃผ์ด์ง ๋ฐ์ดํฐ๋ค์ด ์ผ๋ง๋, ์ด๋ป๊ฒ ์ ์ฌํ์ง
- ์ฃผ์ด์ง ๋ฐ์ดํฐ์ ์ ์์ฝ/์ ๋ฆฌํ๋๋ฐ ์์ด์ ๋งค์ฐ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ
- ํ์ง๋ง ์ ๋ต์ ๋ณด์ฅํ์ง ์๋๋ค๋ ์ด์๋ก ์ค์ ์์ธก์ ์ํ ๋ชจ๋ธ๋ง์ ์ฐ์ด๊ธฐ๋ณด๋ค๋ EDA๋ฅผ ์ํ ๋ฐฉ๋ฒ์ผ๋ก ๋ง์ด ์ฐ์ธ๋ค.(๋ฐ์ดํฐ์ ์ ์์ฝ ํน์ ์๊ฐํ) ๋๋, ์ง๋ํ์ต์ ํ๊ธฐ ์ํด labeling์ ํ ๋๋ ์ฌ์ฉํ๋ค.
์ข ๋ฅ
Hierarchical(๊ณ์ธต์ ์ผ๋ก, ๋จ๊ณ์ ์ผ๋ก)
- Agglomerative : ๊ฐ๋ณ ํฌ์ธํธ์์ ์์ ํ ์ ์ ํฌ๊ฒ ํฉ์ณ๊ฐ๋ค.(์์ ๋จ์๋ถํฐ ์์ํด์ ์ ์ ๋ญ์น๋ค.)
- Divisive : 1๊ฐ์ ํฐ cluster์์ ์ ์ ์์ cluster๋ก ๋๋์ด์ ธ ๊ฐ๋ค.(ํฐ ๋จ์์์ ์ ์ ์ชผ๊ฐ ๋ค.)
Point Assignment(ํด๋ฌ์คํฐ ์๋ฅผ ์ ํ๊ณ ํ๋์ฉ ํด๋ฌ์คํฐ์ ํฌ์ธํธ)
- ์์ ์, ๊ตฐ์ง ๊ฐ์๋ฅผ ์ ํ๊ณ ๊ตฐ์ง์ ๋ฐ์ดํฐ๋ค์ ํ๋์ฉ ๋ฐฐ์ ํ๋ค.
๊ตฐ์งํ : Hard vs Soft
Hard : ๋ฐ์ดํฐ๊ฐ ํ๋์ ๊ตฐ์ง์๋ง ํ ๋น๋๋ ๊ฒ
Soft : ๋ฐ์ดํฐ๊ฐ ์ฌ๋ฌ ๊ตฐ์ง์ ๋์ ํ ๋น ๊ฐ๋ฅ
์ฌ์ค์ ๊ตฐ์งํ๋ ๋ณดํต Hard ๋ฅผ ์๋ฏธํ๋ค.
TIp
PCA์ Clustering์ ๋ฐ๋์ ์ฐ๊ณํด์ ์ฌ์ฉํ ํ์๋ ์์ผ๋ PCA๋ก ์ ์ฒ๋ฆฌ(๋ณ์๋ฅผ ์ค์ด๊ณ )ํ๊ณ ๊ตฐ์งํ๋ฅผ ํตํด ๋ถ๋ฅํด์ ์๊ฐํํ๋ค.
K-Means Clustering
์์ 'point assignment' ๋ฐฉ์ ์ค ํ๋๋ก, k๋ '๊ตฐ์งํ ๊ฐ์', means๋ '๊ธฐ์ค ์ ์ ์ก๋ ๋ฐฉ๋ฒ, ์ฆ ํ๊ท ์ ํตํด์ ๊ธฐ์ค ์ก์'
๊ณผ์
- k๊ฐ์ ๋๋คํ ๋ฐ์ดํฐ๋ฅผ ๊ตฐ์ง์ ์ค์ฌ์ ์ผ๋ก ์ค์
- ํด๋น ๊ตฐ์ง ๊ทผ์ฒ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ตฐ์ง์ผ๋ก ํ ๋น
- ๋ณ๊ฒฝ๋ ๊ตฐ์ง์ ๋ํด์ ์ค์ฌ์ ์ ์๋ก ๊ณ์ฐ
- ๊ตฐ์ง์ ์ ์๋ฏธํ ๋ณํ๊ฐ ์์ ๋๊น์ง 2-3์ ๋ฐ๋ณตํ๋ค.
๊ตฐ์งํ ์งํํ๊ณ ์ค์ฌ์ ์ก๋ python ์ฝ๋๋ ๋ฐ๋ก ์ฐธ๊ณ ํ๊ธฐ
Scikitlearn์ ํตํ K-means
๊ฐ๋จ ์์
from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters = 3)
kmeans.fit(df)
labels = kmeans.labels_
print(labels)
K-means์์ K๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐฉ๋ฒ
- The Eyeball Method(๋๋์ค) : ์ฌ๋์ ์ฃผ๊ด์ ์ธ ํ๋จ์ ํตํด ์์๋ก ์ง์ (์ด๋์ ๋ ๋ฐ์ดํฐ์ ๋ํ ๋๋ฉ์ธ ์ง์์ด ํ์)
- Metrics(์ธก์ ) : ์ด๋์ ๋ ๊ฐ๊ด์ ์ธ ์งํ๋ฅผ ์ค์ ํ์ฌ ์ต์ ํ๋ K๋ฅผ ์ ํ ex) Elbow method
Elbow method
๊ฐ๋จ ์์
sum_of_squared_distances = []
K = range(1, 15)
for k in K:
km = KMeans(n_clusters = k)
km = km.fit(df)
sum_of_squared_distances.append(km.inertia_)
plt.plot(K, sum_of_squared_distances, 'bx-')
plt.xlabel('k')
plt.ylabel('Sum_of_squared_distances')
plt.title('Elbow Method For Optimal k')
plt.show()
๋์ถฉ k=3 ๋ถํฐ ํฐ ์ฐจ์ด๊ฐ ์๊ธฐ ๋๋ฌธ์ k=3์ผ๋ก ํ๋จํ ์ ์๋ค.
์๋ฒฝํ ์๊ณ ๋ฆฌ์ฆ์ ์๋ค.
- K-Means ๋ง๊ณ ๋ ๊ต์ฅํ ๋ง์ ๊ตฐ์งํ ์๊ณ ๋ฆฌ์ฆ๋ค์ด ์์ผ๋ฉฐ ๊ฐ์ ํ๊ณ ์ ํ๋ ๋ฌธ์ ์ ๋ํด ์ต์ ํ ๋์ด์๋ค.
- ๋ฌธ์ ํด๊ฒฐ์ ์ํ ์ฌ๋ฌ ๋ฐฉ๋ฒ์ด ์์ง๋ง ๊ฐ๊ฐ ์ฅ๋จ์ ์ด ์๋ค. ๋ฐ๋ผ์ ๋ ๋ง์, ๋ค์ํ ๋ฐฉ๋ฒ๋ค์ ์๋ํด๋ณด๊ณ ๋ค์ํ ๋ฌธ์ ์ ๋ต์ ์ค ์ ์๋๋ก ๊ณ์ ๊ณต๋ถํด์ผํ๋ค.
- ๋ค์ํ ๋ฐฉ๋ฒ๋ค์ ์ ํํ๋ ์ต์ ์ ๊ธฐ์ค์ ๋ฐ์ดํฐ์ ํน์ฑ์ด๋ค. ์ฆ, ๋ฐ์ดํฐ์ ๋ํ ์ดํด(๋๋ฉ์ธ ์ง์)์ด ์์ผ๋ฉด, ๋ ํ์ํ๊ณ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ ์ ์ฉํ ์ ์๋ค.
'๐ฟ Data > ๋ถํธ์บ ํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL]21.Session ๋ณต์ต (0) | 2021.12.16 |
---|---|
[TIL]15.์ค์ฑ3 (0) | 2021.12.08 |
[TIL]13.High Dimensional Data (0) | 2021.12.05 |
[TIL]12.Linear Algebra + (0) | 2021.12.03 |
[TIL]11.Vector and Matrix (0) | 2021.12.01 |