机器学习算法一览

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/TXBSW/article/details/80940683

机器学习算法一览图


一般说来,机器学习有三种算法:

1. 监督式学习

监督式学习算法包括一个目标变量(因变量)和用来预测目标变量的预测变量(自变量)。通过这些变量我们可以搭建一个模型,从而对于一个已知的预测变量值,我们可以得到对应的目标变量值。重复训练这个模型,直到它能在训练数据集上达到预定的准确度。
属于监督式学习的算法有:回归模型, 决策树 随机森林 ,K邻近算法,逻辑回归等。

2. 无监督式学习

与监督式学习不同的是,无监督学习中我们没有需要预测或估计的目标变量。无监督式学习是用来对总体对象进行分类的。它在根据某一指标将客户分类上有广泛应用。
属于无监督式学习的算法有:关联规则,K-means聚类算法等。

3. 强化学习

这个算法可以训练程序做出某一决定。程序在某一情况下尝试所有的可能行动,记录不同行动的结果并试着找出最好的一次尝试来做决定。
属于这一类算法的有马尔可夫决策过程。

常用的算法

1.线性回归 (Linear Regression)

2.逻辑回归 (Logistic Regression)

3.决策树 (Decision Tree)

4.支持向量机(SVM)

5.朴素贝叶斯 (Naive Bayes)

6.K邻近算法(KNN)

7.K-均值算法(K-means)

8.随机森林 (Random Forest)

9.降低维度算法(Dimensionality Reduction Algorithms)

10.Gradient Boost和Adaboost算法

1.线性回归 (Linear Regression)

线性回归是利用连续性变量来估计实际数值(例如房价,呼叫次数和总销售额等)。我们通过线性回归算法找出自变量和因变量间的最佳线性关系,图形上可以确定一条最佳直线。这条最佳直线就是回归线。这个回归关系可以用Y=aX+b 表示。

我们可以假想一个场景来理解线性回归。比如你让一个五年级的孩子在不问同学具体体重多少的情况下,把班上的同学按照体重从轻到重排队。这个孩子会怎么做呢?他有可能会通过观察大家的身高和体格来排队。这就是线性回归!这个孩子其实是认为身高和体格与人的体重有某种相关。而这个关系就像是前一段的Y和X的关系。

在Y=aX+b这个公式里:

  • Y- 因变量

  • a- 斜率

  • X- 自变量

  • b- 截距

a和b可以通过最小化因变量误差的平方和得到(最小二乘法)。

下图中我们得到的线性回归方程是 y=0.2811X+13.9。通过这个方程,我们可以根据一个人的身高得到他的体重信息。

线性回归主要有两种:一元线性回归和多元线性回归。一元线性回归只有一个自变量,而多元线性回归有多个自变量。拟合多元线性回归的时候,可以利用多项式回归(Polynomial Regression)或曲线回归 (Curvilinear Regression)。

Python 代码

#Import Library
#Import other necessary libraries like pandas, numpy...
from sklearn import linear_model
#Load Train and Test datasets
#Identify feature and response variable(s) and values must be numeric and numpy arrays

x_train=input_variables_values_training_datasets
y_train=target_variables_values_training_datasets
x_test=input_variables_values_test_datasets

# Create linear regression object
linear = linear_model.LinearRegression()

# Train the model using the training sets and check score
linear.fit(x_train, y_train)
linear.score(x_train, y_train)

#Equation coefficient and Intercept
print('Coefficient: \n', linear.coef_)
print('Intercept: \n', linear.intercept_)

#Predict Output
predicted= linear.predict(x_test)

A.线性回归机器学习算法的优点

(1)它是最可解释的机器学习算法之一,使得它很容易解释给别人。

(2)它易于使用,因为它需要最小的调谐。

(3)它是最广泛使用的机器学习技术运行快。

B.线性回归算法应用

估计销售额

线性回归在业务中有很大的用途,基于趋势的销售预测。如果公司每月的销售额稳步增长 - 对月度销售数据的线性回归分析有助于公司预测未来几个月的销售额。

风险评估

