今天有点时间就找来了iris数据实验了一下,就是可视化绘图感觉很好玩,就拿这个数据集做了一个实验,下面是简单的实验流程

1.获取iris数据写入本地csv文件,实现如下:

def write_iris_data2csv(csvpath='result/show/iris_data.csv'):'''读取sklearn库中的iris数据写入到csv文件中'''iris=load_iris()data=iris['data']  target=iris['target'].tolist()myfile=open(csvpath, 'wb')mywriter=csv.writer(myfile)mywriter.writerow(['Sepal.Length', 'Sepal.Width', 'Petal.Length', 'Petal.Width', 'Species'])for one_list in data.tolist():one_list.append(target.pop(0))mywriter.writerow(one_list)myfile.close()

数据结果截图如下:

2.绘制iris数据的散点图,iris数据通过打印可以看到一共是150个样本数据,每个样本数据包括4个特征,这里采用的方法是使用第一列数据作为x坐标,采用第二列数据作为y坐标来绘制iris数据的散点图,实现如下:

def draw_iris_data(csvpath='result/show/iris_data.csv', savepath='result/show/iris_data.png'):'''绘制iris数据的散点图'''x_list=[]y_list=[]csv_reader=csv.reader(open(csvpath))for one_line in csv_reader:print one_lineif one_line[0]!='Sepal.Length':x_list.append(one_line[0])y_list.append(one_line[1])  plt.xlabel('sepal-length') plt.ylabel('sepal-width')plt.title("iris_data_pic") plt.scatter(x_list,y_list,c='g',marker='x') plt.legend('x1') plt.savefig(savepath) 

结果如下:

3.使用sklearn封装好的决策树模型来对iris数据集进行分类,我们都知道iris数据集中一共是三个类别的花,每个类别样本数均为50,下面是具体实现:

def DT_iris_data(savepath, csvpath='result/show/iris_data.csv'):'''决策树分析iris数据''' x_list=[]y_list=[]data_list=[]label_list=[]csv_reader=csv.reader(open(csvpath))for one_line in csv_reader:if one_line[0]!='Sepal.Length':x_list.append(one_line[0])y_list.append(one_line[1])label_list.append(one_line.pop()) data_list.append(one_line)  model=DecisionTreeClassifier()  model.fit(data_list, label_list) predicted=model.predict(data_list)plt.legend('x1')plt.xlabel('sepal-length') plt.ylabel('sepal-width')plt.title("DT_iris_data_analysis_pic") plt.scatter(x_list, y_list, c=predicted, marker='o')  pl.savefig(savepath) 

结果如下:

4.使用sklearn库中的Kmeans对iris数据进行聚类处理,结果一共是三个类别,下面是具体实现:

def Kmeans_iris_data(savepath, csvpath='result/show/iris_data.csv'):'''Kmeans分析iris数据'''  x_list=[]y_list=[]data_list=[]label_list=[]csv_reader=csv.reader(open(csvpath))for one_line in csv_reader:if one_line[0]!='Sepal.Length':x_list.append(one_line[0])y_list.append(one_line[1])label_list.append(one_line.pop()) data_list.append(one_line)model=KMeans(n_clusters=3)  model.fit(data_list, label_list) predicted=model.predict(data_list)print 'predicted'print predictedplt.xlabel('sepal-length') plt.ylabel('sepal-width')plt.title("KMeans_iris_data_analysis_pic")plt.scatter(x_list, y_list, c=predicted, marker='o')  pl.savefig(savepath) 

结果如下:

简单的小实验,sklearn还有很多很多的机器学习模型可以用于分类和聚类实验,感兴趣的话可以都一一尝试一下,欢迎交流

