不多说,直接上干货! 肯定也有不少博友,跟我一样,刚开始接触的时候,会对这三个概念混淆. 以下是,特征处理.特征提取.特征转换和特征选择的区别! 特征处理主要包含三个方面:特征提取.特征转换和特征选择. 见我下面的博客 机器学习概念之特征提取(Feature extraction) 机器学习概念之特征转换(Feature conversion) 机器学习概念之特征选择(Feature selection)…
原文链接:https://developers.google.com/machine-learning/crash-course/feature-crosses/ 特征组合是指两个或多个特征相乘形成的合成特征.特征的相乘组合可以提供超出这些特征单独能够提供的预测能力. 1- 对非线性规律进行编码 特征组合是指通过将两个或多个输入特征相乘来对特征空间中的非线性规律进行编码的合成特征.通过创建一个特征组合可以解决非线性问题. 特征组合的种类 可以创建很多不同种类的特征组合.例如: [A X B]:将…
不多说,直接上干货! RFormula算法介绍: RFormula通过R模型公式来选择列.支持R操作中的部分操作,包括‘~’, ‘.’, ‘:’, ‘+’以及‘-‘,基本操作如下: 1. ~分隔目标和对象 2.+合并对象,“+ 0”意味着删除空格 3. :交互(数值相乘,类别二值化) 4.. 除了目标外的全部列 假设a和b为两列: 1.y ~ a + b表示模型y ~ w0 + w1 * a +w2 * b其中w0为截距,w1和w2为相关系数. 2. y ~a + b + a:b – 1表示模型…
不多说,直接上干货! VectorSlicer 算法介绍: VectorSlicer是一个转换器,输入特征向量,输出原始特征向量子集.VectorSlicer接收带有特定索引的向量列,通过对这些索引的值进行筛选得到新的向量集. 可接受如下两种索引: 1.整数索引,setIndices(). 2.字符串索引代表向量中特征的名字,此类要求向量列有AttributeGroup,因为该工具根据Attribute来匹配名字字段. 指定整数或者字符串类型都是可以的. 另外,同时使用整数索引和字符串名字也是可…
学习玩Python基础语法,今天开始进行机器学习,首先了解下机器学习和深度学习的一些基本概念和术语: 1.  机器学习概念及应用 2.  深度学习概念及应用 3.  机器学习基本术语及举例 4.  机器学习步骤框架 1. 机器学习概念及应用 概念:(Machine Learning, ML)多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多门学科.专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能.探究和开发一系列算…
一.什么是特征工程? "Feature engineering is the process of transforming raw data into features that better represent the underlying problem to the predictive models, resulting in improved model accuracy on unseen data." 简而言之,就是将原始数据转换为模型更容易理解的数据类型,从而提高模型…
Spark机器学习库中包含了两种实现方式,一种是spark.mllib,这种是基础的API,基于RDDs之上构建,另一种是spark.ml,这种是higher-level API,基于DataFrames之上构建,spark.ml使用起来比较方便和灵活. Spark机器学习中关于特征处理的API主要包含三个方面:特征提取.特征转换与特征选择.本文通过例子介绍和学习Spark.ml中提供的关于特征处理API中的特征选择(Feature Selectors)部分. 特征选择(Feature Sele…
Spark机器学习库中包含了两种实现方式,一种是spark.mllib,这种是基础的API,基于RDDs之上构建,另一种是spark.ml,这种是higher-level API,基于DataFrames之上构建,spark.ml使用起来比较方便和灵活. Spark机器学习中关于特征处理的API主要包含三个方面:特征提取.特征转换与特征选择.本文通过例子介绍和学习Spark.ml中提供的关于特征处理的API. 特征提取(Feature Extractors) 1.  TF-IDF (Hashin…
概述:上节咱们说了特征工程是机器学习的一个核心内容.然后咱们已经学习了特征工程中的基础内容,分别是missing value handling和categorical data encoding的一些方法技巧.但是光会前面的一些内容,还不足以应付实际的工作中的很多情况,例如如果咱们的原始数据的features太多,咱们应该选择那些features作为咱们训练的features?或者咱们的features太少了,咱们能不能利用现有的features再创造出一些新的与咱们的target有更加紧密联系…
参考:https://blog.csdn.net/iterate7/article/details/78881562 在运用一些机器学习算法的时候不可避免地要对数据进行特征缩放(feature scaling),比如:在随机梯度下降(stochastic gradient descent)算法中,特征缩放有时能提高算法的收敛速度. 什么是特征缩放 特征缩放的目标就是数据规范化,使得特征的范围具有可比性.它是数据处理的预处理处理,对后面的使用数据具有关键作用. 机器算法为什么要特征缩放 特征缩放还…
[本文链接:http://www.cnblogs.com/breezedeus/p/4109456.html,转载请注明出处] 我的博客主营地迁至github,欢迎朋友们有空去看看:http://breezedeus.github.io/,阅读体验好很多. 本文具体内容:http://breezedeus.github.io/2014/11/15/breezedeus-feature-processing.html.…
线性回归是一种回归分析技术,回归分析本质上就是一个函数估计的问题(函数估计包括参数估计和非参数估计),就是找出因变量和自变量之间的因果关系.回归分析的因变量是应该是连续变量,若因变量为离散变量,则问题转化为分类问题,回归分析是一个有监督学习问题. 线性其实就是一系列一次特征的线性组合,在二维空间中是一条直线,在三维空间中是一个平面,然后推广到n维空间,可以理解维广义线性吧. 例如对房屋的价格预测,首先提取特征,特征的选取会影响模型的精度,比如房屋的高度与房屋的面积,毫无疑问面积是影响房价的重要因…
线性回归是一种回归分析技术,回归分析本质上就是一个函数估计的问题(函数估计包括参数估计和非参数估计),就是找出因变量和自变量之间的因果关系.回归分析的因变量是应该是连续变量,若因变量为离散变量,则问题转化为分类问题,回归分析是一个有监督学习问题. 线性其实就是一系列一次特征的线性组合,在二维空间中是一条直线,在三维空间中是一个平面,然后推广到n维空间,可以理解维广义线性吧. 例如对房屋的价格预测,首先提取特征,特征的选取会影响模型的精度,比如房屋的高度与房屋的面积,毫无疑问面积是影响房价的重要因…
前言 imooc的机器学习一个最基本的介绍类课程,http://www.imooc.com/learn/717 ,不怎么涉及具体的算法或实现,只是讲了讲一些理论概念. 概述 机器学习: 利用计算机从历史数据中找到规律,并把这些规律用到对未来不确定场景的决策. 主体的不同: 计算机--机器学习. 人--数据分析. 数据分析是依靠人从历史数据中找到规,学习效果很大程度以来于人的经验与知识水平: 机器学习就是想要抛弃对人的依赖,靠机器来挖掘规律. 机器学习与统计学 <概率论><数据统计>…
一般在machine learning意义上,我们常说的feature,是一种对数据的表达.当然,要衡量一种feature是否是合适的表达,要根据数据,应用,ML的模型,方法....很多方面来看.一般来说,Feature应该是informative(富有信息量),discriminative(有区分性)和independent(独立)的.那么具体怎么选择feature,其实一直是一个开放的问题.在机器学习里面,feature的选择是至关重要的:对于同一种学习的模型,同样的学习方法,同样的数据,选…
 最近学习特征工程(Feature Enginnering)的相关技术,主要包含两块:特征选取(Feature Selection)和特征抓取(Feature Extraction).这里记录一些要点,作为备忘.   特征选取 R中的FSelector包实现了一些特征选取的算法,主要分两大类:   Algorithms for filtering attributes: cfs, chi.squared, information.gain, gain.ratio, symmetrical.unc…
函数说明: 1.  .quantile(cut_list) 对DataFrame类型直接使用,用于求出给定列表中分数的数值,这里用来求出4分位出的数值 2.  plt.axvline()  # 用于画出图形中的竖线 3.  pd.qcut(feature, cut_list, labels)  用于对特征进行切分,cut_list切分的分数位置,labels切分后新的标签值 我们可以根据某个特征的四分位数值,给定这个特征一个新的四分位数值的特征 四分位表示的是数值的中位数,1/4位和3/4位 比…
1.LabelEncoder() # 用于构建数字编码 2 .map(dict_map)  根据dict_map字典进行数字编码的映射 3.OnehotEncoder()  # 进行one-hot编码,输入的参数必须是二维的,因此需要做reshape,同时使用toarray() 转换为列表形式 3  pd.get_dummies(feature,drop_first=False) 如果填单个特征的话,只对一个特征做one-hot编码映射, drop_first表示去除one-hot编码后的第一列…
特征图(或者叫地标图,landmark maps)利用参数化特征(如点和线)的全局位置来表示环境.如图1所示,机器人的外部环境被一些列参数化的特征,即二维坐标点表示.这些静态的地标点被观测器(装有传感器的机器人)利用多目标跟踪的方法跟踪,从而估计机器人的运动. Fig.1 Feature maps. 机器人的定位是通过建立传感器观测特征和图map中特征之间的关系来确定的.预测特征的位置和量测特征位置之间的差别被用来计算机器人的位姿.这种方式,类似于多目标跟踪问题,但是不想传统的多目标跟踪问题,这…
  一.机器学习概述 1.1.什么是机器学习? 机器学习是从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测 1.2.为什么需要机器学习? 解放生产力,智能客服,可以不知疲倦的24小时作业 解决专业问题,ET医疗,帮助看病 提供社会便利,例如杭州的城市大脑 1.3.机器学习应用场景 自然语言处理 无人驾驶 计算机视觉 推荐系统 二.数据来源与类型 2.1.数据的来源 企业日益积累的大量数据(互联网公司更为显著) 政府掌握的各种数据 科研机构的实验数据 2.2.数据的类型 数据的类型将…
1. sift = cv2.xfeatures2d.SIFT_create() 实例化 参数说明:sift为实例化的sift函数 2. kp = sift.detect(gray, None)  找出图像中的关键点 参数说明: kp表示生成的关键点,gray表示输入的灰度图, 3. ret = cv2.drawKeypoints(gray, kp, img) 在图中画出关键点 参数说明:gray表示输入图片, kp表示关键点,img表示输出的图片 4.kp, dst = sift.compute…
1.cv2.cornerHarris(gray, 2, 3, 0.04)  # 找出图像中的角点 参数说明:gray表示输入的灰度图,2表示进行角点移动的卷积框,3表示后续进行梯度计算的sobel算子的大小,0.04表示角点响应R值的α值 角点检测:主要是检测一些边角突出来的点,对于A和B这样的面上的点而言,一个卷积框在上面移动,框中的基本像素点不发生变化, 对于像C和D边界点,只有x或者y轴方向上的平移,像素框内的像素会发生偏移,而对于E和F这样的角点而言,不管是像x轴或者向y轴平移,像素框内…
函数说明: 1. from gensim.model import word2vec  构建模型 word2vec(corpus_token, size=feature_size, min_count=min_count, window=window, sample=sample) 参数说明:corpus_token已经进行切分的列表数据,数据格式是list of list , size表示的是特征向量的维度,即映射的维度, min_count表示最小的计数词,如果小于这个数的词,将不进行统计,…
函数说明 1.LDA(n_topics, max_iters, random_state)  用于构建LDA主题模型,将文本分成不同的主题 参数说明:n_topics 表示分为多少个主题, max_iters表示最大的迭代次数, random_state 表示随机种子 2. LDA.components_ 打印输入特征的权重参数, LDA主题模型:可以用于做分类,好比如果是两个主题的话,那就相当于是分成了两类,同时我们也可以找出根据主题词的权重值,来找出一些主题的关键词 使用sklearn导入库…
对于一些标签和特征来说,分布不一定符合正态分布,而在实际的运算过程中则需要数据能够符合正态分布 因此我们需要对特征进行log变化,使得数据在一定程度上可以符合正态分布 进行log变化,就是对数据使用np.log(data+1) 加上1的目的是为了防止数据等于0,而不能进行log变化 代码: 第一步:导入数据 第二步:对收入特征做直方图,同时标出中位数所在的位置,即均值 第三步:对收入特征做log变化,使用np.log(data+1) 第四步:对log收入特征做直方图,标出中位数线的位置,即均值…
函数说明: 1. .hist 对于Dataframe格式的数据,我们可以使用.hist直接画出直方图 对于一些像年龄和工资一样的连续数据,我们可以对其进行分段标记处理,使得这些连续的数据变成离散化 就好比:我们可以将0-9岁用0表示 10-19用1表示 20-29用2表示 ... 下面我们对一个年龄数据进行了分段标记处理 代码: 第一步:导入数据 第二步:对年龄特征使用.hist画出直方图,直方图本身也是一个分段的过程 第三步:使用np.floor(/10)取整,将比如5岁的年龄计算后为0 第四…
函数说明: 1. PolynomialFeatures(degree=2, interaction_only=False, include_bias=False) 参数说明:degree=2,表示多项式的变化维度为2,即^2, interaction_only表示是否只使用a*b, include_bias是否添加一列全部等于1的偏置项 对数据进行多项式变化,将两个特征a, b如果是进行^2多项式变化操作,那么就相当于多出来了3个特征即a^2, a*b, b^2 一般我们在使用支持向量机的时候,…
函数说明: 1. Binarizer(threshold=0.9) 将数据进行二值化,threshold表示大于0.9的数据为1,小于0.9的数据为0 对于一些数值型的特征:存在0还有其他的一些数 二值化指的是:将大于0的特征使用1表示,将等于0的特征还是用0表示 对于二值化操作:使用两种方法 第一种方法: 求出大于等于1的索引值,令这些索引值对应的数值等于1,然后重新构建列 第二种方法: 使用Binarizer(threshold=0.9) 表示大于0.9的数据使用1表示 这里传入的参数需要是…
什么是关键字 比如说邮箱地址 abc@qq.com  123abc@qq.com 这样的只要没有人占用都是和发布的 那么这样呢 hahah@enen@itcast.cn呢 @是电子邮箱当中有特殊含义的,被保留的,不能随意使用的字符,那我们称他为关键字 java程序中也有一些关键字,他们也是有特殊含义的 关键字的特点: 1.完全小写的字符. public 2.在增强版的记事本中(N++) 有特殊的颜色. 标识符:是指在程序中,我们定义的内容,比如类的名字,方法的名字和变量的名字等等,都是标识符 命…