线性回归有助于评估涉及保险或金融领域的风险。健康保险公司可以对每个客户的索赔数量与年龄进行线性回归分析。这种分析有助于保险公司发现,老年顾客倾向于提出更多的保险索赔。这样的分析结果在重要的商业决策中起着至关重要的作用,并且是为了解决风险。

Python中的数据科学库实现线性回归 - statsmodel和SciKit

R中的数据科学库实现线性回归 - 统计

2.逻辑回归

别被它的名字迷惑了,逻辑回归其实是一个分类算法而不是回归算法。通常是利用已知的自变量来预测一个离散型因变量的值(像二进制值0/1,是/否,真/假)。简单来说,它就是通过拟合一个逻辑函数(logit fuction)来预测一个事件发生的概率。所以它预测的是一个概率值,自然,它的输出值应该在0到1之间。

同样,我们可以用一个例子来理解这个算法。

假设你的一个朋友让你回答一道题。可能的结果只有两种:你答对了或没有答对。为了研究你最擅长的题目领域,你做了各种领域的题目。那么这个研究的结果可能是这样的:如果是一道十年级的三角函数题,你有70%的可能性能解出它。但如果是一道五年级的历史题,你会的概率可能只有30%。逻辑回归就是给你这样的概率结果。

回到数学上,事件结果的胜算对数(log odds)可以用预测变量的线性组合来描述:


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 是我们感兴趣的事件出现的概率。它通过筛选出特定参数值使得观察到的样本值出现的概率最大化,来估计参数,而不是像普通回归那样最小化误差的平方和。

你可能会问为什么需要做对数呢?简单来说这是重复阶梯函数的最佳方法。因本篇文章旨不在此,这方面就不做详细介绍了。

Python 代码

#Import Library
from sklearn.linear_model import LogisticRegression
#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset

# Create logistic regression object

model = LogisticRegression()

# Train the model using the training sets and check score
model.fit(X, y)
model.score(X, y)

#Equation coefficient and Intercept
print('Coefficient: \n', model.coef_)
print('Intercept: \n', model.intercept_)

#Predict Output
predicted= model.predict(x_test)

3.决策树

它属于监督式学习,常用来解决分类问题。令人惊讶的是,它既可以运用于类别变量(categorical variables)也可以作用于连续变量。这个算法可以让我们把一个总体分为两个或多个群组。分组根据能够区分总体的最重要的特征变量/自变量进行。更详细的内容可以阅读这篇文章Decision Tree Simplified


从上图中我们可以看出,总体人群最终在玩与否的事件上被分成了四个群组。而分组是依据一些特征变量实现的。用来分组的具体指标有很多,比如Gini,information Gain, Chi-square,entropy。

延伸阅读Simplified Version of Decision Tree Algorithms

Python 代码

#Import Library
#Import other necessary libraries like pandas, numpy...

from sklearn import tree
#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset

# Create tree object 
model = tree.DecisionTreeClassifier(criterion='gini') # for classification, here you can change the algorithm as gini or entropy (information gain) by default it is gini  

# model = tree.DecisionTreeRegressor() for regression

# Train the model using the training sets and check score
model.fit(X, y)
model.score(X, y)

#Predict Output
predicted= model.predict(x_test)

A.决策树的类型

(1)分类树 - 这些被视为用于基于响应变量将数据集分成不同类的默认种类的决策树。 这些通常在响应变量本质上是分类时使用。

(2)回归树 - 当响应或目标变量是连续或数字时,使用回归树。 与分类相比,这些通常用于预测类型的问题。

根据目标变量的类型 - 连续变量决策树和二进制变量决策树,决策树也可以分为两种类型。 它是有助于决定对于特定问题需要什么样的决策树的目标变量。

B.为什么选择决策树算法?

(1)这些机器学习算法有助于在不确定性下作出决策,并帮助您改善沟通,因为他们提供了决策情况的可视化表示。

(2)决策树机器学习算法帮助数据科学家捕获这样的想法:如果采取了不同的决策,那么情境或模型的操作性质将如何剧烈变化。

(3)决策树算法通过允许数据科学家遍历前向和后向计算路径来帮助做出最佳决策。

C.何时使用决策树机器学习算法

(1)决策树对错误是鲁棒的,并且如果训练数据包含错误,则决策树算法将最适合于解决这样的问题。

