Visualizing Data
pyplot.plot是line chart
pyplot.bar是bar chart
pyplot.scatter是scatter chart
Linear Algebra
- reduce 函数的第一个参数必须是一个二元函数,它的逻辑是,对第二个参数的前两个数值执行该二元函数,并重复。
def vector_add(v, w):
"""adds two vectors componentwise"""
return [v_i + w_i for v_i, w_i in zip(v,w)]
def vector_sum(vectors):
return reduce(vector_add, vectors)
Statistics
counter真是挺方便
sample的 variance 公式中,分母是N-1而不是N的原因是什么?这本书里的简易解释是,sample的分子小于population的分子,所以分母也相应变小。
-
covariance解释得很易懂,两个序列,各减去其平均值然后点乘,得到的是正数的话说明两个序列同时比平均值大或者同时比平均值小,值越大,偏离的同步性越高。这是个定性的解释,定量解释还得看数学。
- covariance有个问题,如果一个序列整体放大为原来的两倍,这是说相关性也放大了两倍吗?一个大的covariance到底意味着什么?
correlation就更为常用了,covariance/(std_dev(x)*std_dev(y)),用这个数值的话,一个序列整体变大2倍,correlation保持不变。
correlation对outlier很敏感。