from sklearn import
from matplotlib import image
import os
features=list()
##this loops are to load images as arrays in to features from the folders on my desktop
for f in os.listdir(r'C:\Users\Sriram\Desktop\300'):
if f.endswith('.png'):
try:
pass
for f in os.listdir(r'C:\Users\Sriram\Desktop\300n'):
if f.endswith('.png'):
try:
img=image.imread(r'C:\Users\Sriram\Desktop\300n'+f)
features.append(img)
except:
pass
l=[0]
p=[1]
print("hello")
## there are onlt two classes if images each 20 hence i created targets ast list of 40 elements first
##for class 1 and other for 2
targets=l*20+p*20
##thi is where i get error
clf=tree.DecisionTreeClassifier()
clf=clf.fit(features,targets)
Traceback (последний вызов был последним): файл "C: / Users / Sriram / AppData / Local / Programs / Python / Python38-32 / ML2.py", строка 24 , в clf = clf.fit (функции, цели) Файл "C: \ Users \ Sriram \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ site-packages \ sklearn \ tree_classes.py", строка 873 , в соответствии super (). fit (файл "C: \ Users \ Sriram \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ site-packages \ sklearn \ tree_classes.py", строка 149, в соответствии X = check_array (X, dtype = DTYPE, accept_sparse = "cs c") Файл "C: \ Users \ Sriram \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ site-packages \ sklearn \ utils \ validation.py ", строка 552, в check_array повысить ValueError (ValueError: Ожидаемый 2D-массив, вместо этого получил 1D-массив: array = []. Измените ваши данные либо с помощью array.reshape (-1, 1), если ваши данные имеют одна функция или array.reshape (1, -1), если она содержит один образец.
Я пытался загрузить некоторые изображения с моего рабочего стола, используя matplotlib
., которые включают только два класса изображений а затем я хочу обучить decisiontreeclassifier
, и когда я пытаюсь получить доступ к методу, используя эти функции, я получил выше ошибка