#测试两种不同的SVM,rbf的核真是太棒了(一种会拐弯的边界)

from sklearn import datasets
import numpy as np

X, y = datasets.make_blobs(n_features=2, centers=2)
from sklearn.svm import LinearSVC
from sklearn.svm import SVC

#测试两种不同的SVM,rbf的核真是太棒了

#svm = LinearSVC()
svm = SVC(kernel=‘rbf‘)
svm.fit(X, y)
‘‘‘
>>> y
array([1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0,
       0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0,
       0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0,
       1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0,
       1, 1, 1, 1, 0, 0, 0, 0])
>>> X[:5]
array([[ -7.16607012,   8.67278838],
       [ -1.9444707 ,   4.79203099],
       [ -8.13823925,   8.61203039],
       [ -8.46098709,  11.73701048],
       [ -0.72791284,   6.20893784]])
>>>
‘‘‘

‘‘‘
Now that we have fit the support vector machine,
we will plot its outcome at each point in the
graph.
This will show us the approximate decision boundary:
‘‘‘

from itertools import product
from collections import namedtuple
Point = namedtuple(‘Point‘, [‘x‘, ‘y‘, ‘outcome‘])

#寻找X轴、y轴的最小值和最大值
xmin, xmax = np.percentile(X[:, 0], [0, 100]) #等同 X[:,0].min()
ymin, ymax = np.percentile(X[:, 1], [0, 100])
‘‘‘
>>> X[:,0].min()
-10.02996504991013
>>> xmin
-10.02996504991013
>>> X[:,0].max()
1.6856669658909862
>>> xmax
1.6856669658909862
>>> X[:,1].min()
3.3455301726833886
>>> X[:,1].max()
11.737010478926441
‘‘‘
#对X,y取值范围内的任何一点,都用SVC进行预测,布成一张网
#下面的20指的是,在哪个取值范围内,选取多少个点
decision_boundary = []
for xpt, ypt in product(np.linspace(xmin-2.5, xmax+2.5, 50),np.linspace(ymin-2.5, ymax+2.5, 50)):
    #zz = svm.predict([xpt, ypt])
    p = Point(xpt, ypt, svm.predict([xpt, ypt]))
    decision_boundary.append(p)

import matplotlib.pyplot as plt
f, ax = plt.subplots(figsize=(7, 5))
import numpy as np
colors = np.array([‘r‘, ‘b‘])
for xpt, ypt, pt in decision_boundary:
    ax.scatter(xpt, ypt, color=colors[pt[0]], alpha=.15,s=50)
    #pt是一个数组,只有一个元素,就是预测的分类(0或1)
    #特别注意,这是背景色,注意alpha=.15,背景很淡
    ax.scatter(X[:, 0], X[:, 1], color=colors[y], s=30) #y是原始值,原始分类
    ax.set_ylim(ymin, ymax)
    ax.set_xlim(xmin, xmax)
    ax.set_title("A well separated dataset")
f.show()

#另外一个边界不清晰的例子
X, y = datasets.make_classification(n_features=2,n_classes=2,n_informative=2,n_redundant=0)
svm.fit(X, y)
xmin, xmax = np.percentile(X[:, 0], [0, 100])
ymin, ymax = np.percentile(X[:, 1], [0, 100])
test_points = np.array([[xx, yy] for xx, yy in product(np.linspace(xmin, xmax),np.linspace(ymin, ymax))])
test_preds = svm.predict(test_points)

import matplotlib.pyplot as plt
f, ax = plt.subplots(figsize=(7, 5))
import numpy as np
colors = np.array([‘r‘, ‘b‘])
ax.scatter(test_points[:, 0], test_points[:, 1],color=colors[test_preds], alpha=.25)
ax.scatter(X[:, 0], X[:, 1], color=colors[y])
ax.set_title("A well separated dataset")
f.show()

时间: 2024-10-29 00:57:41

#测试两种不同的SVM,rbf的核真是太棒了(一种会拐弯的边界)的相关文章

FMX有两种消息处理的实现方式,一种是用TMessageManager来实现自定义的消息,另外一种象TEdit中的实现,直接声明消息方法

看FMX代码,发现有两种消息处理的实现方式,一种是用TMessageManager来实现自定义的消息,另外一种象TEdit中的实现,直接声明消息方法. 早前,看过文章说TMessageManager的用法,可用到的时候,又找不到,只好自己动手. 我的应用场景是这样: 当前的Frame弹出一个对话框Frame,当操作对话框的时候,想让当前的Frame跟着应响,让用户看到操作的结果,如下图,点大中小字体,后面的题目的字体会跟着变化: 参考fmx的代码,试着用消息机制实现了: 1.声明消息类: typ

测试两台服务器之间的网络带宽

