机器学习测试笔记(7)——可视化

2021-01-04 14:23:42 浏览数 (1)

代码语言:javascript复制
# coding:utf-8
import numpy asnp
import pandas aspd
importmatplotlib.pyplot as plt#pip3 install matplotlib
importseaborn as sns#pip3 install seaborn

1 折线

代码语言:javascript复制
defbroken_line():
    s = pd.Series(np.random.randn(20).cumsum())
    s.plot(style='o-',xlim=[0,22],grid=True)
    plt.show()
    df =pd.DataFrame(np.random.randn(10,3).cumsum(0),
                      columns = ['A','B','C'],
                      index =np.arange(0,100,10))
    df.plot()
    plt.show()

2 柱状图

代码语言:javascript复制
def Histogram():
    flag,axes = plt.subplots(2,1)
    s =pd.Series(np.random.randn(10),index=list('ABCDEFGHIJ'))
    s.plot.bar(ax=axes[0])#纵向柱状图
    s.plot.barh(ax=axes[1])#横向柱状图
    plt.show()
    flag,axes = plt.subplots(2,1)
    df = pd.DataFrame(np.random.randn(6,3),
                      index = list('abcdef'),
                      columns =list('ABC'))                    
    df.plot.bar(ax=axes[0])
    df.plot.barh(ax=axes[1],stacked=True)#stacked=True表示生成堆积柱状图
    plt.show()

3.直方图和密度图

代码语言:javascript复制
def density_map():
    flag,axes = plt.subplots(2,1)
    s = pd.Series(np.random.randn(100))
    s.plot.hist(ax=axes[0])#直方图
    s.plot.density(ax=axes[1])#密度图
#C:Usersxiang>pip3 install scipy
    plt.show()
    s = pd.Series(np.random.normal(0,1,100))
    sns.distplot(s,color='g')
    plt.show()

sns.distplot(a,bins=None, hist=True, kde=True, rug=False, fit=None, hist_kws=None,kde_kws=None, rug_kws=None, fit_kws=None, color=None, vertical=False,norm_hist=False, axlabel=None, label=None, ax=None)

关键参数

  • hist和kde:通过hist和kde参数调节是否显示直方图及核密度估计(默认hist,kde均为True)
  • bins:int或list,控制直方图的划分
  • rag:控制是否生成观测数值的小细条
  • fit:控制拟合的参数分布图形,能够直观地评估它与观察数据的对应关系(黑色线条为确定的分布)
  • hist_kws, kde_kws, rug_kws, fit_kws参数接收字典类型,可以自行定义更多高级的样式
  • norm_hist:若为True, 则直方图高度显示密度而非计数(含有kde图像中默认为True)

4.散点图

代码语言:javascript复制
defscatter_diagram():
    df = pd.DataFrame(np.random.randn(100,3),
                      columns = list('ABC'))
    sns.regplot('A','B',data=df)#散点图
    plt.show()
    sns.pairplot(df,diag_kind='kde')#散布图
    plt.show()
代码语言:javascript复制
if __name__=="__main__":
    broken_line()
    Histogram()
    density_map()
    scatter_diagram()

—————————————————————————————————

0 人点赞