用的数据集是uci机器学习库的数据 ‘iris.data’

  1. from sklearn import svm
  2. import csv
  3. from sklearn.model_selection import train_test_split
  4. from sklearn.metrics import accuracy_score
  5. from sklearn.metrics import confusion_matrix
  6. from sklearn.metrics import classification_report
  7. from sklearn.preprocessing import StandardScaler
  8. import numpy as np
  9.  
  10. def change(s):
  11. #就是这一句话。。。。哎,以后发现类型判断错误,可以看看type的类别
  12. bs = str(s, encoding="utf8")
  13.  
  14. if(bs=='Iris-virginica'):
  15. return 2
  16. elif (bs == 'Iris-setosa'):
  17. return 0
  18. elif (bs == 'Iris-versicolor'):
  19. return 1
  20. tezheng=[]#用来存放特征的东西
  21. cate=[]#用来存放结果
  22. path = 'iris.data'
  23. data=np.loadtxt(path, dtype=float, delimiter=',',converters={4: change})
  24.  
  25. #遍历
  26. for content in data:
  27. #这句话非常的重要,将content转为list,才能正确放入到数据中
  28. content=list(content)
  29. #将前四个特征存入tezheng中,最后一列的=存入cate结果集中
  30. tezheng.append(content[0:4])
  31. cate.append(content[-1])
  32.  
  33. #建立xvm的模型
  34. # 标准化sca转换
  35. scaler = StandardScaler()
  36. # 训练标准化对象
  37. scaler.fit(tezheng)
  38. # 转换数据集,一般是归一化处理
  39. traffic_feature= scaler.transform(tezheng)
  40. #分割测试集和训练集
  41. feature_train, feature_test, target_train, target_test = train_test_split(traffic_feature, cate, test_size=0.4,random_state=1)
  42. #svc分类器进行一个参数的设置
  43. clf = svm.SVC(C=1, kernel='rbf', gamma=20, decision_function_shape='ovr')
  44. # clf = svm.SVC(C=0.1, kernel='linear', decision_function_shape='ovr')
  45. #将训练数据放到里面,到这一步的时候 suv已经完成了
  46. clf.fit(feature_train,target_train)
  47.  
  48. #这边是开始预测了,输入的测试集
  49. predict_results=clf.predict(feature_test)
  50. #预测结果和原来结果进行的一个对比
  51. print(accuracy_score(predict_results, target_test))
  52. #参数结果 包括准确率 召回率 f1
  53. print(classification_report(target_test, predict_results))

  

  1. 0.8
  2. precision recall f1-score support
  3.  
  4. 0.0 1.00 0.68 0.81 19
  5. 1.0 0.94 0.76 0.84 21
  6. 2.0 0.63 0.95 0.76 20
  7.  
  8. micro avg 0.80 0.80 0.80 60
  9. macro avg 0.86 0.80 0.80 60
  10. weighted avg 0.86 0.80 0.81 60
  11.  
  12. Process finished with exit code 0

  