(2)决策树最适合于实例由属性值对表示的问题。

(3)如果训练数据具有缺失值,则可以使用决策树,因为它们可以通过查看其他列中的数据来很好地处理丢失的值。

(4)当目标函数具有离散输出值时,决策树是最适合的。

D.决策树的优点

(1)决策树是非常本能的,可以向任何人轻松解释。来自非技术背景的人,也可以解释从决策树绘制的假设,因为他们是不言自明的。

(2)当使用决策树机器学习算法时,数据类型不是约束,因为它们可以处理分类和数值变量。

(3)决策树机器学习算法不需要对数据中的线性进行任何假设,因此可以在参数非线性相关的情况下使用。这些机器学习算法不对分类器结构和空间分布做出任何假设。

(4)这些算法在数据探索中是有用的。决策树隐式执行特征选择,这在预测分析中非常重要。当决策树适合于训练数据集时,在其上分割决策树的顶部的节点被认为是给定数据集内的重要变量,并且默认情况下完成特征选择。

(5)决策树有助于节省数据准备时间,因为它们对缺失值和异常值不敏感。缺少值不会阻止您拆分构建决策树的数据。离群值也不会影响决策树,因为基于分裂范围内的一些样本而不是准确的绝对值发生数据分裂。

E.决策树的缺点

(1)树中决策的数量越多,任何预期结果的准确性越小。

(2)决策树机器学习算法的主要缺点是结果可能基于预期。当实时做出决策时,收益和产生的结果可能与预期或计划不同。有机会,这可能导致不现实的决策树导致错误的决策。任何不合理的期望可能导致决策树分析中的重大错误和缺陷,因为并不总是可能计划从决策可能产生的所有可能性。

(3)决策树不适合连续变量,并导致不稳定性和分类高原。

(4)与其他决策模型相比,决策树很容易使用,但是创建包含几个分支的大决策树是一个复杂和耗时的任务。

(5)决策树机器学习算法一次只考虑一个属性,并且可能不是最适合于决策空间中的实际数据。

(6)具有多个分支的大尺寸决策树是不可理解的,并且造成若干呈现困难。

F.决策树机器学习算法的应用

(1)决策树是流行的机器学习算法之一,它在财务中对期权定价有很大的用处。

(2)遥感是基于决策树的模式识别的应用领域。

(3)银行使用决策树算法按贷款申请人违约付款的概率对其进行分类。

(4)Gerber产品公司,一个流行的婴儿产品公司,使用决策树机器学习算法来决定他们是否应继续使用塑料PVC(聚氯乙烯)在他们的产品。

(5)Rush大学医学中心开发了一个名为Guardian的工具,它使用决策树机器学习算法来识别有风险的患者和疾病趋势。

Python语言中的数据科学库实现决策树机器学习算法是 - SciPy和Sci-Kit学习。

R语言中的数据科学库实现决策树机器学习算法是插入符号。


4. 支持向量机(SVM)

这是一个分类算法。在这个算法中我们将每一个数据作为一个点在一个n维空间上作图(n是特征数),每一个特征值就代表对应坐标值的大小。比如说我们有两个特征:一个人的身高和发长。我们可以将这两个变量在一个二维空间上作图,图上的每个点都有两个坐标值(这些坐标轴也叫做支持向量)。


现在我们要在图中找到一条直线能最大程度将不同组的点分开。两组数据中距离这条线最近的点到这条线的距离都应该是最远的。


在上图中,黑色的线就是最佳分割线。因为这条线到两组中距它最近的点,点A和B的距离都是最远的。任何其他线必然会使得到其中一个点的距离比这个距离近。这样根据数据点分布在这条线的哪一边,我们就可以将数据归类。

更多阅读Simplified Version of Support Vector Machine

Python 代码

#Import Library
from sklearn import svm
#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset
# Create SVM classification object 

model = svm.svc() # there is various option associated with it, this is simple for classification. You can refer link, for mo# re detail.

# Train the model using the training sets and check score
model.fit(X, y)
model.score(X, y)

#Predict Output
predicted= model.predict(x_test)

A.SVM分为两类:

线性SVM - 在线性SVM中,训练数据,即分类器由超平面分离。

