使用 KNN 进行数字识别
Digit Recognition using KNN
我是机器学习概念的新手!
我已经制作了一个模型并使用 KNN 分类器将其训练到 98% 的准确度,但我无法使用图像作为输入来测试模型。
每个数据点包含一个相当于 8X8 图像的数字。当我将其转换为一个 numpy 数组时,它给出了一个 0.0 到 16.0 之间的整数列表 (dtype = float64)。
但问题是,我无法将输入图像分解为数据集的相应图像。
以下是executed in CMD prompt , Python version - 3x
根据您提供的信息,不可能知道哪里出了问题。此外,0.0 和 16.0 不是整数,它们是浮点数。在训练 ML 算法之前,最好将图像标准化为最大值 1.0,例如 numpy_Image = numpy_Image/np.max(numpy_Image)
。对于 KNN(以及几乎所有其他东西),训练和测试图像必须具有相同的大小。 "But the problem , I'm unable to break down the input image into the dateset's corresponding image." - post 请提供您在终端中获得的代码和错误消息。
要将数组打印为图像,请使用:
import matplotlib.pyplot as plt
import numpy as np
array = np.array([0,0,0,10,9,0,0,0,0,0,5,15,0,0,9,5,0,0,14,10,0,7,16,4,0,5,16,7,5,16,6,0,0,11,16,16,16,14,0,0,0,3,4,11,16,8,0,0,0,0,0,7,16,2,0,0,0,0,0,12,12,0,0,0])
plt.imshow(array.reshape(8,8))
plt.show()
下次,确保您的数据可以轻松复制和粘贴,图片不好看。
我是机器学习概念的新手! 我已经制作了一个模型并使用 KNN 分类器将其训练到 98% 的准确度,但我无法使用图像作为输入来测试模型。 每个数据点包含一个相当于 8X8 图像的数字。当我将其转换为一个 numpy 数组时,它给出了一个 0.0 到 16.0 之间的整数列表 (dtype = float64)。 但问题是,我无法将输入图像分解为数据集的相应图像。 以下是executed in CMD prompt , Python version - 3x
根据您提供的信息,不可能知道哪里出了问题。此外,0.0 和 16.0 不是整数,它们是浮点数。在训练 ML 算法之前,最好将图像标准化为最大值 1.0,例如 numpy_Image = numpy_Image/np.max(numpy_Image)
。对于 KNN(以及几乎所有其他东西),训练和测试图像必须具有相同的大小。 "But the problem , I'm unable to break down the input image into the dateset's corresponding image." - post 请提供您在终端中获得的代码和错误消息。
要将数组打印为图像,请使用:
import matplotlib.pyplot as plt
import numpy as np
array = np.array([0,0,0,10,9,0,0,0,0,0,5,15,0,0,9,5,0,0,14,10,0,7,16,4,0,5,16,7,5,16,6,0,0,11,16,16,16,14,0,0,0,3,4,11,16,8,0,0,0,0,0,7,16,2,0,0,0,0,0,12,12,0,0,0])
plt.imshow(array.reshape(8,8))
plt.show()
下次,确保您的数据可以轻松复制和粘贴,图片不好看。