标签: 服务器 / 测试 / 网络 / windows / unix / 工具 一.为什么选择了iperf 之前做了一个项目,说要测试两台服务器之间的带宽,本想通过拷贝来进行测试,后来客户觉得得出的数据没有说服性,于是改拿工具来进行测试.我们这回用的工具名字叫iperf. iperf它是一款网络性能测试的工具,分为多个版本:Linux版.UNIX版.Windows版.相比之下,Windows版更新的比较慢,而UNIX和Linux版本更新起来更快,现在最新版本是2.05,而他安装简单.方便,而且测

windows 测试两台电脑(两个ip)是否在同一个局域网

windows 测试两台电脑(两个ip)是否在同一个局域网 CreateTime--2018年5月4日11:28:38 Author:Marydon 1.查看A电脑的ip win+r-->cmd-->ipcofig-->选中ip4对应的值-->按右键完成复制 2.B电脑通过ping来判断网络是否畅通 win+r-->cmd-->ping 192.168.200.158-->回车 3.小结 请求超时,说明网络不通,即这两台电脑不在同一个局域网下: 来自192.168

CSS3在hover下的几种效果代码分享,CSS3在鼠标经过时的几种效果集锦

效果一:360°旋转 修改rotate(旋转度数) 01    * {02        transition:All 0.4s ease-in-out;03        -webkit-transition:All 0.4s ease-in-out;04        -moz-transition:All 0.4s ease-in-out;05        -o-transition:All 0.4s ease-in-out;06    }07    *:hover {08       

503是一种HTTP状态码。英文名503 Service Unavailable与404(404 Not Found)是同属一种网页状态出错码。前者是服务器出错的一种返回状态,后者是网页程序没有相关的结果后返回的一种状态,需要优化网站的时候通常需要制作404出错页以便网站整体优化。

goldCat1 商城 消息 | 百度首页 新闻网页贴吧知道音乐图片视频地图百科文库 进入词条搜索词条帮助 近期有不法分子冒充官方收费编辑词条,百度百科严正声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗!查看详情 X 首页 分类 艺术 科学 自然 文化 地理 生活 社会 人物 经济 体育 历史 特色百科 历史上的今天 数字博物馆 史记·2015 城市百科 二战百科 非遗百科 用户 蝌蚪团 燃梦计划 百科任务 百科商城 权威合作 合作模式 常见问题 联系

EF5(7) 后台使用SelectListItem传值给前台显示Select下拉框;mvc后台Action接收浏览器传值的4种方式; 后台Action向前台View视图传递数据的四种方式

一:后台使用SelectListItem 传值给前台显示Select下拉框 我们先来看数据库的订单表,里面有3条订单,他们的用户id对应了 UserInfo用户表的数据,现在我们要做的是添加一个Order控制器,显示订单列表,并且在修改订单的时候,把用户的id 用 select 下拉框显示出来,并且可以提交修改数据   1.1 我们通过比较原始的方法,来把数据 传递到前台后,前台使用  循环来显示 select 并且显示是哪个元素被选中 我们在前台的cshtml中,使用 @model 命令 指定

谈谈我这测试两年带实习生的经验

干了差不多两年的测试,毕业第一年干手工测试干了一年带出了2个实习生,带走了1个实习生.后来转做自动化测试,带了2个实习生.回顾一下这两年,其中也看过别人带实习生,总结总结自己带人的经验,以免忘记了. 如果带的实习生是没有任何工作经验的大四学生 那就比较容易带一些 首先将原则,这种实习生好似一张白纸,你往上边写什么就是什么.这是他们职业生涯中塑造职业素养的最好时期.所以这个时候你要根据自己的愿景把他塑造成你想要的类型.最好要严格要求,把原则列清楚,把他们的错误都杜绝了,建立起一种工作规范,那么日后

(转载)Android两种Tab分页的方式:TabActivity和ActivityGroup以及Android项目几种常见的应用架构

在Android里面Tab分页,常用的方法有两种: 一.TabActivity和TabHost的结合 1.主类继承TabActivity public class Tagpage extends TabActivity 2.获取当前TabHost对象 final TabHost tabHost = getTabHost(); 3.添加Tab分页标签,这里就是关键,把每个分页面链接成Activity.页面的跳转,即是Activity的跳转. tabHost.addTab(tabHost.newTa

怎么用光功率计测试两台光端机间的传输距离

选择对应光端机的发射波长,先在本端测试其中一台光端机的发光功率,然后再到对端测试通过光纤以后的光功率,因为都是负值,可以用绝对值的方法来算,大的减去小,如:16-7=9db,光纤链路衰减为9db,以1310波长为例大概的距离为18公里.1310nm每公里损耗0.4左右,1550nm每公里损耗0.2左右,这都是粗略的估算方式,可能跟实际距离会有差别,准确的测试方式可以用OTDR测试仪来测试光纤的各项指标