随笔分类 - 《Pyhton机器学习基础教程》
这是一个读书笔记
摘要:4、停用词 删除没有信息量的单词还有另一种方法,就是舍弃那些出现次数太多以至于没有信息量的单词。有两种主要方法:使用特定语言的停用词(stopword)列表,或者舍弃那些出现过于频繁的单词。 scikit-learn 的 feature_extraction.text 模块中提供了英语停用词的内置列
阅读全文
摘要:我们讨论过表示数据属性的两种类型的特征:连续特征与分类特征,前者用于描述数量,后者是固定列表中的元素。 第三种类型的特征:文本 文本数据通常被表示为由字符组成的字符串。 1、用字符串表示的数据类型 文本通常只是数据集中的字符串,但并非所有的字符串特征都应该被当作文本来处理。 字符串特征有时可以表示分
阅读全文
摘要:1、通用的管道接口 Pipeline 类不但可用于预处理和分类,实际上还可以将任意数量的估计器连接在一起。 例如,你可以构建一个包含特征提取、特征选择、缩放和分类的管道,总共有 4 个步骤。同样,最后一步可以用回归或聚类代替分类。 对于管道中估计器的唯一要求就是,除了最后一步之外的所有步骤都需要具有
阅读全文
摘要:对于许多机器学习算法,你提供的特定数据表示非常重要。 首先对数据进行缩放,然后手动合并特征,再利用无监督机器学习来学习特征。 因此,大多数机器学习应用不仅需要应用单个算法,而且还需要将许多不同的处理步骤和机器学习模型链接在一起。 举一个例子来说明模型链的重要性。 我们知道,可以通过使用 MinMax
阅读全文
摘要:1、多分类指标 前面已经深入讨论了二分类任务的评估,下面来看一下对多分类问题的评估指标。 多分类问题的所有指标基本上都来自二分类指标,但要对所有类别进行平均。 除了精度,常用的工具有混淆矩阵和分类报告 sklearn.metrics.confusion_metrix sklearn.metrics.
阅读全文
摘要:精度可以作为度量模型好坏的一个指标,它表示预测正确的样本数占所有样本数的比例。 但是在实践中,我们通常不仅对精确的预测感兴趣,还希望将这些预测结果用于更大的决策过程 1、 二分类指标 我们先看一下测量精度可能会怎么误导我们 1.1错误类型 ⭐精度并不能很好地度量预测性能,因为我们所犯得错误并不包括我
阅读全文
摘要:我们已经知道如何评估一个模型的泛化能力:交叉验证 接着学习如何通过调参来提升模型的泛化能力 ⭐网格搜索:尝试我们所关心的参数的所有可能组合 1、简单网格搜索 from sklearn.svm import SVC from sklearn.model_selection import train_t
阅读全文
摘要:⭐为什么要划分测试集与训练集? 用测试集度量模型对未见过数据的泛化性能 ⭐交叉验证 数据被多次划分,需要训练多个模型 最常用K折交叉验证 k是用户指定的数字,通常取0/5, 5折交叉验证:数据划分为5部分,每一部分叫做折。每一折依次轮流作为测试集,其余做训练集 mglearn.plots.plot_
阅读全文
摘要:任务: 要求预测给定日期和时间,预测会有多少人在Andreas的家门口组一辆自行车。 1、先看一下数据集数据集 自行车数据集给出了2015年8月每天的自行车租赁的数目,每隔3小时统计一次 from sklearn.model_selection import train_test_split fro
阅读全文
摘要:⭐在添加新特征或处理一般的的高维数据集,最好将特征的数量减少到只包含最有用的那些特征,并删除其余特征 然而,如何判断每个特征的作用呢? 三种基本的策略: 1、单变量统计 2、基于模型的选择 3、迭代选择 这些都是监督方法,需要划分测试集和训练集,并旨在训练集上拟合特征选择 1、单变量统计 ⭐我们计算
阅读全文
摘要:特征和目标之间存在非线性关系,建模变得很困难 ⭐log和exp函数可以帮助调节数据的相对比例,改进线性模型或者神经网络的学习效果 ⭐大部分模型在每个特征遵循高斯分布时表现很好 ⭐在处理整数计数数据时,这种log,exp变换非常有用 1、模拟一些数据 模拟钟形分布的数据 from sklearn.li
阅读全文
摘要:⭐想要丰富特征表示,可以通过添加原始数据的交互特征和多项式特征,尤其是对于线性模型而言。 如果想向分箱数据(4.2的内容)上的线性模型添加斜率:1、加入原始特征(图中的X轴),2、添加交互特征或乘积特征 1、加入原始特征 # 向分箱数据中加入原始特征 X,y = mglearn.datasets.m
阅读全文
摘要:1、线性模型与决策树在wave数据集上的表现 ⭐数据表示的最佳方法不仅取决于数据的语义,还取决于所使用的模型种类。 线性模型与基于树的模型(决策树、梯度提升树、随机森林)很常用的模型,但他们在处理不同特征表示时具有非常不同的性质。 ⭐下面是线性回归和决策树在make_wave数据集中的对比 impo
阅读全文
摘要:💚特征工程:对于某个特定的应用,如何找到最佳的数据表示 用正确的方式表示数据,对监督模型性能的影响比所选择的精确参数还要大~ 💚分类特征(离散特征):数据输入不以连续的方式变化,不同的分类之间也没有顺序,不可以比较和四则运算 💚连续特征:输入是连续的 1、关于要用到的adult数据集 data
阅读全文
摘要:本周收获 总结一下本周学习内容: 1、学习了《深入浅出Pandas》的第五章:Pandas高级操作的两个内容 数据迭代 函数应用 🚗我的博客链接: pandas:数据迭代、函数应用 2、《Python机器学习基础教程》第三章p130-p159 K-means 🚗我的博客链接:聚类--KMeans
阅读全文
摘要:1、用真实值评估聚类(ARI) 1.1 ARI(调整rand指数) 🌺有一些指标可用于评估聚类算法相对于真实聚类的结果,其中最重要的是调整rand指数和归一化互信息。 二者都给出了定量的度量,其最佳值为1,0表示不相关的聚类(虽然ARI可以取负值)。 📐下面我们使用ARI来比较k均值,凝聚聚类和
阅读全文
摘要:1、什么是DBSCN DBSCAN也是一个非常有用的聚类算法。 它的主要优点:它不需要用户先验地设置簇的个数,可以划分具有复杂形状的簇,还可以找出不属于任何簇的点。 DBSCAN比凝聚聚类和k均值稍慢,但仍可以扩展到相对较大的数据集。 1.1算法原理 DBSCAN的原理是识别特征空间的“拥挤”区域中
阅读全文
摘要:1、什么是凝聚聚类 凝聚聚类(agglomerative clustering)指的是许多基于相同原则构建的聚类算法, 这一原则是: 算法首先声明每个点是自己的簇,然后合并两个最相似的簇,直到满足某种停止准则为止。 scikit-learn 中实现的停止准则是簇的个数,因此相似的簇被合并,直到仅剩下
阅读全文
摘要:1、什么是K均值聚类 k均值聚类是最简单也是最常用的聚类算法之一。它试图找到代表数据特定区域的簇中心(Cluster Center) K-means算法过程 1.随机布置K个特征空间内的点作为初始的聚类中心 2.对于根据每个数据的特征向量,从K个聚类中心中寻找距离最近的一个,并且把该数据标记为从属这
阅读全文
摘要:非负矩阵分解(NMF)是一种无监督学习算法,目的在于提取有用的特征(可以识别出组合成数据的原始分量),也可以用于降维,通常不用于对数据进行重建或者编码。 NMF将每个数据点写成一些分量的加权求和(与PCA相同),并且分量和系数都大于0, 只能适用于每个特征都是非负的数据(正负号实际上是任意的)。 1
阅读全文