机器学习-数据可视化神器matplotlib学习之路(五)
2024-08-28 05:57:26
这次准备做一下pandas在画图中的应用,要做数据分析的话这个更为实用,本次要用到的数据是pthon机器学习库sklearn中一组叫iris花的数据,里面组要有4个特征,分别是萼片长度、萼片宽度、花瓣长度、花瓣宽度,目标值是3种不同类型的花。
机器学习的时候在学习好这四个特征后就可以用来预测花的类型了,而图像化分析这些数据就是机器学习中很关键的步骤,接下来我们开始,先导入数据:
import pandas as pd
from sklearn import datasets
from sklearn import preprocessing data = datasets.load_iris()#载入iris数据
# data = preprocessing.scale(boston.data)#正则化数据
pd.set_option('display.max_columns', None)
d1_x = pd.DataFrame(data.data, columns=data.feature_names)
d1_y = pd.Series(data.target)
print(d1_x.head())
print(d1_y.head())
部分数据展示如下,可以看出有4个不同特征,3种不同的话目标值分别是0,1,2
sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)
0 5.1 3.5 1.4 0.2
1 4.9 3.0 1.4 0.2
2 4.7 3.2 1.3 0.2
3 4.6 3.1 1.5 0.2
4 5.0 3.6 1.4 0.2
0 0
1 0
2 0
3 0
4 0
dtype: int32
很多时间图像更能直观反映出数据,接下来开始正题:
from matplotlib import pyplot as plt
import pandas as pd
from sklearn import datasets
from sklearn import preprocessing data = datasets.load_iris()#载入iris数据
# data = preprocessing.scale(boston.data)#正则化数据
pd.set_option('display.max_columns', None)
d1_x = pd.DataFrame(data.data, columns=data.feature_names)
d1_y = pd.Series(data.target)
print(d1_x.head())
print(d1_y.head()) d1_x.plot(linestyle='--', marker='.', alpha=0.5) #DataFrame的画图方式,依赖于matplotlib
d1_y.plot(linestyle='-', linewidth=1.5, alpha=0.5, color='b', label='type')
plt.legend()
plt.show()
是不是很简单,和之前plt.plot()的画图几乎一样的,结果如下:
从上图中,比较直观的我可以看出,sepal width与花种类关系不大,其它三个特征则关系密切,根据这个图像分析从而可以进行下一步。
接下来,看看其它类型的图,由于这里数据不太适合条形图,那自己造一点数据吧:
from matplotlib import pyplot as plt
import pandas as pd
import numpy as np d1 = pd.DataFrame(np.random.rand(5, 3), columns=['A', 'B', 'C']) # 方法一
d1.plot.bar(cmap='summer')
# 方法二
#d1.plot(kind='bar', colormap='cool')
plt.show()
画条形图有两中方式,看代码,是不是很简单,其它图形就不全部都写出来了,方式都差不多,今天就到这里了。
最新文章
- [转]C/C++ 程序员必须收藏的资源大全
- DirectX9 Sample_Empty Project
- 20169212《Linux内核原理与分析》 第九周作业
- Ninject之旅之一:理解DI
- ServletConfig对象和它在开发中的应用场
- Java中怎样由枚举常量的ordinal值获得枚举常量对象
- INSERT DELAYED 句法
- sublime常用插件及配置,自留自用
- Listener与Filter
- flume taidir to kafkasink
- Linux的.pid文件
- Promise.then
- js页面实时显示时间
- php如何优雅地把数组传递给前端js脚本?
- Android Drawable Mipmap Vector使用及Vector兼容
- Linux下批量管理工具pssh使用记录
- Java-Maven-Runoob:Maven 快照(SNAPSHOT)
- AnkhSVN使用手册
- struts+hibernate+spring整合过程常见问题收集
- Iass、Pass、SasS三种云服务区别?
热门文章
- Rufus 制作 USB 启动盘简单教程
- Spark中的Spark Shuffle详解
- [LeetCode] 711. Number of Distinct Islands II_hard tag: DFS
- python图片处理(一)
- javascript利用jquery-1.7.1来判断是否是谷歌Chrome浏览器
- 24最小生成树之Prim算法
- MySQL从删库到跑路(六)——SQL插入、更新、删除操作
- [Data Access] ORM 原理 (11): 效能議題
- java后台获取和js拼接展示信息
- js 变量 作用域及内存