机器学习-python利用opencv中svm创建一个简单分类

python利用opencv中svm创建一个简单分类

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

rand1 = np.array([[155,48],[159,50],[164,53],[168,56],[172,60]])
rand2 = np.array([[152,53],[156,55],[160,56],[172,64],[176,65]])

label = np.array([[0],[0],[0],[0],[0],[1],[1],[1],[1],[1]])

data = np.vstack((rand1,rand2))
print(data)
data = np.array(data,dtype='float32')
print('--------------------')
print(data)
#有标签训练为监督学习


#训练
svm = cv2.ml.SVM_create()

#属性设置
svm.setType(cv2.ml.SVM_C_SVC)  #设置svm类型
svm.setKernel(cv2.ml.SVM_LINEAR)   #设置svm内核,线性内核
svm.setC(0.01)    #和svm内核有关的参数

result = svm.train(data,cv2.ml.ROW_SAMPLE,label)  #进行训练,第一个数据,第二个类型,第三个标签

#预测
pt_data = np.vstack([[150,50],[162,57]])

pt_data = np.array(pt_data,dtype='float32')   #数据转换

print('----------------------')

print(pt_data)

print('----------------------')

(par1,par2) = svm.predict(pt_data)


print(par1,par2)
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

求知小菜鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值