优达学城--机器学习入门

第4部分:数据分析基础

4.4 使用numpy和pandas分析数据
GapMinder数据分析:
    提出5个问题:
        1 GDP和就业率有什么关系?
        2 GDP和男女性毕业率有什么关系?
        3 GDP和预期寿命之间的关系?
        4 预期寿命和毕业率之间的关系?
        5 预期寿命和就业率之间的关系?
        6 美国就业率随着时间发生了什么变化?
        7 最近的数据最高和最低的就业率是多少?
        8 各国有没有共同的趋势
Python和numpy的对比分析:
+= 与 +的区别:
+= 也称为原位运算
+ 非原位运算
数组是原位(In-place)运算
4.4 使用numpy和pandas分析二位数据:
Pandas相比numpy的几点优势:
  可以有列名,索引,数据类型没有限制


访问DataFrame数据:
  获取一行数据: loc["行名"]、iloc[position]
  获取一列数据:pd['列名']或pd[position]

第五部分:模型的评估和验证

1评估指标:
1 评估指标注意事项:区分训练数据和测试数据。
2 分类和回归:
分类涉及到根据未见过的样本进行预测,并确定新实例属于哪个类别。
例如,可以根据蓝色或红色或者方形或圆形来组织对象,以便在看到新对象时根据其特征来组织对象。
在回归中,我们想根据连续数据来进行预测。
例如,我们有包含不同人员的身高、年龄和性别的列表,并想预测他们的体重。
3 分类指标和回归指标:
在分类中,我们想了解模型隔多久正确或不正确地识别新样本一次。我们会探讨准确率、精确率、召回率和 F 分数。
而在回归中,我们可能更关注模型的预测值与真正值之间差多少,我们会探讨平均绝对误差和均方误差。
4 准确率
准确率实际上是所有被正确标示的数据点除以所有的数据点。
7 准确率的缺陷:
   7.1在出现偏斜类时出现问题
   7.2 期望某人的概率最高的检测
   7.3 期望某人概率最低的检测
8 选择最合适的指标:
    我们允许误测,但决不允许遗漏  
    熟悉自己选择指标的缺点及常见错误,并尽量避免。
9 混淆矩阵(confusion matrix):
14 决策树混淆矩阵:
15 准确率(precision)和召回率(Recall)
24 F1分数:
    可将 F1 分数理解为精确率和召回率的加权平均值,其中 F1 分数的最佳值为 1、最差值为 0:
    F1 = 2 * (精确率 * 召回率) / (精确率 + 召回率)
25 回归指标
26 平均绝对误差:
    平均绝对误差的计算方法是,将各个样本的绝对误差汇总,然后根据数据点数量求出平均误差。
    通过将模型的所有绝对值加起来,可以避免因预测值比真实值过高或过低而抵销误差,并能获得用于评估模型的整体误差指标。
27 均方误差
28 回归分数函数:
    其中之一是R2分数,用来计算真值预测的可决系数。在 scikit-learn 里,这也是回归学习器默认的分数方法。
    另一个是可释方差分数
    虽然眼下我们不会详细探讨这些指标,一个要记住的重点是:
    回归的默认指标是“分数越高越好”;即,越高的分数表明越好的表现。
    而当我们用到前面讲的误差指标时,我们要改变这个设定。

F1分数相关资料
平均绝对误差和如何在 sklearn 中使用它的更多信息
均方误差
R2分数
可释方差分数

填充混淆矩阵.png
决策树混淆矩阵.png
准确率和召回率.png
准确率和召回率公式.png
2 误差原因:
1 误差原因:
    在模型预测中,模型可能出现的误差来自两个主要来源,即:
    因模型无法表示基本数据的复杂度而造成的偏差(bias),
    或者因模型对训练它所用的有限数据过度敏感而造成的方差(variance)。
2 偏差:
    如果模型具有足够的数据,但因不够复杂而无法捕捉基本关系,则会出现偏差。
    这样一来,模型一直会系统地错误表示数据,从而导致准确率降低。这种现象叫做欠拟合(underfitting)。
    简单来说,如果模型不适当,就会出现偏差。
    举个例子:如果对象是按颜色和形状分类的,但模型只能按颜色来区分对象和将对象分类(模型过度简化),因而一直会错误地分类对象。
3 方差:
   在训练模型时,通常使用来自较大训练集的有限数量样本。
    如果利用随机选择的数据子集反复训练模型,可以预料它的预测结果会因提供给它的具体样本而异。
    在这里,方差(variance)用来测量预测结果对于任何给定的测试样本会出现多大的变化。

   出现方差是正常的,但方差过高表明模型无法将其预测结果泛化到更多的数据。
     对训练集高度敏感也称为过拟合(overfitting),而且通常出现在模型过于复杂或我们没有足够的数据支持它时。

   通常,可以利用更多数据进行训练,以降低模型预测结果的方差并提高精度。
    如果没有更多的数据可以用于训练,还可以通过限制模型的复杂度来降低方差。 

第5部分:预测波士顿房价:

问题1 :在已经安装了python3.x的系统里,怎么使用python2.x?
    安装anaconda
     conda create -n py2 python=2.7
            #
    # To activate this environment, use:
    # > source activate py2
    #
    # To deactivate an active environment, use:
    # > source deactivate
    #
Tornado:
这是python的web框架和异步网络请求库。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容