非线性SVM在非线性SVM中,不可能使用超平面来分离训练数据。 例如,用于面部检测的训练数据由作为面部的一组图像和不是面部的另一组图像(换句话说,除了面部之外的所有其他图像)组成。 在这种条件下,训练数据太复杂,不可能找到每个特征向量的表示。 将面的集合与非面的集线性分离是复杂的任务。

B.使用SVM的优点

(1)SVM对训练数据提供最佳分类性能(精度)。

(2)SVM为未来数据的正确分类提供了更高的效率。

(3)SVM的最好的事情是它不对数据做任何强有力的假设。

(4)它不会过度拟合数据。

C.支持向量机的应用

(1)SVM通常用于各种金融机构的股票市场预测。 例如,它可以用来比较股票相对于同一行业中其他股票的表现的相对表现。 股票的相对比较有助于管理基于由SVM学习算法做出的分类的投资决策。

(2)Python中的数据科学库实现支持向量机-SciKit学习,PyML,SVMStruct Python,LIBSVM

(3)R中的数据科学库实现支持向量机 - klar,e1071

5. 朴素贝叶斯

这个算法是建立在贝叶斯理论上的分类方法。它的假设条件是自变量之间相互独立。简言之,朴素贝叶斯假定某一特征的出现与其它特征无关。比如说,如果一个水果它是红色的,圆状的,直径大概7cm左右,我们可能猜测它为苹果。即使这些特征之间存在一定关系,在朴素贝叶斯算法中我们都认为红色,圆状和直径在判断一个水果是苹果的可能性上是相互独立的。

朴素贝叶斯的模型易于建造,并且在分析大量数据问题时效率很高。虽然模型简单,但很多情况下工作得比非常复杂的分类方法还要好。

贝叶斯理论告诉我们如何从先验概率P(c),P(x)和条件概率P(x|c)中计算后验概率P(c|x)。算法如下:

Python 代码

#Import Library
from sklearn.naive_bayes import GaussianNB
#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset

# Create SVM classification object model = GaussianNB() # there is other distribution for multinomial classes like Bernoulli Naive Bayes, Refer link

# Train the model using the training sets and check score
model.fit(X, y)

#Predict Output
predicted= model.predict(x_test)

 A.朴素贝叶斯分类器的应用

(1)情绪分析 - 用于Facebook分析表示积极或消极情绪的状态更新。

(2)文档分类 - Google使用文档分类来索引文档并查找相关性分数,即PageRank。 PageRank机制考虑在使用文档分类技术解析和分类的数据库中标记为重要的页面。

(3)朴素贝叶斯算法也用于分类关于技术,娱乐,体育,政治等的新闻文章。

(4)电子邮件垃圾邮件过滤 - Google Mail使用NaïveBayes算法将您的电子邮件归类为垃圾邮件或非垃圾邮件。

B.朴素贝叶斯分类器机器学习算法的优点

(1)当输入变量是分类时,朴素贝叶斯分类器算法执行得很好。

(2)当朴素贝叶斯条件独立假设成立时,朴素贝叶斯分类器收敛更快,需要相对较少的训练数据,而不像其他判别模型,如逻辑回归。

(3)使用朴素贝叶斯分类器算法,更容易预测测试数据集的类。 多等级预测的好赌注。

(4)虽然它需要条件独立假设,但是朴素贝叶斯分类器在各种应用领域都表现出良好的性能。

Python中的数据科学库实现NaïveBayes - Sci-Kit学习

数据科学图书馆在R实施朴素贝叶斯 - e1071

6.KNN(K-邻近算法)

这个算法既可以解决分类问题,也可以用于回归问题,但工业上用于分类的情况更多。 KNN先记录所有已知数据,再利用一个距离函数,找出已知数据中距离未知事件最近的K组数据,最后按照这K组数据里最常见的类别预测该事件。

距离函数可以是欧式距离,曼哈顿距离,闵氏距离 (Minkowski Distance), 和汉明距离(Hamming Distance)。前三种用于连续变量,汉明距离用于分类变量。如果K=1,那问题就简化为根据最近的数据分类。K值的选取时常是KNN建模里的关键。

