机器学习
Allen_99
这个作者很懒,什么都没留下…
展开
-
K-means算法
聚类属于无监督学习,以往的回归、朴素贝叶斯、SVM等都是有类别标签y的,也就是说样例中已经给出了样例的分类。而聚类的样本中却没有给定y,只有特征x,比如假设宇宙中的星星可以表示成三维空间中的点集。聚类的目的是找到每个样本x潜在的类别y,并将同类别y的样本x放在一起。比如上面的星星,聚类后结果是一个个星团,星团里面的点相互距离比较近,星团间的星星距离就比较远了。 在聚类问题中,给我们转载 2017-08-12 19:49:35 · 607 阅读 · 0 评论 -
Seaborn_一般绘图函数factorplot 和 FacetGrid
# (1)根据2个维度变量绘图,画出model_year和mpg的关系图sns.factorplot(data=df, x="model_year", y="mpg")#通过添加kind参数,折线图改柱形图sns.factorplot(data=df, x="model_year", y="mpg",kind="bar")#(2)可以按照第3个维度绘制不原创 2018-01-15 15:01:46 · 19543 阅读 · 0 评论 -
机器学习中正则化项L1和L2的直观理解
正则化(Regularization)机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1-norm和ℓ2-norm,中文称作L1正则化和L2正则化,或者L1范数和L2范数。L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做Lasso回归,使用L2转载 2018-01-24 09:13:19 · 916 阅读 · 0 评论 -
scikit-learn中fit_transform()与transform()的区别
scikit-learn中fit_transform()与transform()到底有什么区别,能不能混用?二者的功能都是对数据进行某种统一处理(比如标准化~N(0,1),将数据缩放(映射)到某个固定区间,归一化,正则化等)fit_transform(partData)对部分数据先拟合fit,找到该part的整体指标,如均值、方差、最大值最小值等等(根据具体转换的目的),然后对该par转载 2018-01-10 19:41:43 · 1755 阅读 · 0 评论 -
预处理数据的方法总结(使用sklearn-preprocessing)
预处理数1. 标准化:去均值,方差规模化Standardization标准化:将特征数据的分布调整成标准正太分布,也叫高斯分布,也就是使得数据的均值维0,方差为1.标准化的原因在于如果有些特征的方差过大,则会主导目标函数从而使参数估计器无法正确地去学习其他特征。标准化的过程为两步:去均值的中心化(均值变为0);方差的规模化(方差变为1)。在sklearn.p转载 2018-01-10 19:44:13 · 704 阅读 · 0 评论 -
混淆矩阵(Confusion Matrix)分析
ContentConfusionMatrixExampleTalbe ofconfusionPreference Confusion Matrix在机器学习领域,混淆矩阵(confusion matrix),又称为可能性表格或是错误矩阵。它是一种特定的矩阵用来呈现算法性能的可视化效果,通常是监督学习(非监督学习,通常用匹配矩阵:matchin转载 2018-01-19 21:45:25 · 8384 阅读 · 0 评论 -
Numpy_协方差与相关系数
协方差与相关系数协方差与相关系数协方差相关系数1.协方差如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值时另外一个也大于自身的期望值,那么两个变量之间的协方差就是正值;如果两个变量的变化趋势相反,即其中一个变量大于自身的期望值时另外一个却小于自身的期望值,那么两个变量之间的协方差就是负值。可以通俗的理解为:两个变量转载 2018-01-19 21:46:55 · 5639 阅读 · 0 评论 -
sklearn.model_selection.KFold
翻译 2018-01-29 16:18:42 · 1196 阅读 · 0 评论 -
Encoding编码
编码编码或者连续化处理是把分类变量转火车数值副本的过程。譬如,处理性别时,男的定为1,女的定为0.分类变量在许多模型方法中(譬如,线性回归,SVM,神经网络)必须进行编码。两种主要的编码类型是二进制编码和基于目标的编码。二进制编码(Binary Encoding)通过用0或者1来表示每个类别不存在或者存在是分类变量量化的一个方法。如果分类变量有k个分类,那么我们需要创建k个二进制变量(理论上来说,...翻译 2018-02-09 18:33:21 · 10183 阅读 · 0 评论 -
Nmpuy_Reshape的-1参数
Numpy的reshape属性应该能保证新数组的元素数量与原数组元素数量相等。一个参数为-1时,那么reshape会根据另一个参数的值计算出新数组的行与列。如原数组是3*4的,则如果reshape(-1,1),则新数组变成12*1的。如果reshape(2,-1),则新数组变成2*6的。下面来举几个例子来理解一下:>>> z = np.array([[1, 2, 3,原创 2018-01-29 17:02:25 · 477 阅读 · 0 评论 -
Bagging和随机森林
原文地址http://blog.csdn.net/flowerboya/article/details/50916653转载 2017-12-30 14:36:01 · 317 阅读 · 0 评论 -
XGBoost 与 Boosted Tree
注意在用泰勒公式展开的时候有点复杂:展开的函数是l()函数,并不包含后面的惩罚项和常数,l函数里的y(hat)是自变量x,而ft转载 2017-12-29 19:49:38 · 570 阅读 · 0 评论 -
Kaggle机器学习之模型融合(stacking)心得
原文见:https://www.leiphone.com/news/201709/zYIOJqMzR0mJARzj.html转载 2018-01-05 14:14:42 · 1852 阅读 · 0 评论 -
关联分析—Apriori算法
从大规模数据集中寻找物品间的隐含关系被称作关联分析(association analysis)或者关联规则学习(association rule learning)。这里的主要问题在于,寻找物品的不同组合是一项十分耗时的任务,所需的计算代价很高,蛮力搜索方法并不能解决这个问题,所以需要用更智能的方法在合理的时间范围内找到频繁项集。本文分别介绍如何使用Apriori算法和FP-growth算法来解决转载 2017-08-12 19:52:10 · 966 阅读 · 0 评论 -
关联分析——FP-growth算法
使用FP-growth算法来高效发现频繁项集FP-growth算法基于Apriori构建,但采用了高级的数据结构减少扫描次数,大大加快了算法速度。FP-growth算法只需要对数据库进行两次扫描,而Apriori算法对于每个潜在的频繁项集都会扫描数据集判定给定模式是否频繁,因此FP-growth算法的速度要比Apriori算法快。FP-growth算法发现频繁项集的基本过程如下:转载 2017-08-12 19:55:14 · 18281 阅读 · 2 评论 -
最大熵模型的特征函数及约束条件
作者:星环科技链接:https://zhuanlan.zhihu.com/p/29978153来源:知乎熵熵(entropy)是热力学中的概念,由香浓引入到信息论中。在信息论和概率统计中,熵用来表示随机变量不确定性的度量。H(x)依赖于X的分布,而与X的具体值无关。H(X)越大,表示X的不确定性越大。条件熵3.最大熵模型的定义转载 2017-12-15 13:34:14 · 6914 阅读 · 8 评论 -
牛顿法与拟牛顿法
作者: peghoty 出处: http://blog.csdn.net/itplus/article/details/21896453补充:牛顿下降法优点:对于正定二次函数,迭代一次,就可以得到极小值点。下降的目的性更强。缺点:要求二阶可微分;收敛性对初始点的选取依赖性很大;每次迭代都要计算Hessian矩阵,计算量转载 2017-12-15 15:01:29 · 383 阅读 · 0 评论 -
集成学习调优(RM+BGBoost)理论
原文见 http://www.cnblogs.com/jasonfreak/p/5657196.html转载 2017-12-30 20:33:31 · 246 阅读 · 0 评论 -
集成学习调优(RM+BGBoost)实践
原文见http://www.cnblogs.com/jasonfreak/p/5720137.html转载 2017-12-30 20:34:46 · 286 阅读 · 0 评论 -
SVD的数学原理
主要介绍SVD的原理及与PCA的关系原文见:https://www.cnblogs.com/LeftNotEasy/archive/2011/01/19/svd-and-applications.html转载 2017-12-27 22:25:11 · 643 阅读 · 0 评论 -
numpy.ravel()和numpy.flatten()的区别
两者所要实现的功能是一致的(将多维数组降位一维),两者的区别在于返回拷贝(copy)还是返回视图(view),numpy.flatten()返回一份拷贝,对拷贝所做的修改不会影响(reflects)原始矩阵,而numpy.ravel()返回的是视图(view,也颇有几分C/C++引用reference的意味),会影响(reflects)原始矩阵。1. 两者的功能>>> x = np.a转载 2018-01-12 18:37:25 · 610 阅读 · 0 评论 -
L2正则化方法
在机器学习中,无论是分类还是回归,都可能存在由于特征过多而导致的过拟合问题。当然解决的办法有 (1)减少特征,留取最重要的特征。 (2)惩罚不重要的特征的权重。 但是通常情况下,我们不知道应该惩罚哪些特征的权重取值。通过正则化方法可以防止过拟合,提高泛化能力。 先来看看L2正则化方法。对于之前梯度下降讲到的损失函数来说,在代价函数后面加转载 2018-01-29 20:41:41 · 2329 阅读 · 0 评论