**Factor의 개수는 몇개로 해야 될까?**
보통 K-means나 PCA 분석에서 factor 인자를 임의로 지정하는 경우가 많은데 실제로는 요인분석을 통해 도출된 결과를 이용해서 하는것이 정확하다
1.임의의 dataframe 생성
pdf = pd.DataFrame({"v1": [random.randint(0, 100) for _ in range (30)],
"v2": [random.randint(0, 100) for _ in range (30)],
"v3": [random.randint(0, 100) for _ in range (30)],
"v4": [random.randint(0, 100) for _ in range (30)],
"v5": [random.randint(0, 100) for _ in range (30)],
"v6": [random.randint(0, 100) for _ in range (30)],
"v7": [random.randint(0, 100) for _ in range (30)],
2.SVD연산
***사용시 pdf로 되어있는 부분만 사용할 dataframe의 이름으로 변경한다***
U, S, V = np.linalg.svd(pdf)
eigvals = S**2 / np.sum(S**2)
sing_vals = np.arange(len(pdf.columns)) + 1
3.graph 산출
fig = plt.figure(figsize=(8,5))
plt.plot(sing_vals, eigvals, 'ro-', linewidth=2)
plt.title('Scree Plot')
plt.xlabel('Principal Component')
plt.ylabel('Eigenvalue')
plt.show()
***사용시 pdf로 되어있는 부분만 사용할 dataframe의 이름으로 변경한다***
U, S, V = np.linalg.svd(pdf)
eigvals = S**2 / np.sum(S**2)
sing_vals = np.arange(len(pdf.columns)) + 1
3.graph 산출
fig = plt.figure(figsize=(8,5))
plt.plot(sing_vals, eigvals, 'ro-', linewidth=2)
plt.title('Scree Plot')
plt.xlabel('Principal Component')
plt.ylabel('Eigenvalue')
plt.show()
plt.savefig('Scree.png')
그래프 상에서 2 이후에 완만해지는 것으로 보아 factor는 2개가 적당함을 알수있다
댓글 없음:
댓글 쓰기