以下是常用机器学习算法的列表。 这些算法几乎可以应用于任何数据问题:
线性回归
逻辑回归
决策树
SVM
朴素贝叶斯
KNN
K-Means
随机森林
降维算法
Gradient Boost&Adaboost
1.线性回归
它用于基于连续变量来估计实际价值(房屋成本,电话数量,总销售额等)。在这里,我们通过拟合最佳线来建立独立变量和因变量之间的关系。这个最佳拟合线被称为回归线,由线性方程Y = a * X + b表示。
理解线性回归的最好方法是回想童年的经历。比如,你要求五年级的孩子通过体重来从小到大排序班里的学生,而事先不告诉学生们的体重!你认为孩子会做什么?他/她很可能在身高和体格上分析人物的体重,并使用这些可视参数的组合进行排列。这是现实生活中的线性回归!孩子实际上已经弄清楚,身高和体格将有一个关系与体重相关联,看起来就像上面的等式。
在这个方程式中:
Y-因变量
a - 斜率
X - 自变量
b - 截距
这些系数a和b是基于最小化数据点和回归线之间的距离的平方差之和导出的。
再次,让我们通过一个简单的例子来尝试理解这一点。
假设你的朋友给你一个难题解决。只有2个结果场景 - 你能解决和不能解决。现在想象,你正在被许多猜谜或者简单测验,来试图理解你擅长的科目。这项研究的结果将是这样的结果 - 如果给你一个10级的三角形问题,那么你有70%可能会解决这个问题。另外一个例子,如果是五级的历史问题,得到答案的概率只有30%。这就是逻辑回归为你提供的结果。
对数学而言,结果的对数几率被建模为预测变量的线性组合。
odds= p/ (1-p) = probability of event occurrence / probability of not event occurrence ln(odds) = ln(p/(1-p)) logit(p) = ln(p/(1-p)) = b0+b1X1+b2X2+b3X3….+bkXk
以上,p是感兴趣特征的概率。 它选择最大化观察样本值的可能性的参数,而不是最小化平方误差的总和(如在普通回归中)。
现在,你可能会问,为什么要采用log? 为了简单起见,让我们来说,这是复制阶梯函数的最好的数学方法之一。 我可以进一步详细介绍,但这将会打破这篇文章的目的。4.SVM(支持向量机)
这是一种分类方法。 在这个算法中,我们将每个数据项目绘制为n维空间中的一个点(其中n是拥有的特征数),每个特征的值是特定坐标的值。
朴素贝叶斯模型易于构建,对于非常大的数据集尤其有用。 除了简单之外,朴素贝叶斯也被称为超高级分类方法。
贝叶斯定理提供了一种由P(c),P(x)和P(x | c)计算概率P(c | x)的方法。 看下面的等式:让我们用一个例子来理解它。 下面我有一个天气和相应的目标变量“玩游戏”的训练数据集。 现在,我们需要根据天气条件对玩家是否玩游戏进行分类。 我们按照以下步骤执行。
步骤1:将数据集转换为频率表
步骤2:通过发现像“Overcast”概率= 0.29和播放概率为0.64的概率来创建似然表。选择KNN之前要考虑的事项:
KNN在计算上是昂贵的
变量应该被归一化,否则更高的范围变量可以偏移它
在进行KNN之前,预处理阶段的工作更像去除离群值、噪声值
7. K-Means
它是解决聚类问题的一种无监督算法。 其过程遵循一种简单而简单的方式,通过一定数量的聚类(假设k个聚类)对给定的数据集进行分类。 集群内的数据点与对等组是同构的和异构的。
例如:电子商务公司正在捕获更多关于客户的细节,例如人口统计,网络爬网历史,他们喜欢或不喜欢的内容,购买历史记录,反馈信息等等,给予他们个性化的关注,而不是离你最近的杂货店主。
作为数据科学家,我们提供的数据还包括许多功能,这对建立良好的稳健模型是非常有用的,但是有一个挑战。 你如何识别出1000或2000年高度重要的变量? 在这种情况下,维数降低算法可以帮助我们与决策树,随机森林,PCA,因子分析,基于相关矩阵,缺失值比等的其他算法一起使用。
10. Gradient Boosting & AdaBoost
当我们处理大量数据以预测高预测能力时,GBM&AdaBoost是更加强大的算法。 Boosting是一种综合学习算法,它结合了几个基本估计器的预测,以提高单个估计器的鲁棒性。 它将多个弱或平均预测值组合到一个强大的预测变量上。 这些提升算法在数据科学比赛中总是能够很好地运行,如Kaggle,AV Hackathon,CrowdAnalytix。
结束语
现在我相信,你会有一个常用的机器学习算法的想法。 我在写这篇文章和提供R和Python中的代码的唯一意图就是让你马上开始。 如果您想要掌握机器学习,请将算法运用实际问题,体会其中的乐趣
想学习更多Python课程:
联系客服