Я начинающий программист с Scikit learn, поэтому мой вопрос - базовый c. Я создал свою первую программу машинного обучения с набором данных эскиза для распознавания объектов между набросками яблока и банана, и она отлично работает в плане обучения и тестирования.
import cv2 as cv
import numpy as np
from sklearn.svm import SVC
from sklearn.model_selection import train_test_split as tts
from sklearn.metrics import accuracy_score
#loading datasets
apples_Full = np.load('dataset/apple.npy')
bananas_Full = np.load('dataset/banana.npy')
N_Samples = 1000
test_Number = 0.2
APPLE = 0
BANANA = 1
def normalize(data):
return np.interp(data , [0 , 255] , [-1 , 1])
apples = apples_Full[:N_Samples]
bananas = bananas_Full[:N_Samples]
dataset = np.concatenate((apples , bananas))
dataset = normalize(dataset)
labels = [APPLE] * N_Samples + [BANANA] * N_Samples
#spliting data
x_train , x_test , y_train , y_test = tts(dataset , labels ,test_size = test_Number)
alg = SVC()
alg.fit(x_train , y_train)
preds = alg.predict(x_test)
Result = accuracy_score(y_test , preds)
print(Result)
Теперь я хочу ввести изображение эскиза по порядку использовать его в качестве приложения для распознавания объектов. Я попытался импортировать изображение и преобразовать его в файл .npy и использовать его в качестве набора данных, как на шаге теста, но я получил ошибку: X.shape [1] = 151875 должен быть равен 784, количество функций во время обучения
testfile = "My_test.jpg"
Image = cv.imread(testfile)
TEST = np.array(Image , dtype = 'uint8')
np.save('My_test' + '.npy' , TEST)
Sketch = np.load('My_test.npy')
Sketch = np.reshape(Sketch, (1 , -1))
Testdata = normalizer(Sketch)
finaltest = alg.predict(Testdata)
print(finaltest)
Что мне делать?