摘要:
多元分类 之前介绍过二元分类器,可以将数据分成两个类别(例如“数字5”和“非数字5”)。多元分类器(也称为多项式分类器)可以区分两个以上的类别。 有些算法(例如随机森林或朴素贝叶斯)可以直接处理多个类别。其他如SVM、线性分类器则是严格的二元分类器。不过我们仍有很多不同的办法可以让二元分类器实现多元 阅读全文
摘要:
ROC曲线 ROC曲线是二元分类器中常用的工具,它的全称是 Receiver Operating Characteristic,接收者操作特征曲线。它与precision/recall 曲线特别相似,但是它画出的是true positive rate(recall的另一种叫法)对应false pos 阅读全文
摘要:
混淆矩阵 衡量一个分类器性能的更好的办法是混淆矩阵。它基于的思想是:计算类别A被分类为类别B的次数。例如在查看分类器将图片5分类成图片3时,我们会看混淆矩阵的第5行以及第3列。 为了计算一个混淆矩阵,我们首先需要有一组预测值,之后再可以将它们与标注值(label)进行对比。我们也可以在测试集上做预测 阅读全文
摘要:
性能衡量 评估一个分类器的性能一般比评估一个回归器(regressor)更为复杂,所以我们会在这里大篇幅介绍分类器的性能评估,并且它也有多种评估方法。 使用CV衡量准确度 一个比较好的评估模型的办法是使用交叉验证。sk-learn提供了一个交叉验证精准度的方法cross_val_score(),不过 阅读全文
摘要:
分类问题 在机器学习中,主要有两大类问题,分别是分类和回归。下面我们先主讲分类问题。 MINST 这里我们会用MINST数据集,也就是众所周知的手写数字集,机器学习中的 Hello World。sk-learn 提供了用于直接下载此数据集的方法: from sklearn.datasets impo 阅读全文
摘要:
模型微调 假设我们现在已经有了几个效果还不错的模型,接下来我们要对它们进行调优。下面我们介绍几种调优的方法。 网格搜索 第一个方法是通过手动调整超参数,直到发现一组使模型表现良好的超参数。这个是一个很耗时的工作,手动调整的话,可能没有这么多时间探索这些超参数组合。 不过在sk-learn 中提供了G 阅读全文
摘要:
选择并训练模型 至此,我们已明确了问题,并对数据进行了预处理。现在我们选择并训练一个机器学习模型。 在训练集上训练模型 这个过程相对来说较为简单,我们首先训练一个线性回归模型: from sklearn.linear_model import LinearRegression lin_reg = L 阅读全文
摘要:
为机器学习准备数据 下面我们开始为机器学习算法准备数据,首先我们将训练集中的 label(也就是median_house_value)分出来: housing = strat_train_set.drop('median_house_value', axis=1) housing_labels = 阅读全文
摘要:
探索并可视化数据 到目前为止我们已经大致浏览了数据集,我们下一步的目标是更深入的了解数据集。 首先,我们要将测试集放在一边,确保我们仅浏览训练集。当然,如果训练集特别大的话,我们可能需要对它进行采样,获取它的一个小样本集进行研究。在我们的这个例子中,这个数据集非常小,所以我们可以直接在整个训练集上进 阅读全文
摘要:
机器学习项目流程 在这我们会从头开始做一个机器学习项目,向大家展示一个机器学习项目的一个基本流程与方法。一个机器学习主要分为以下几个步骤: 从整体上了解项目 获取数据 发现并可视化数据,以深入了解数据 为机器学习算法准备数据 选择模型并训练 模型调优 展示解决方案 部署、监控、以及维护我们的系统 我 阅读全文