#!/usr/bin/python3
import cv2
import numpy as np
import matplotlib.pyplot as plt
# Feature set containing (x,y) values of 25 known/training data
trainData = np.random.randint(0,100,(25,2)).astype(np.float32)
# Labels each one either Red or Blue with numbers 0 and 1
responses = np.random.randint(0,2,(25,1)).astype(np.float32)
# Take Red families and plot them
red = trainData[responses.ravel()==0]
plt.scatter(red[:,0],red[:,1],80,'r','^')
# Take Blue families and plot them
blue = trainData[responses.ravel()==1]
plt.scatter(blue[:,0],blue[:,1],80,'b','s')
newcomer = np.random.randint(0,100,(1,2)).astype(np.float32)
plt.scatter(newcomer[:,0],newcomer[:,1],80,'g','o')
knn = cv2.ml.KNearest_create()
knn.train(trainData,responses)
ret, results, neighbours ,dist = knn.find_nearest(newcomer, 3)
print ("result: ", results,"\n")
print ("neighbours: ", neighbours,"\n")
print ("distance: ", dist)
plt.show()
< /code>
Я получаю следующую ошибку при выполнении: < /p>
Traceback (most recent call last):
File "./knn_test.py", line 24, in
knn.train(trainData,responses)
TypeError: only length-1 arrays can be converted to Python scalars
Функция knn.train () ожидает:
>>> knn.train.__doc__
'train(trainData[, flags]) -> retval or train(samples, layout, responses) -> retval'
< /code>
Я не мог найти пример определения макета. Какое изменение требуется для того, чтобы его работали?
Я пытался получить пример на странице документов. < /p> [code]cv2.KNearest()[/code] был заменен на cv2.ml.knearest_create () . Однако следующий фрагмент кода все еще приводит к ошибке: [code]#!/usr/bin/python3 import cv2 import numpy as np import matplotlib.pyplot as plt
# Feature set containing (x,y) values of 25 known/training data trainData = np.random.randint(0,100,(25,2)).astype(np.float32)
# Labels each one either Red or Blue with numbers 0 and 1 responses = np.random.randint(0,2,(25,1)).astype(np.float32)
# Take Red families and plot them red = trainData[responses.ravel()==0] plt.scatter(red[:,0],red[:,1],80,'r','^')
# Take Blue families and plot them blue = trainData[responses.ravel()==1] plt.scatter(blue[:,0],blue[:,1],80,'b','s')
print ("result: ", results,"\n") print ("neighbours: ", neighbours,"\n") print ("distance: ", dist) plt.show() < /code> Я получаю следующую ошибку при выполнении: < /p> Traceback (most recent call last): File "./knn_test.py", line 24, in knn.train(trainData,responses) TypeError: only length-1 arrays can be converted to Python scalars [/code] Функция knn.train () ожидает: >>> knn.train.__doc__ 'train(trainData[, flags]) -> retval or train(samples, layout, responses) -> retval' < /code> Я не мог найти пример определения макета. Какое изменение требуется для того, чтобы его работали?
Я получаю сообщение об ошибке: X содержит NaN. Я не увидел никаких значений NaN в наборе данных. Имейте в виду, что перед этим написано несколько строк кода.
Я пытаюсь написать проект OCR для идентификации цифр без использования каких-либо дополнительных библиотек. Я использую Pygame для рисования и визуализации числа для идентификации. Мне удалось заставить все это работать, но по какой-то странной...
Я читал о настройке гиперпараметров для алгоритма KNN и понял, что лучшая практика его реализации — убедиться, что для каждого сгиба мой набор данных должен быть нормализован и подвергнут избыточной выборке с использованием конвейера (во избежание...
Я пишу алгоритм обработки пространственных данных с использованием R-дерева для университетского проекта, где перед нами стоит задача написать алгоритм KNN в виде запроса диапазона с использованием оценки диапазона. Мы не были ограничены одним...