【发布时间】:2019-08-16 09:41:35
【问题描述】:
当我尝试应用它输出的 LDA 的 fit_transform() 方法时,我已经在我的数据集上应用了 get_dummies() 方法,之后为了训练和测试目的拆分数据集:
ValueError: bad input shape (26905, 8)
我做错了什么?我不确定问题是由于get_dummies() 方法还是我缺少的其他任何东西
# Sample Code
df = pd.read_csv('/Users/rushirajparmar/Downloads/Problem 16 (1)/Problem 16/Problem 16/train_file.csv')
df.drop(['UsageClass','CheckoutType','CheckoutYear','CheckoutMonth'],axis = 1,inplace = True)
Y=pd.get_dummies(df,columns = ['MaterialType'])
X=pd.get_dummies(df,columns = ['Title','Creator','Subjects','Publisher','PublicationYear'])
X.drop(['MaterialType'],axis = 1,inplace = True)
Y.drop(['ID','Checkouts','Title','Creator','Subjects','Publisher','PublicationYear'],axis = 1,inplace = True)
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size = 0.15)
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA
lda = LDA(n_components = 1)
X_train = lda.fit_transform(X_train, y_train)
X_test = lda.transform(X_test)
数据集:
这里是train_file.csv 供参考
【问题讨论】:
标签: machine-learning scikit-learn lda