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 ...
随机推荐
- 如何查看自己的laravel版本
方法1: 使用php artisan --version ,只要能看懂这个命令的人一定已经具有初步的Laravel知识.再介绍一种不需要命令,直接去文件中去查看的方法. 方法2: 在项目文件中找ven ...
- .NET4缓存过期策略摘录
以下是网上搜索的资料,仅供参考: 资料一:ASP.NET缓存中Cache过期的三种策略(转自51CTO) 我们在页面上添加三个按钮并双击按钮创建事件处理方法,三个按钮使用不同的过期策略添加ASP.NE ...
- 关于bc 的scale .
linux下的bc命令可以设置结果的位数,通过 scale. 比如: $ echo "scale=4; 1.2323293128 / 1.1" | bc -l1.1202 但是sc ...
- ThreadPoolExecutor之四:jdk实现的ScheduledThreadPoolExecutor
一.定时任务调度方式常见的有: 1.cron是一个linux下的定时执行工具,一些重要的任务的定时执行可以通过cron来实现,例如每天凌晨1点备份数据等. 2.在JAVA WEB开发中,我们也经常需要 ...
- mysql索引之六:mysql高效索引之覆盖索引
概念 如果索引包含所有满足查询需要的数据的索引成为覆盖索引(Covering Index),也就是平时所说的不需要回表操作 判断标准 使用explain,可以通过输出的extra列来判断,对于一个索引 ...
- 屏蔽sql server 2008的智能提示
1. 去掉这个勾 2. 如果你安装了Sql complete, 接着下面的
- Ceph recover的速度控制
前言 磁盘损坏对于一个大集群来说,可以说是必然发生的事情,即使再小的概率,磁盘量上去,总会坏那么几块盘,这个时候就会触发内部的修复过程,修复就是让不满足副本要求的PG,恢复到满足的情况 一般是踢掉坏盘 ...
- PHP开发环境正确的错误信息处理
正确记录配置 php.ini display_errors = On error_reporting = E_ALL log_errors = On error_log = F:/data/php/e ...
- 3.Periodic Tasks
celery beat是一个调度器,它可以周期内指定某个worker来执行某个任务.如果我们想周期执行某个任务需要增加beat_schedule配置信息. broker_url='redis:/ ...
- 取当前时间,格式为,yyyy-mm-dd hh:mm:ss
function CurentTime() { var now = new Date(); var year = now.getFullYear(); //年 var month = now.getM ...