Python 代码

#Import Library
from sklearn.neighbors import KNeighborsClassifier

#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset
# Create KNeighbors classifier object model 

KNeighborsClassifier(n_neighbors=6) # default value for n_neighbors is 5

# Train the model using the training sets and check score
model.fit(X, y)

#Predict Output
predicted= model.predict(x_test)

7. K均值算法(K-Means)

K-means是用于聚类分析的普遍使用的无监督机器学习算法。 K-Means是一种非确定性和迭代的方法。 该算法通过预定数量的簇k对给定数据集进行操作。 K Means算法的输出是具有在簇之间分割的输入数据的k个簇。

例如,让我们考虑维基百科搜索结果的K均值聚类。 维基百科上的搜索词“Jaguar”将返回包含Jaguar这个词的所有页面,它可以将Jaguar称为Car,Jaguar称为Mac OS版本,Jaguar作为动物。 K均值聚类算法可以应用于对描述类似概念的网页进行分组。 因此,算法将把所有谈论捷豹的网页作为一个动物分组到一个集群,将捷豹作为一个汽车分组到另一个集群,等等。

A.使用K-means聚类机学习算法的优点

(1)在球状簇的情况下,K-Means产生比层级聚类更紧密的簇。

(2)给定一个较小的K值,K-Means聚类计算比大量变量的层次聚类更快。

B.K-Means聚类的应用

K Means Clustering算法被大多数搜索引擎(如Yahoo,Google)用于通过相似性对网页进行聚类,并识别搜索结果的“相关率”。 这有助于搜索引擎减少用户的计算时间。

Python中的数据科学库实现K均值聚类 - SciPy,Sci-Kit学习,Python包装

数据科学库中的R实现K均值聚类 - 统计

Python 代码
#Import Library
from sklearn.cluster import KMeans

#Assumed you have, X (attributes) for training data set and x_test(attributes) of test_dataset
# Create KNeighbors classifier object model 
k_means = KMeans(n_clusters=3, random_state=0)

# Train the model using the training sets and check score
model.fit(X)

#Predict Output
predicted= model.predict(x_test)

8.随机森林

随机森林是对决策树集合的特有名称。随机森林里我们有多个决策树(所以叫“森林”)。为了给一个新的观察值分类,根据它的特征,每一个决策树都会给出一个分类。随机森林算法选出投票最多的分类作为分类结果。

怎样生成决策树:

  1. 如果训练集中有N种类别,则有重复地随机选取N个样本。这些样本将组成培养决策树的训练集。

  2. 如果有M个特征变量,那么选取数m << M,从而在每个节点上随机选取m个特征变量来分割该节点。m在整个森林养成中保持不变。

  3. 每个决策树都最大程度上进行分割,没有剪枝。

比较决策树和调节模型参数可以获取更多该算法细节。我建议读者阅读这些文章:

  1. Introduction to Random forest – Simplified

  2. Comparing a CART model to Random Forest (Part 1)

  3. Comparing a Random Forest to a CART model (Part 2)

  4. Tuning the parameters of your Random Forest model

Python 代码

#Import Library
from sklearn.ensemble import RandomForestClassifier
#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset

# Create Random Forest object
model= RandomForestClassifier()

# Train the model using the training sets and check score
model.fit(X, y)

#Predict Output
predicted= model.predict(x_test)

A.为什么使用随机森林机器学习算法?

(1)有很多好的开源,在Python和R中可用的算法的自由实现。

(2)它在缺少数据时保持准确性,并且还能抵抗异常值。

(3)简单的使用作为基本的随机森林算法可以实现只用几行代码。

(4)随机森林机器学习算法帮助数据科学家节省数据准备时间,因为它们不需要任何输入准备,并且能够处理数字,二进制和分类特征,而无需缩放,变换或修改。

(5)隐式特征选择,因为它给出了什么变量在分类中是重要的估计。

B.使用随机森林机器学习算法的优点

(1)与决策树机器学习算法不同,过拟合对随机森林不是一个问题。没有必要修剪随机森林。

(2)这些算法很快,但不是在所有情况下。随机森林算法当在具有100个变量的数据集的800MHz机器上运行时,并且50,000个案例在11分钟内产生100个决策树。

