편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2021.08.27

    LinearDiscriminantAnalysis / LDA 차원축소 질문


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

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

  • 프로필 SsB3041님의 편집
    날짜2021.08.26

    LinearDiscriminantAnalysis / LDA 차원축소 질문


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

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