数据可视化matplotlib、seaborn、pydotplus

如需转发,请注明出处:小婷儿的python  https://www.cnblogs.com/xxtalhr/p/10486560.html

一、数据可视化

data.mat

链接:https://pan.baidu.com/s/1XMi-71QzlzkGppN17AS1bw
提取码:uddg

     

 方法一

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import scipy.io as sio

#导入数据

mat = sio.loadmat('../data.mat')
mat.keys()
data1 = pd.DataFrame(mat.get('X'), columns=['X1''X2'])
data1.head()

fig, ax = plt.subplots(figsize=(12,8))
ax.scatter(data1['X1'],data1['X2'])
plt.show()

      方法二

plt.figure(figsize=(12,8))
plt.scatter(data1['X1'],data1['X2'])
plt.show()

      方法三

sns.lmplot('X1''X2', data=data1, fit_reg=False)
plt.show()

 三种方法运行结果:

 

   方法四 决策树的可视化

 

#首先载入类库:
from sklearn.datasets import load_iris
from sklearn import tree
import pydotplus
import os

#接着载入sciki-learn的自带数据,有决策树拟合,得到模型:
iris = load_iris()
clf = tree.DecisionTreeClassifier()
clf = clf.fit(iris.data, iris.target)

#现在可以将模型存入dot文件iris.dot。
with open("./iris.dot"'w'as f:
    f = tree.export_graphviz(clf,out_file=f)

#这时候我们有3种可视化方法,第一种是用graphviz的dot命令生成决策树的可视化文件,
#敲完这个命令后当前目录就可以看到决策树的可视化文件iris.pdf.打开可以看到决策树的模型图。

#方法4.1   注意,这个命令在命令行执行
dot -Tpdf iris.dot -o iris.pdf

#方法4.2   用pydotplus生成iris.pdf。这样就不用再命令行去专门生成pdf文件了。

import pydotplus 

dot_data = tree.export_graphviz(clf, out_file=None
graph = pydotplus.graph_from_dot_data(dot_data) 
graph.write_pdf("iris.dots.pdf"
os.environ['PATH'] += os.pathsep+ 'C:\Program Files (x86)\Graphviz2.38\bin'

#方法4.3   个人比较推荐的做法,因为这样可以直接把图产生在ipython的notebook。
from IPython.display import Image  
import pydotplus

dot_data = tree.export_graphviz(clf, out_file=None
                         feature_names=iris.feature_names,  
                         class_names=iris.target_names,  
                         filled=True, rounded=True,  
                         special_characters=True)  
graph = pydotplus.graph_from_dot_data(dot_data)  
Image(graph.create_png()) 

 方法四结果:

 

欢迎关注小婷儿的博客:

  csdn:https://blog.csdn.net/u010986753

  博客园:http://www.cnblogs.com/xxtalhr/

 

  有问题请在博客下留言或加作者微信:tinghai87605025 或 QQ :87605025

  python QQ交流群:py_data 483766429

 

  OCP培训说明连接:https://mp.weixin.qq.com/s/2cymJ4xiBPtTaHu16HkiuA

  OCM培训说明连接:https://mp.weixin.qq.com/s/7-R6Cz8RcJKduVv6YlAxJA

 

  小婷儿的python正在成长中,其中还有很多不足之处,随着学习和工作的深入,会对以往的博客内容逐步改进和完善哒。

重要的事多做几遍。。。。。。

 

 

 

 

 

 

posted @ 2019-03-06 22:22  小婷儿  阅读(2455)  评论(1编辑  收藏  举报
levels of contents