Я применил метод get_dummies()
к своему набору данных после того, как тот разделил набор данных для целей обучения и тестирования, когда я попытался применить метод LDA fit_transform()
, который он выводит:
ValueError: неправильная форма ввода (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)
Dataset:
Вот train_file.csv для справки