源码:
#此代码适用opencv3版本以上
from numpy import * #导入numpy的库函数
import cv2
import numpy as np
import matplotlib.pyplot as plt
labels = (1, -1, 1, 1,-1,-1,-1,1,-1,-1)
labels = np.array(labels)
trainingData= np.array([[10, 3 ],[5, 0.5 ],[10, 5],[0.5, 10 ],[0.5, 1.6 ],[3, 6 ],[ 1.2, 4],[6, 6],[0.9, 5 ],[ 4, 4]],dtype='float32'); #数据集一定要设置成浮点型
# labels转换成10行1列的矩阵
labels = labels.reshape(10,1)
# trainingData转换成10行2列的矩阵
trainingData = trainingData.reshape(10,2)
#创建分类器
svm = cv2.ml.SVM_create()
#设置svm类型
svm.setType(cv2.ml.SVM_C_SVC)
#核函数
svm.setKernel(cv2.ml.SVM_LINEAR)
# 训练
ret = svm.train(trainingData,cv2.ml.ROW_SAMPLE,labels)
# 测试数据
# 取0-10之间的整数值
arrayTest = np.empty(shape=[0, 2], dtype='float32')
for i in range(10):
for j in range(10):
arrayTest=np.append(arrayTest, [[i,j]], axis = 0)
pt = np.array(np.random.rand(50,2) * 10 , dtype='float32') #np.random.rand(50,2) * 10可以替换成arrayTest
# 预测
(ret, res) = svm.predict(pt)
# 按label进行分类显示
plt.figure("分类")
res = np.hstack((res)) #在水平方向上平铺
# 第一类
type_data = pt[res == -1]
# 绘制散点图
plt.scatter(np.array(type_data[:, 0]), np.array(type_data[:, 1]),c='r',marker='o')
# 第二类
type_data = pt[res == 1]
plt.scatter(np.array(type_data[:, 0]), np.array(type_data[:, 1]),c='g',marker='o')
plt.show()
运行结果:
影响数据库的性能因素1.超高的QPS和TPS:(1)QPS:每秒查询率(Query Per Second)每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。即每秒的响应请求数,也即是最大吞吐能力。(2)TPS:每秒事务处理量(Transaction Per Second)每秒钟系统能够处理的交易或事务的数量。它是衡量系统处理能力的重要指标。2.大量的并发和超高的cpu使..._mysql性能查看是计算还是io影响
首先点击右上角用户名边上的倒三角,选择configure,如下图所示:找到 【User Defined Time Zone】,修改Time Zone为 “Asia/Shanghai”,然后保存即可_jenkins 市区
http://blog.sina.com.cn/s/blog_9d691194010106xq.html直插式无源器件体积普遍要比贴片式要大一些,而且直插式器件在制作PCB时需要打孔,焊接工艺跟贴片式也有差别,较为麻烦,相对而言,直插式电阻电容多是面向大功率电路应用。一、直插式电阻封装及尺寸直插式电阻封装为AXIAL-xx形式(比如AXIAL-0.3、AXIAL-0.4),后面_直插电容封装
vite.config.ts官方配置详情resolve.alias 配置const path = require('path');import { defineConfig } from 'vite';import vue from '@vitejs/plugin-vue';// https://vitejs.dev/config/export default defineConfig({ plugins: [vue()], resolve: { // 配置路径别名 _vite __dirname
本题要求编写程序,从给定字符串中查找某指定的字符。输入格式:输入的第一行是一个待查找的字符。第二行是一个以回车结束的非空字符串(不超过80个字符)。输出格式:如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"Not Found"。输入样例1:mprogramming输出样例1:index = 7输入样例2:a1..._7-4编写函数从给定字符串中查找某指定的字符
Spring优点方便解耦,简化开发* Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理AOP编程的支持* Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能声明式事务的支持* 只需要通过配置就可以完成对事务的管理,而无需手动编程方便程序的测试* Spring对Junit4支持,可以通过注解方便的测试Spr...
一、多项式时间规约 分析、二、NP 完全 ★ ( 计算理论最重要的概念 )_np完全问题 多项式规约
inotify+rsync实时备份环境准备简介原理A上操作1、安装EPEL2、安装inotify和rsync服务3、修改rsync的配置文件4、创建目录5、建立rsync用户名和密码文件,加权限6、启动服务,验证端口B上操作7、安装EPEL8、安装inotify和rsync服务9、设置客户端密码文件,修改权限10、编写脚本11、创建目录12、执行脚本13、进入相应的目录,创建文件14、切回到A上查验环境准备centos7两台,关闭防火墙和selinuxA 备份端——192.168.112.153 【服_inotify和
前两天在做一个项目时,合作方的开发人员说需要用到Base64编码。由于之前没听说过这种编码,马上上网google了下资料,才发现Base64编码使用得这么普遍,最常用的就是电子邮件传输编码方式。进一步查找资料发现,迅雷的下载地址链接也使用这种编码方式。引用维基百科中对Base64编码的介绍如下:“在MIME格式的电子邮件中,base64可以用_base64 decode
Font Awesome字体的文章小编前面介绍过一篇教程了,下面我们来看一篇关于CSS3使用Font Awesome字体图标的控件样例(按钮,工具栏,输入框)例子,具体如下所示。下面是几个带图标的常用组件样例(带图标的按钮,toolBar,还有带图标的帐户密码输入框组件),其中图标使用的是 Font Awesome 字体图标。Font Awesome字体图标的用法可以查看我前面写的文章:CSS3 ..._fontawesome 按钮大全
一.方法重写(override)1.重写的概念那么为什么会需要重写呢?补充:@Override2.遵循规则3.注意事项4.重写的好处二.方法重载(overload)1.重载的概念2.重载的好处三.传说秘技(方法重写有三同!)方法重写就是发生在子父类之间,子类出现了和父类一模一样的一个方法,就会发生方法覆盖现象!子类方法会覆盖父类方法.所以且方法重写也可以叫方法覆盖.也就是说子类父类中的方法具有相同的方法名,相同的参数列表,相同的返回结果类型.那么为什么会需要重写呢?当子类_方法重载的英文
广义线性函数基本思想设有一个训练用的模式集{x},在模式空间x中线性不可分,但在模式空间x*中线性可分,其中x*的各个分量是x的单值实函数,x*的维数k高于x的维数n,即若取x* = (f1(x), f2(x), …., fk(x)), k>n;则分类界面在x*中是线性的,在x中是非线性的,此时只要将模式x进行非线性变换,使之变换后得到维数更高的模式x*,就可以用线性判别函数来进行分类。_g(x)是分段线性函数,证明g(x)=g(a)+c1h(x-x0)