ValueError: Found input variables with inconsistent numbers of samples: [2839, 14195]
ValueError: Found input variables with inconsistent numbers of samples: [2839, 14195]
在这个数据集之前所有以前的都工作正常,现在有了这个新数据集它引发了以下错误,我试图重塑 X_train 但它不属于 X_trian,任何人都可以帮助。谢谢
feature_df = pd.read_excel('thedatasets/boutput.xlsx')
Y = pd.get_dummies(feature_df['class'],drop_first=True)
X = feature_df.drop(['class'],axis=1)
以下代码在其他py文件中
for i in range(np.shape(generation)[0]):
individual = generation[i, :]
# Subset the columns based on this individual
X_individual = self.dataset[[self.dataset.columns[j] for j in range(len(individual)) if individual[j] == 1]]
# Split into train-test datasets
X_train, X_test, y_train, y_test = train_test_split(X_individual, self.response, test_size=self.test_size)
# Fit the classifier
self.algorithm.fit(X_train, y_train.values.ravel())
grid.fit(X_train,y_train.values.ravel())
错误:
Traceback (most recent call last):
File "/Users/cinci/Desktop/SPLITPROJ/GeneticAlgorithmExample.py", line 57, in <module>
main()
File "/Users/cinci/Desktop/SPLITPROJ/GeneticAlgorithmExample.py", line 17, in main
GA.fit()
File "/Users/cinci/Desktop/SPLITPROJ/GeneticAlgorithm.py", line 167, in fit
old_fitness_array = self.fitness(old_generation)
File "/Users/cinci/Desktop/SPLITPROJ/GeneticAlgorithm.py", line 77, in fitness
self.algorithm.fit(X_train, y_train.values.ravel())
File "/Users/cinci/venv/lib/python3.7/site-packages/sklearn/svm/_base.py", line 148, in fit
accept_large_sparse=True)
File "/Users/cinci/venv/lib/python3.7/site-packages/sklearn/utils/validation.py", line 765, in check_X_y
check_consistent_length(X, y)
File "/Users/cinci/venv/lib/python3.7/site-packages/sklearn/utils/validation.py", line 212, in check_consistent_length
" samples: %r" % [int(l) for l in lengths])
ValueError: Found input variables with inconsistent numbers of samples: [2839, 14195]
鉴于 14916 / 5 是 2839,我假设您出现问题的原因是您有多个输出标签(5 个标签)并且您使用的是 .ravel()
这将使您的数据变平,并且模型会认为您正在尝试传入 # of labels * number_of_training_examples 个示例作为您的训练示例。
要解决此问题,您应该重塑最终 y_train 而不是使用 .ravel() ,使其具有 number_of_training_examples x number_of_labels
的形状
在这个数据集之前所有以前的都工作正常,现在有了这个新数据集它引发了以下错误,我试图重塑 X_train 但它不属于 X_trian,任何人都可以帮助。谢谢
feature_df = pd.read_excel('thedatasets/boutput.xlsx')
Y = pd.get_dummies(feature_df['class'],drop_first=True)
X = feature_df.drop(['class'],axis=1)
以下代码在其他py文件中
for i in range(np.shape(generation)[0]):
individual = generation[i, :]
# Subset the columns based on this individual
X_individual = self.dataset[[self.dataset.columns[j] for j in range(len(individual)) if individual[j] == 1]]
# Split into train-test datasets
X_train, X_test, y_train, y_test = train_test_split(X_individual, self.response, test_size=self.test_size)
# Fit the classifier
self.algorithm.fit(X_train, y_train.values.ravel())
grid.fit(X_train,y_train.values.ravel())
错误:
Traceback (most recent call last):
File "/Users/cinci/Desktop/SPLITPROJ/GeneticAlgorithmExample.py", line 57, in <module>
main()
File "/Users/cinci/Desktop/SPLITPROJ/GeneticAlgorithmExample.py", line 17, in main
GA.fit()
File "/Users/cinci/Desktop/SPLITPROJ/GeneticAlgorithm.py", line 167, in fit
old_fitness_array = self.fitness(old_generation)
File "/Users/cinci/Desktop/SPLITPROJ/GeneticAlgorithm.py", line 77, in fitness
self.algorithm.fit(X_train, y_train.values.ravel())
File "/Users/cinci/venv/lib/python3.7/site-packages/sklearn/svm/_base.py", line 148, in fit
accept_large_sparse=True)
File "/Users/cinci/venv/lib/python3.7/site-packages/sklearn/utils/validation.py", line 765, in check_X_y
check_consistent_length(X, y)
File "/Users/cinci/venv/lib/python3.7/site-packages/sklearn/utils/validation.py", line 212, in check_consistent_length
" samples: %r" % [int(l) for l in lengths])
ValueError: Found input variables with inconsistent numbers of samples: [2839, 14195]
鉴于 14916 / 5 是 2839,我假设您出现问题的原因是您有多个输出标签(5 个标签)并且您使用的是 .ravel()
这将使您的数据变平,并且模型会认为您正在尝试传入 # of labels * number_of_training_examples 个示例作为您的训练示例。
要解决此问题,您应该重塑最终 y_train 而不是使用 .ravel() ,使其具有 number_of_training_examples x number_of_labels
的形状