使用KNN模块分类

2024-01-08  本文已影响0人  大龙10

书名:计算机视觉40例从入门到深度学习:OpenCV-Python
作者:李立宗
出版社:电子工业出版社
出版时间:2022-07-01
ISBN:9787121436857


第15章 机器学习导读

15.4 OpenCV机器学习模块的使用

15.4.1 使用KNN模块分类

1、三个步骤

2、每步使用的函数。

3、实例

# -*- coding: utf-8 -*-
"""
Created on Tue Jan  9 09:04:53 2024

@author: dalong10
"""

import cv2
import numpy as np

# =====生成模拟数据及标签====
trainData = np.array([[5,6],[9,8],[3,8],[99,94],[89,91],[92,96]]).astype(np.float32) 
tdLable = np.array([[0],[0],[0],[1],[1],[1]]).astype(np.float32)
test=np.array([[31,28]]).astype(np.float32)

# =======使用KNN 算法===============
knn = cv2.ml.KNearest_create()
knn.train(trainData, cv2.ml.ROW_SAMPLE, tdLable)
ret,results, neighbours, dist = knn.findNearest(test,3)

# ========泉示结果============
print("当前数可以判定为类型:", results[0][0].astype(int))
print ("距离当前点最近的3 个邻居是:",neighbours)
print("3个最近邻居的距离:",dist)

运行结果

从上述程序结果可以看出,KNN模块预测的结果与通过图15-39判断的结果一致。

4、把抽象的问题处理为数值

上一篇 下一篇

猜你喜欢

热点阅读