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 ...
随机推荐
- Source Insight中文字体设置
Source Insight是一个面向项目开发的程序编辑器和代码阅读工具,它拥有内置的对C/C++, C#和Java等程序的分析,分析你的源代 码并在你工作的同时动态维护它自己的符号数据库,并自动为你 ...
- erlang分布式例子
抄袭自 http://www.blogjava.net/killme2008/archive/2007/06/29/127099.html 简单的说,就是 主机上需要同时启用短节点名,或者长节点名 保 ...
- Eclipse 模拟http 请求插件Rest Client
eclipse update 网址 http://nextinterfaces.com/http4e/install/ 参考 http://www.nextinterfaces.com/eclips ...
- 【转】 Pro Android学习笔记(九六):AsyncTask(5):横竖屏切换问题
目录(?)[-] 横竖屏切换的问题 WeakReference 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flow ...
- Linux下的Memcache安装,启动
一.linux安装memcache 1. 如果通过下载源码进行安装,则需要下载最新版本http://memcached.googlecode.com/files/memcached-1.4.13.ta ...
- zufeoj 花生(The Peanuts)
花生(The Peanuts) 时间限制: 1 Sec 内存限制: 128 MB提交: 3 解决: 2[提交][状态][讨论版] 题目描述 鲁宾逊先生和他的宠物猴,多多,非常喜欢花生.有一天,他们 ...
- Oracle 常见hint
Hints 应该慎用,收集相关表的统计信息,根据执行计划,来改变查询方式 只能在SELECT, UPDATE, INSERT, MERGE, or DELETE 关键字后面,只有insert可以用2个 ...
- 40个Java多线程问题总结【转】
1.多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡.所谓”知其然知其所以然”,”会用”只是”知其然”,”为什么用”才是”知其所以然 ...
- PHP操作Redis(一) PHP连接Redis,含Redis密码验证、指定某一Redis数据库
台服务器上都快开启200个redis实例了,看着就崩溃了.这么做无非就是想让不同类型的数据属于不同的应用程序而彼此分开. 那么,redis有没有什么方法使不同的应用程序数据彼此分开同时又存储在相同的实 ...
- infos
C++文件流 iostream 提供了cin cout 分别用于从标准输入读取流和向标准输出写入流cout 标准输出 屏幕 输出写入fstream文件流 cin 从标准输入读取cout 向标准输入写入 ...