Я читаю столбцы в CSV-файлах в качестве вкладов в соответствие с файлом sklearn Naive Bayes. Тем не менее, я сталкиваюсь с этими ошибками и предупреждениями:ValueError: Непоследовательное количество выборок при использовании sklearn по умолчаниюdict
Отказ Предупреждение: Передача 1-го массива, поскольку данные устарели в 0,17 и повысят ValueError в 0,19. Измените свои данные либо с помощью X.reshape (-1, 1), если у ваших данных есть одна функция или X.resape (1, -1), если она содержит один образец.
и
ValueError: Найденные массивы с противоречивым числом образцов: [1 10509]
И вот мой код:
clf = GaussianNB()
columns = defaultdict(list)
with open('file.CSV', 'rb') as f:
reader = csv.reader(f)
for row in reader:
for(i, v) in enumerate(row):
columns[i].append(v)
clf.fit(columns[9], columns[10])
Как примечание, LEN (столбцы [9]) и len (колонки [10]) являются как 10509
Как было предложено предупреждение, я много пробовал различных комбинаций reseape(), flatten(), ravel(), а также пытались использовать массивы numpy, но ничего не работает.
Любые предложения? Похоже, что большинство людей используют какую-то структуру данных, отличную от defaultdict, но я не уверен, как использовать другие структуры данных для чтения из .csv.