![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Feature Engineering Made Easy
xtiange
这个人很懒,什么也没有留下。
展开
-
第三章 使用Pipeline和GridSearchCV来进行特征参数的筛选
当需要处理的数据的参数比较多的时候,而且要处理的流程比较复杂的时候,可以使用Pipeline和GridSearchCV组合起来进行参数的筛选。假如要填充数据使用的是Imputer,它的策略参数可以为mean和median当进行缩放的时候使用StandardScaler使用KNN算法进行建模, 它的n_neighbors参数可以选择1到7下面就是使用Pipeline和GridSearchCV进行组合...原创 2018-03-29 21:03:37 · 1977 阅读 · 0 评论 -
第三章 哪些机器学习算法受到数据缩放的影响?
数据缩放包括:z-score, Min-Max方法,还有行向量正则化。以下是受数据缩放影响一些算法,以及原因。1:KNN。 需要度量欧式距离。2:k-means 聚类。 和KNN原因一样。3:逻辑回归、SVM、神经网络。 如果使用梯度下降来学习权重。4:PCA。 特征向量将会向数值较大的特征偏移。...原创 2018-03-29 16:29:09 · 820 阅读 · 0 评论 -
第三章 如何填充缺失值
有一个训练集train,想要用它来训练模型并且来进行测试,所以我们要把它分为训练集和测试集。假如我们的数据集里面有一个缺失值,那么我们应该如何填充这个缺失值。假如我们先填充数据集然后再把数据分为训练集和测试集,那么这个时候出现一个违反原则的事情:我们用的训练集的数据竟然有一部分来自测试集,哈哈,但是在进行训练的时候我们是不可能知道测试时候的数据的。奇怪的是,作者给了另外一种方式,那就是用训练集的均...原创 2018-03-29 15:00:00 · 1560 阅读 · 0 评论 -
第三章 确定数据集里面有没有缺失数据
有的时候缺失数据并不是以空值,nan值等出现,它可能以0值,或者unknown、?等出现,这个时候我们要能够发现缺失数据。 其中最难发现的要数0值这种情况了,因为很容易把它当做一个数值类型来进行处理。 我们可以用pandas中DataFrame类的describe方法来看一些这些数值类型特征的最小值,最大值,均值,方差情况,尤其是最小值。在有的特征里面最小是为0,但是通过看特征的意义,可以知...原创 2018-03-29 10:28:09 · 471 阅读 · 0 评论 -
第二章总结 特征理解包含了哪些内容
特征理解主要包含两部分内容,一部分是看数据是否是结构化的,如果数据不是结构化的,要将数据转换为结构化的数据。第二部分是分析特征的类型,先看是数值类型数据还是分类数据。数值类型数据再看是有间隔的还是无间隔的。分类数据再看是排序的还是不排序的。每种数据都有它的特定的处理方式。...原创 2018-03-29 09:13:13 · 777 阅读 · 0 评论 -
特征的四个等级 即特征的分类
在一个数据集中,每个特征都有自己一定的等级,按照可执行的数学操作,从低到高可以分为四个等级1:nominal level。这属于分类数据,只是表示一下分类而已。 不能进行加法、减法、平均等操作。这类数据比如名字,动物种类等。 pandas中有一个Series_Object.value_counts()可以统计这类属性中值的多少。统计完之后,可以使用条形图或者饼图,然后画出各种值的多少情况。2:or...原创 2018-03-28 14:55:55 · 6406 阅读 · 1 评论 -
特征工程包含哪些内容
1:特征理解,看看数据里有什么。拿到数据的第一件事情当然是看数据怎么样了,也就是看里面有什么特征,这些特征是什么意思,这个过程叫做特征理解。看看数据是不是结构化的,是不是有空缺数据,用一些图形看看数据长什么样?2:特征提升 清理数据。 这一步要做的是在数据理解的基础上,得到一个比较整齐的数据。把未结构化的数据结构化、填充空值、对数据标准化。其中标准化包括z-socre标准化,min-max标准化,...原创 2018-03-28 12:19:09 · 5398 阅读 · 1 评论 -
简单的评价有监督学习(分类和回归)和无监督学习的技巧
假如只是想要简单的评价一下模型的好坏,并以此作为对比的话,那么使用简答的评价标准就好,不用太复杂。对于分类问题:直接使用准确率(accuracy),即分类正确的比上分类错误的。对于回归问题,直接使用均方差(mean squared error)。对于聚类问题,使用轮廓系数(silhouette coefficient )来进行评价。...原创 2018-03-28 12:20:55 · 3081 阅读 · 0 评论 -
如何判断特征工程的好坏
我有段时间不知道如何判断特诊工程的好坏,结果盲目的进行特征工程而收不到结果。那么,如何判断特征工程的好坏,这里还是有一些方法的:1:在运用特征工程之前找一个基准的模型性能作为对比。 这个基准模型如何来找,基本的思路有这些:使用随机预测的值来进行评价,准确率大约在50%左右。使用较多的一类标签来作为预测值,准确率为:最多的一类标签/整体数目 2:运用特征工程。3:观察运用特征工程以后的的模型性能和...原创 2018-03-28 12:20:16 · 1847 阅读 · 0 评论 -
Feature Engineering Made Easy全书总结
第二章总结 特征理解包含了哪些内容第三章总结 特征提升包含什么第四章总结 特征构造讲了什么第五章总结 特征选择讲了什么?第六章 特征转换讲什么?第七章 特征学习讲了什么?...原创 2018-04-02 14:47:11 · 1671 阅读 · 0 评论 -
第七章 特征学习讲了什么?
首先说一个问题,那就是我们上一章的PCA和LDA都是参数假设的。在PCA中我们最后的结果可以由原始数据通过一定的分解得到,也就是我们的参数是依赖我们的数据的。PCA和LDA都是线性转换。而特征学习当中不依赖这一假设,它和上一节的特征转换都属于特征提取的领域。本章主要介绍的是深度学习,神经网络,介绍了其中的受限布尔兹曼机RBM,使用sklearn中的neural_network 中的Bernoull...原创 2018-04-02 11:54:50 · 1797 阅读 · 0 评论 -
第六章 特征转换讲什么?
特征转换和前面的特征选择和特征构造都有点像,但是他们还是不一样的。特征转换讲的是如何从已有的信息里面构造出来有用的特征,如何用更少的特征来更好的描绘出来我们的模型。这里就涉及到了降维的概念。但是这和特征选择还是不一样的,特征选择是从我们已有的特征里面选择出来和目标值相关的特征,而特征转换是从已有的特征里面通过变换构造出来一些新的变量,然后选择更少的变量更好的描绘我们的模型。特征转换里面也有产生新的...原创 2018-04-02 11:08:28 · 757 阅读 · 0 评论 -
第五章总结 特征选择讲了什么?
特征选择是在众多的特征里面选择和我们的变量相关的特征,在这一章里面讲了很多的方法:第一个是使用相关系数来进行度量,相关系数越高,表明我们的特征和目标变量越相关。第二个是使用统计学当中的一些知识来进行检测。sklearn中的SelectKBest可以帮助我们完成特征选择的任务。常见的有卡方检测、方差检测等。 还有一些比如P值等。第三个是使用基于模型的特征选择方法。sklearn中的SelectFro...原创 2018-04-02 10:27:55 · 361 阅读 · 0 评论 -
第五章 几种模型的内存消耗情况对比
逻辑回归模型 在fit的时候需要在内存当中创建很大的矩阵,在预测时候直接将矢量相乘和相加。knn模型 在fit的时候把数据存储下来,基本不消耗时间,在预测的时候消耗时间。不标准化的数据容易影响knn模型。下面是几种模型的准确率和fit和predict时间对比。...原创 2018-03-30 21:48:02 · 1289 阅读 · 1 评论 -
第四章总结 特征构造讲了什么
1:分类数据填充。直接使用众数进行填充,使用value_counts方法。2:处理分类数据。 对于无序的分类数据,直接转化为虚拟变量。对于有序的分类变量,直接转化为label,即有序的数字即可。3:处理数值数据。对于数值数据,我们可以把它们切分开来,然后转化为有序的数字即可。4:对于数值类型的数据,可以使用多项式结合的方式进行扩展。5:最后介绍了如何处理文本数据。介绍了字袋模型还有Tf-idf方法...原创 2018-03-30 20:21:04 · 412 阅读 · 0 评论 -
第四章 使用PolynomialFeatures来构建特征
使用sklearn.preprocessing.PolynomialFeatures来进行特征的构造。它是使用多项式的方法来进行的,如果有a,b两个特征,那么它的2次多项式为(1,a,b,a^2,ab, b^2)。PolynomialFeatures有三个参数degree:控制多项式的度interaction_only: 默认为False,如果指定为True,那么就不会有特征自己和自己结合的项,上...原创 2018-03-30 12:24:06 · 23736 阅读 · 4 评论 -
第四章 pipeline集成一系列数据处理动作
分类数据填充、数值数据填充、无序分类数据变成dummpy类型,有序分类数据变成label类型,数值类型切分。要将这些动作结合在一起,应该怎么做?将这些动作都定义为一个含有fit和transform的类,然后使用Pipeline集成起来,因为Pipeline需要fit和transform方法。基本思想都是这样的,构造函数继承TransformerMixin 构造函数传入列名还有一些参数。transf...原创 2018-03-30 11:02:22 · 1201 阅读 · 0 评论 -
第三章总结 特征提升包含什么
特征提升是识别数据当中有问题的区域,发现哪种数据的处理方式是最有效的。这节主要处理的是数值类型数据。在对于处理缺失值上面,我们可以删除所有包含缺失值的行,但是这并不有效。 我们可以填充一些数据,包括均值和中值。我们还可以对数据进行缩放变换。包括z-score、min-max方法、行向量正则化。其中sklearn中额pipeline能够很大的提升效率。...原创 2018-03-29 16:40:55 · 373 阅读 · 0 评论