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차원이 아니게 결과가 도출되는데 혹시 이러한 문제가 생기는 원인을 알고 싶습니다.
댓글 입력