svm的第一个实例的更多相关文章

  1. 【C# -- OpenCV】Emgu CV 第一个实例

    原文 [C# -- OpenCV]Emgu CV 第一个实例 Emgu CV下载地址 http://sourceforge.net/projects/emgucv/files/ 找最新的下就行了,傻瓜 ...

  2. Thrift教程初级篇——thrift安装环境变量配置第一个实例

    前言: 因为项目需要跨语言,c++客户端,web服务端,远程调用等需求,所以用到了RPC框架Thrift,刚开始有点虚,第一次接触RPC框架,后来没想到Thrift开发方便上手快,而且性能和稳定性也不 ...

  3. Konckout第一个实例:简单数据模型绑定

    Konck是什么: http://www.aizhengli.com/knockoutjs/50/knockout.html 使用:直接引入knockout.js文件 第一个实例:实现输入框输入值改变 ...

  4. Vue.js学习和第一个实例

    第一个实例效果图: 1.node.js下载,然后安装.下载地址:链接:http://pan.baidu.com/s/1o7TONhS 密码:fosa 2.下载Vue.js.链接:http://pan. ...

  5. Highmaps网页图表教程之Highmaps第一个实例与图表构成

    Highmaps网页图表教程之Highmaps第一个实例与图表构成 Highmaps第一个实例 下面我们来实现本教程的第一个Highmaps实例. [实例1-1:hellomap]下面来制作一个中国地 ...

  6. JAVA-MyEclipse第一个实例

    相关资料: <21天学通Java Web开发> 实例代码: MyEclipse第一个实例1.打开MyEclipse程序.2.在PacKage视图->右击->New|Web Pr ...

  7. C# 实现程序只启动一次(多次运行激活第一个实例,使其获得焦点,并在最前端显示)

    防止程序运行多个实例的方法有多种,如:通过使用互斥量和进程名等.而我想要实现的是:在程序运行多个实例时激活的是第一个实例,使其获得焦点,并在前端显示. 主要用到两个API 函数: ShowWindow ...

  8. 小白的springboot之路(一)、环境搭建、第一个实例

    小白的springboot之路(一).环境搭建.第一个实例 0- 前言 Spring boot + spring cloud + vue 的微服务架构技术栈,那简直是爽得不要不要的,怎么爽法,自行度娘 ...

  9. 学习WCF入门的第一个实例

    一.概述 WCF说白了就是一个基于终结点的通信手段!就是Service端提供一定的功能实现,然后暴露出一个或多个终结点,Client端调用Service端的功能(可以理解为调用一个函数),那么Clie ...

随机推荐

  1. LaunchImage添加以及设置无效处理

    1.添加LaunchImage 2.添加所需要图片即可,出现un..可以删除,警告也随之而去,并删除LauchImage Assets之后重新添加 3.确定设置是否一样 4.发现启动后加载不了启动图, ...

  2. php调试时echo,print_r(),var_dump()的区别

    简单说: var_dump() 能打印出类型 print_r() 只能打出值echo() 是正常输出... 需要精确调试的时候用 var_dump();一般查看的时候用 print_r() 另外 , ...

  3. 【转】分布式存储和一致性hash

    本文我将对一致性算法作介绍,同时谈谈自己对一致性hash和一般意义上的hash算法的区别 hash是什么 hash即hash算法,又称为散列算法,百度百科的定义是 哈希算法将任意长度的二进制值映射为较 ...

  4. java中抽象类跟接口的区别

    额,好吧,本来是打算转载些神马的,但是搜资料的过程中发现了一个专注与java的人,那就关注啦,以后多进他blog学习学习:http://www.cnblogs.com/chenssy/p/337670 ...

  5. Centos 6.* / 7.*下通过yum安装php7

    查看 centos 版本 # cat /etc/centos-release 删除之前的 php 版本 # yum remove php* php-common rpm 安装 Php7 相应的 yum ...

  6. select 设置发送超时发送注意事项

    //设置发送超时你只发送, 并发送足够多的数据以填满发送缓冲区, 接收端一直不接收.发送端一量满发送缓冲区就会阻塞, 如果你设置了发送超时, 超时到了它就会返回发送超时了. 在send(),recv( ...

  7. flask系列九之使用falsk建立项目总结

    待续.... 源码地址:https://gitee.com/FelixBinCloud/ZhiLiaoDemo/tree/master/ZhiLiao

  8. Storm集群详细部署

    1.安装zookeeper 3.1下载zookeeper安装包, 建议下载3.4.5及以上的版本 http://www.apache.org/dyn/closer.cgi/zookeeper/ 3.2 ...

  9. leetcode806

    vector<int> numberOfLines(vector<int>& widths, string S) { map<char, int> MAP; ...

  10. mfs教程(一)

    对于mfs文件系统也用了半年了,确实不错,最近又翻译了作者的三篇文章,再此一同发上,希望对大家有所帮助.不足之处还请指出,以便完善,谢谢! 感谢网友nonamexz做了精美的pdf文档 MFS文件系统 ...