Python获取sklearn库中iris数据写入本地csv文件,可视化展示数据并进行分类、聚类实验以及结果可视化相关推荐

  1. 数据存储在.csv文件乱码,数据写入才一部分就报错'gbk' codec can't encode character '\xee' in position 45: illegal multibyte

    使用python爬虫爬取规则数据后转化成来List格式,将其存储在.csv 文件中 使用Python写文件的时候,或者将网络数据流写入到本地文件的时候,大部分情况下会遇到:UnicodeEncodeE ...

  2. Python初探——sklearn库中数据预处理函数fit_transform()和transform()的区别

    敲<Python机器学习及实践>上的code的时候,对于数据预处理中涉及到的fit_transform()函数和transform()函数之间的区别很模糊,查阅了很多资料,这里整理一下: ...

  3. 利用python爬虫大量基金股票的净值写入到csv文件中方便做其他计算

    最近公司同事有一个需求就是能够一键抓到股票基金的净值,然后自己做运算,然后空闲时间给他写了个脚本,可能有的人会说python有第三方解析html,但是考虑到给别人用的复杂性,所以这里完全用正则表达式解 ...

  4. python调用js库中的函数_Python 调用JS文件中的函数

    Python 调用JS文件中的函数 1.安装PyExecJS第三方库 2.导入库:import execjs 3.调用JS文件中的方法 Passwd = execjs.compile(open(r&q ...

  5. 用python在csv追加数据_Python将一个CSV文件里的数据追加到另一个CSV文件

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  6. Python日常用法—将列表信息写入到csv文件、列表中的元素直接更改

    Python日常用法-将列表信息写入到csv文件 1.模板 # 编写数据 import csvdata_list = [{'皇马球员': 'C罗', '号码': '7', '国籍': '葡萄牙'}, ...

  7. Python 自动化指南(繁琐工作自动化)第二版:十六、使用 CSV 文件和 JSON 数据

    原文:https://automatetheboringstuff.com/2e/chapter16/ 在第 15 章,你学习了如何从 PDF 和 Word 文档中提取文本.这些文件是二进制格式的,需 ...

  8. c++ 写入文件_利用Python把数据存储在csv文件中

    鼠年第一天开盘,很多股票跌停,太闹心了!今天再找点开心的事情做吧.人生最幸福的事情莫过于看到自己写的程序调试通过了! 前面我们介绍了,如何用Python做一个串口通讯的上位机.用这个上位机我们可以从E ...

  9. Python爬虫获取文章的标题及你的博客的阅读量,评论量。所有数据写入本地记事本。最后输出你的总阅读量!

    Python爬虫获取文章的标题及你的博客的阅读量,评论量.所有数据写入本地记事本.最后输出你的总阅读量!还可以进行筛选输出!比如阅读量大于1000,之类的! 完整代码在最后.依据阅读数量进行降序输出! ...

  10. 【Python机器学习】Sklearn库中Kmeans类、超参数K值确定、特征归一化的讲解(图文解释)

    一.局部最优解 采用随机产生初始簇中心 的方法,可能会出现运行 结果不一致的情况.这是 因为不同的初始簇中心使 得算法可能收敛到不同的 局部极小值. 不能收敛到全局最小值,是最优化计算中常常遇到的问题 ...

最新文章

  1. CICC科普栏目丨时间之箭:从熵到大爆炸再到万物理论(一)
  2. 干就行了!!!写程序就像珊瑚,分支太多,哪有那么多复用!
  3. Ubuntu开启SSHD服务
  4. Python实战之子进程
  5. java 1.8 64_JDK 1.8 64位 下载 安装 配置
  6. 网易云创建添加推荐歌谱和删除操作
  7. 安卓音量设置流程之MasterVolume
  8. html优秀作品展示,31个漂亮的作品展示网页设计
  9. 用ESP8266获取网页信息+获取b站粉丝数案例
  10. 目前安卓模拟器哪个比较好?
  11. 跟Java面试官对线的一天!唬住就要50K,唬不住就要5K
  12. Android版添加phonegap-百度社会化分享插件教程
  13. 基于Java毕业设计东理咨询交流论坛源码+系统+mysql+lw文档+部署软件
  14. Android挂逼修炼之行---微信摇骰子和猜拳作弊器原理解析 (转载)
  15. 支付宝福卡破解——居中的ViewPager
  16. python 基础 | 4.运算符
  17. DHCPv6原理与配置
  18. element ui背景图_vue项目elementUi照片墙图片预览
  19. Django–模型层orm查询
  20. 朋友圈广告助手_2019年,微信朋友圈广告最受喜爱的10条

热门文章

  1. MySQL的快速修复
  2. 使用POI导出Excel公用类方法 v1.1
  3. Meclipse乱码解决方案
  4. 地理编码涉及的专项技术
  5. 阶段1 语言基础+高级_1-3-Java语言高级_03-常用API第二部分_第2节 Date类_3_DateFormat类SimpleDateFormat类...
  6. [Python WEB开发] 使用WSGI开发类Flask框架 (二)
  7. Python_代码练习_写一个判断是否为小数的函数
  8. 二维光子晶体带隙仿真Matlab完全程序_平面波展开法
  9. Python MySQL操作
  10. VS2005进行WORD文档开发