LinearDiscriminantAnalysis / LDA 차원축소 질문

조회수 281회

제가 사용하는 코드는 다음과 같습니다.

import pandas as pd 
import numpy as np
from sklearn import preprocessing 
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA
import seaborn as sns
from sklearn.preprocessing import StandardScaler
import matplotlib.pyplot as plt

df=pd.read_csv("C:/Users/관리자/Desktop/python worksapce/제발.csv")
X=df.iloc[:,:-2]
y=df.iloc[:,-1]
X_scaled= StandardScaler().fit_transform(X)
lda= LDA(n_components=2)
X_reduce=lda.fit_transform(X_scaled,y)
result=pd.DataFrame(np.column_stack([X_reduce,y]),columns=["LDA1","LDA2","label"])

sns.lmplot("LDA1", "LDA2", data=result , fit_reg=False, scatter_kws={"s":12}, hue="label")
plt.show()

붓꽃, 보스턴(?)같은 것을 제외하고, 다른 csv파일등을 LDA를 활용하여 2차원으로 줄이는 공부를 하고 있습니다. 어떤 것들은 원하는 대로 (n ,2 )의 형태로 축소가 되는데 , 어떤 것들은 계속 (n , ) 이렇게 2차원이 아니게 결과가 도출되는데 혹시 이러한 문제가 생기는 원인을 알고 싶습니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)