最近一直没有更新文章,在学习Machine learning。然后业余在kaggle那里瞎转,对Python常用的作图摸了个遍,本文将对这些作图方法做个简单介绍
一般我们作图主要是为了看数据分布、数据趋势、以及比较大小。常用的图包括:
line(折线图):展示趋势
scatter (散点图):展示分布(机械学习中经常使用)
bar (柱状图):感觉柱状图主要是多项目的趋势比较
pie (饼图):展示分布
box (箱型图):展示单个项目数据的分布细节
heatmap (热力图):主要是列联表表示数据相对大小
作图的工具有很多,例如Pandas、Seaborn、ggplot、Bokeh、Plotly、Pypal。而对于我来说,作图的工具主要就是两种matplotlib和seaborn两种。matplotlib可以在numpy数组里面使用,也可以处理pandas中的dataframe。
此外matplotlib还是python作图的基础包,大部分作图模块都是基于matplotlib来的,因此matplotlib的自定义属性最高。为了减少美化以及配色的麻烦,我一般时候喜欢作图的使用通过引用ggplot的style来解决美化问题:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.style.use('ggplot') ##使得作图自带色彩,这样不用费脑筋去考虑配色什么的;
%matplotlib inline
numpy array的作图
numpy数组主要是出现在python的数据分析里面,例如,在监督型学习的时候,需要做对分布的散点进行模式识别,并拟合。在拟合的过程中,需要用到梯度下降法,为了快速了解收敛的过程,需要对cost function进行监督。
在这里先不描述梯度下降法的作图方法,先简单介绍numpy数组的散点图以及拟合方法(注意poly1d不是拟合方法,而是一个多项式生成器,真正的拟合在polyfit那里)。通过linspace生成一组数据,并引入random&#