svm的第一个实例
用的数据集是uci机器学习库的数据 ‘iris.data’
from sklearn import svm
import csv
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from sklearn.metrics import confusion_matrix
from sklearn.metrics import classification_report
from sklearn.preprocessing import StandardScaler
import numpy as np def change(s):
#就是这一句话。。。。哎,以后发现类型判断错误,可以看看type的类别
bs = str(s, encoding="utf8") if(bs=='Iris-virginica'):
return 2
elif (bs == 'Iris-setosa'):
return 0
elif (bs == 'Iris-versicolor'):
return 1
tezheng=[]#用来存放特征的东西
cate=[]#用来存放结果
path = 'iris.data'
data=np.loadtxt(path, dtype=float, delimiter=',',converters={4: change}) #遍历
for content in data:
#这句话非常的重要,将content转为list,才能正确放入到数据中
content=list(content)
#将前四个特征存入tezheng中,最后一列的=存入cate结果集中
tezheng.append(content[0:4])
cate.append(content[-1]) #建立xvm的模型
# 标准化sca转换
scaler = StandardScaler()
# 训练标准化对象
scaler.fit(tezheng)
# 转换数据集,一般是归一化处理
traffic_feature= scaler.transform(tezheng)
#分割测试集和训练集
feature_train, feature_test, target_train, target_test = train_test_split(traffic_feature, cate, test_size=0.4,random_state=1)
#svc分类器进行一个参数的设置
clf = svm.SVC(C=1, kernel='rbf', gamma=20, decision_function_shape='ovr')
# clf = svm.SVC(C=0.1, kernel='linear', decision_function_shape='ovr')
#将训练数据放到里面,到这一步的时候 suv已经完成了
clf.fit(feature_train,target_train) #这边是开始预测了,输入的测试集
predict_results=clf.predict(feature_test)
#预测结果和原来结果进行的一个对比
print(accuracy_score(predict_results, target_test))
#参数结果 包括准确率 召回率 f1
print(classification_report(target_test, predict_results))
0.8
precision recall f1-score support 0.0 1.00 0.68 0.81 19
1.0 0.94 0.76 0.84 21
2.0 0.63 0.95 0.76 20 micro avg 0.80 0.80 0.80 60
macro avg 0.86 0.80 0.80 60
weighted avg 0.86 0.80 0.81 60 Process finished with exit code 0
svm的第一个实例的更多相关文章
- 【C# -- OpenCV】Emgu CV 第一个实例
原文 [C# -- OpenCV]Emgu CV 第一个实例 Emgu CV下载地址 http://sourceforge.net/projects/emgucv/files/ 找最新的下就行了,傻瓜 ...
- Thrift教程初级篇——thrift安装环境变量配置第一个实例
前言: 因为项目需要跨语言,c++客户端,web服务端,远程调用等需求,所以用到了RPC框架Thrift,刚开始有点虚,第一次接触RPC框架,后来没想到Thrift开发方便上手快,而且性能和稳定性也不 ...
- Konckout第一个实例:简单数据模型绑定
Konck是什么: http://www.aizhengli.com/knockoutjs/50/knockout.html 使用:直接引入knockout.js文件 第一个实例:实现输入框输入值改变 ...
- Vue.js学习和第一个实例
第一个实例效果图: 1.node.js下载,然后安装.下载地址:链接:http://pan.baidu.com/s/1o7TONhS 密码:fosa 2.下载Vue.js.链接:http://pan. ...
- Highmaps网页图表教程之Highmaps第一个实例与图表构成
Highmaps网页图表教程之Highmaps第一个实例与图表构成 Highmaps第一个实例 下面我们来实现本教程的第一个Highmaps实例. [实例1-1:hellomap]下面来制作一个中国地 ...
- JAVA-MyEclipse第一个实例
相关资料: <21天学通Java Web开发> 实例代码: MyEclipse第一个实例1.打开MyEclipse程序.2.在PacKage视图->右击->New|Web Pr ...
- C# 实现程序只启动一次(多次运行激活第一个实例,使其获得焦点,并在最前端显示)
防止程序运行多个实例的方法有多种,如:通过使用互斥量和进程名等.而我想要实现的是:在程序运行多个实例时激活的是第一个实例,使其获得焦点,并在前端显示. 主要用到两个API 函数: ShowWindow ...
- 小白的springboot之路(一)、环境搭建、第一个实例
小白的springboot之路(一).环境搭建.第一个实例 0- 前言 Spring boot + spring cloud + vue 的微服务架构技术栈,那简直是爽得不要不要的,怎么爽法,自行度娘 ...
- 学习WCF入门的第一个实例
一.概述 WCF说白了就是一个基于终结点的通信手段!就是Service端提供一定的功能实现,然后暴露出一个或多个终结点,Client端调用Service端的功能(可以理解为调用一个函数),那么Clie ...
随机推荐
- zufeoj 分数线划定
分数线划定 时间限制: 1 Sec 内存限制: 128 MB提交: 13 解决: 7[提交][状态][讨论版] 题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,A ...
- 面向对象银角大王补充2-self就是调用当前方法的对象-静态字段,公有属性-封装的理解-继承的理解,普通方法,静态方法
self是什么,就是一个函数,就是一个形式参数 4.self就是调用当前方法的对象 静态字段,公有属性 静态字段使用场景,每个对象中保存相同的东西时,可以使用静态字段,公有属性 5.封装的理解 类中封 ...
- ejs的简单应用
获取数据 var init = function(){ api.my_bean_list({ },function(datas){ console.log(datas); if (datas.errn ...
- python学习(十五) 屏幕抓取
15.1 屏幕抓取 15.1.1 Tidy和XHTML解析 Tidy:用来修复不规范且随意的HTML文档的工具. 为什么用XHTML: 和旧版本的HTML之间最主要的区别:HTML可能只用一个开始标签 ...
- 内网渗透神器xerosploit
项目地址:https://github.com/LionSec/xerosploit 安装完成后直接在终端输入xerosploit打开 显示了本机的内网ip,mac地址,网关,网卡,输入help查看帮 ...
- GNS3连接虚拟机
打开GNS3,拖一台路由器和主机 右击主机,选择配置 添加虚拟机的网卡为主机网卡,(选择VM1或VM8) 路由器选择虚拟机网卡连接 打开虚拟机在导航栏找到“虚拟机”-->“设 ...
- HADOOP的API简单介绍
public class HdfsClient { FileSystem fs = null; @Before public void init() throws Exception { // 构造一 ...
- 语法错误 : 缺少“;”(在“*”的前面) 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
sv2010编译的时候遇到错误: error C2143: 语法错误 : 缺少“;”(在“*”的前面) error C4430: 缺少类型说明符 - 假定为 int.注意: C++ 不支持默认 int ...
- PHP使用mkdir创建多级目录的方法
PHP中使用mkdir()可以创建多级目录,相比之前自己一级一级的创建,这个函数非常好用. 下面是php手册上的函数介绍: bool mkdir ( string $pathname [, int $ ...
- linux上的第一个c语言程序
1.编辑源文件 输入命令如下: root@ubuntu:/home/amy# vi hello.c 文件内容如下: #include<stdio.h> int main() { print ...