XnMatrix Nmap object awk mobile Plupload lazyloadjs 后台管理网页模板 后台界面模板 jquery第一个子元素 软件测试项目实战案例 拼接json字符串 less的比较级 python基础 python中items python随机整数 python调用自定义函数 搭建java环境 java字符串替换 java中new java入门基础 java数组排序 java开发语言 hadoop权威指南 pr滤镜插件 微信小程序提示框 c语言程序100例 迅雷去广告版 js日期格式化 comsol下载 算法笔记 go程序设计语言 js字符转数字 udp测试工具 无主之地2联机超时 winhex中文版下载 g4560配什么显卡 ps怎么旋转图层 snmp网络管理软件 instagram怎么读
当前位置: 首页 > 学习教程  > python

第21章 支持向量机 SVM

2021/2/7 11:43:18 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

《OpenCV 轻松入门 面向Python》 学习笔记 支持向量机 是一个二分类模型在数据量较小的情况下,使用支持向量机进行分类非常有效思想:找到离分类器最近的点,确保它们离分类器尽可能的远。离分类器最近的那些点叫做支持向量(suppor…

《OpenCV 轻松入门 面向Python》 学习笔记

  • 支持向量机 是一个二分类模型
  • 在数据量较小的情况下,使用支持向量机进行分类非常有效
  • 思想:找到离分类器最近的点,确保它们离分类器尽可能的远。离分类器最近的那些点叫做支持向量(support vector)
  • 通常情况下,数据不能由简单的线性分类器直接分类,支持向量机会讲不那么容易分类的数据通过函数映射变为可分类的(通过将低维空间数据映射到高维空间数据)
    在这里插入图片描述

相关文章链接: opencv入门:支持向量机,K均值聚类


关键代码:

svm = cv2.ml.SVM_create()
result = svm.train(data, cv2.ml.ROW_SAMPLE, label)
(p1, p2) = svm.predict(test_data)

举例:

import numpy as np
import cv2
import matplotlib.pyplot as plt

# 生成训练数据
a = np.random.randint(95, 100, (20, 2)).astype(np.float32)
b = np.random.randint(90, 95, (20, 2)).astype(np.float32)
data = np.vstack((a, b))
data = np.array(data, dtype='float32')

# 生成标签
labe_a = np.zeros((20, 1), dtype=np.int32)
label_b = np.ones((20, 1), dtype=np.int32)
label = np.vstack((labe_a, label_b))

# 生成测试数据
test_data = np.array([[98, 90], [90, 99]], dtype=np.float32)

# 训练
svm = cv2.ml.SVM_create()
result = svm.train(data, cv2.ml.ROW_SAMPLE, label)
# 测试
(p1, p2) = svm.predict(test_data)

plt.scatter(a[:, 0], a[:, 1], 80, 'g', 'o')
plt.scatter(b[:, 0], b[:, 1], 80, 'b', 's')
plt.scatter(test_data[:, 0], test_data[:, 1], 80, 'r', '*')
plt.show()

print(p2)

输出:
[[1.]
[1.]]
在这里插入图片描述


本文链接: http://www.dtmao.cc/news_show_2000283.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?