LEC6 Scientific Python
(从这一个lec开始,已经有很多具体代码的东西了,所以看着lec里的代码理解后,可以自己在IDE玩一下,熟练一下,所以从这一章的笔记更多的不再是知识点,而是python语法的积累)
Scatter Plot 散点图
np.linspace(0,10,1000) : 散点图的点,开始是零,结束为10, 分成一千个点连接
np.power(x,2) : x的二次方
plt.plot(x,y) : 绘图
plt.show() : 输出图片
fig, ax(代码命名) = plt.subplots() : 让图片更完整更好看
有了subplots后就可以set_xlabel(横坐标的名字), ylabel, xlim(横坐标的长度), ylim, set_title(图片的名字).......
Histogram 柱状图
Box Plot 箱线图
Image plot
Wire plot
如何根据数据的不同类型选择scikit-learn包中的算法
Decision tree representation
感觉这个exercise有点像幼儿教学,前两个都在ppt有写,那我就写一下第三个的
LEC 7
A general top-down algorithm
>> Step 1 : FindBestSplit(D,C)
寻找最佳的分裂点,D是训练实例,C是分裂点
>> Step 2 : DetermineCandidateSplit
这就是一个choose splits的问题,这里引入了期望和熵的概念
>> 期望 expectation:
X是一个有限数组,其中X1,X2,X3....Xk以p1,p2,p3.....p4的概率出现,那么X的期望就是,E[X] = p1*x1 + p2*x2 + … + pk*xk
LEC 8
>> Information theory background
一个推导过程,推出的结论是:
举一个例子:
>> Entropy 熵
熵是一种 与 随机变量 相关的 测量 不确定度uncertainty associated 的度量
定义为 传递变量 所需要的 bits的期望数量
>> Conditional entropy 条件熵
条件熵量化了在已知另一个随机变量值的情况下,描述一个随机变量结果所需的信息量
例:Y = PlayTennis X = Outlook ---> Compute H( Y | X )
Solution : (不知道对不对 自己算的)
Information gain
>> 在D区间里选择一个最能减少熵的条件s
例如在上题里,可以选择humandity也可以选择wind,我列出了humandity的infogain:
而用wind计算出来的infogain是0.048,减少的熵 0.048 < 0.151,所以 is it better to split on Humidity
infogain 最好用在有大量数据的时候更加的准确
Gain ratio 增益率
Gainratio是为了解决infogain需要大量数据的限制
(LEC7 和 LEC8 引入了一些概念,需要一些计算,可以多加上手计算,增强一些熟练度 )