(3)随机森林是用于各种分类和回归任务的最有效和通用的机器学习算法之一,因为它们对噪声更加鲁棒。

(4)很难建立一个坏的随机森林。在随机森林机器学习算法的实现中,容易确定使用哪些参数,因为它们对用于运行算法的参数不敏感。一个人可以轻松地建立一个体面的模型没有太多的调整

(5)随机森林机器学习算法可以并行生长。

(6)此算法在大型数据库上高效运行。

(7)具有较高的分类精度。

C.使用随机森林机器学习算法的缺点

他们可能很容易使用,但从理论上分析它们是很困难的。

随机森林中大量的决策树可以减慢算法进行实时预测。

如果数据由具有不同级别数量的分类变量组成,则算法会偏好具有更多级别的那些属性。 在这种情况下,可变重要性分数似乎不可靠。

当使用RandomForest算法进行回归任务时,它不会超出训练数据中响应值的范围。

D.随机森林机器学习算法的应用

(1)随机森林算法被银行用来预测贷款申请人是否可能是高风险。

(2)它们用于汽车工业中以预测机械部件的故障或故障。

(3)这些算法用于医疗保健行业以预测患者是否可能发展成慢性疾病。

(4)它们还可用于回归任务,如预测社交媒体份额和绩效分数的平均数。

(5)最近,该算法也已经被用于预测语音识别软件中的模式并对图像和文本进行分类。

Python语言中的数据科学库实现随机森林机器学习算法是Sci-Kit学习。

R语言的数据科学库实现随机森林机器学习算法randomForest。

9.降维算法(Dimensionality Reduction Algorithms)

在过去的4-5年里,可获取的数据几乎以指数形式增长。公司/政府机构/研究组织不仅有了更多的数据来源,也获得了更多维度的数据信息。

例如:电子商务公司有了顾客更多的细节信息,像个人信息,网络浏览历史,个人喜恶,购买记录,反馈信息等,他们关注你的私人特征,比你天天去的超市里的店员更了解你。

作为一名数据科学家,我们手上的数据有非常多的特征。虽然这听起来有利于建立更强大精准的模型,但它们有时候反倒也是建模中的一大难题。怎样才能从1000或2000个变量里找到最重要的变量呢?这种情况下降维算法及其他算法,如决策树,随机森林,PCA,因子分析,相关矩阵,和缺省值比例等,就能帮我们解决难题。

进一步的了解可以阅读Beginners Guide To Learn Dimension Reduction Techniques

Python 代码

#Import Library
from sklearn import decomposition
#Assumed you have training and test data set as train and test
# Create PCA obeject pca= decomposition.PCA(n_components=k) #default value of k =min(n_sample, n_features)
# For Factor analysis
#fa= decomposition.FactorAnalysis()
# Reduced the dimension of training dataset using PCA

train_reduced = pca.fit_transform(train)

#Reduced the dimension of test dataset
test_reduced = pca.transform(test)

10.Gradient Boosing 和 AdaBoost

GBM和AdaBoost都是在有大量数据时提高预测准确度的boosting算法。Boosting是一种集成学习方法。它通过有序结合多个较弱的分类器/估测器的估计结果来提高预测准确度。这些boosting算法在Kaggle,AV Hackthon, CrowdAnalytix等数据科学竞赛中有出色发挥。

更多阅读: Know about Gradient and AdaBoost in detail

Python 代码

#Import Library
from sklearn.ensemble import GradientBoostingClassifier
#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset
# Create Gradient Boosting Classifier object
model= GradientBoostingClassifier(n_estimators=100, learning_rate=1.0, max_depth=1, random_state=0)

# Train the model using the training sets and check score
model.fit(X, y)
#Predict Output
predicted= model.predict(x_test)



参考文章:

https://blog.csdn.net/han_xiaoyang/article/details/51191386

https://www.cnblogs.com/mat-wu/p/6395125.html?utm_source=itdadao&utm_medium=referral

英文原文地址http://www.analyticsvidhya.com/blog/2015/08/common-machine-learning-algorithms/



猜你喜欢

转载自blog.csdn.net/TXBSW/article/details/80940683