智客公社

标题: 8种顶级Python机器学习算法-你必须学习 [打印本页]

作者: 飘雪寒月    时间: 2018-12-11 10:39
标题: 8种顶级Python机器学习算法-你必须学习
明天,我们将更深化地学习和完成8个顶级Python机器学习算法。

让我们末尾Python编程中的机器学习算法之旅。

[attach]82504[/attach]



8 Python机器学习算法 - 你必须学习

以下是Python机器学习的算法:

1。线性回归

线性回归是受监督的Python机器学习算法之一,它可以观察延续特征并预测结果。根据它是在单个变量上还是在许多特征上运转,我们可以将其称为简单线性回归或多元线性回归。

这是最受欢迎的Python ML算法之一,常常被低估。它为变量分配最佳权重以创建线ax + b来预测输入。我们常常运用线性回归来估计实践值,例如基于延续变量的房屋调用和房屋成本。回归线是拟合Y = a * X + b的最佳线,表示独立变量和因变量之间的关系。

您能否了解Python机器学习环境设置?

让我们为糖尿病数据集绘制这个图。

LinearRegression(copy_X = True,fit_intercept = True,n_jobs = 1,normalize = False)

阵列([941.43097333])

3035.0601152912695

0.410920728135835

<matplotlib.collections.PathCollection对象位于0x0584FF70>

[<matplotlib.lines.Line2D对象位于0x0584FF30>]

([],<a 0 of text xticklabel objects>)

([],<a 0 of text yticklabel objects>)

[attach]82505[/attach]

Python机器学习算法 - 线性回归



2 Logistic回归

Logistic回归是一种受监督的分类Python机器学习算法,可用于估计团圆值,如0/1,是/否和真/假。这是基于一组给定的自变量。我们运用逻辑函数来预测事情的概率,这给出了0到1之间的输入。

虽然它说'回归',但这实践上是一种分类算法。Logistic回归将数据拟合到logit函数中,也称为logit回归。让我们描画一下。

<matplotlib.collections.PathCollection对象位于0x057B0E10>

[<matplotlib.lines.Line2D对象位于0x057BA090>]

LinearRegression(copy_X = True,fit_intercept = True,n_jobs = 1,normalize = False)

[<matplotlib.lines.Line2D对象位于0x057BA0B0>]

<matplotlib.lines.Line2D对象位于0x05860E70>

文本(0,0.5, 'Y')

文本(0.5,0, 'X')

(-0.25,1.25)

(-4,10)

<matplotlib.legend.Legend对象位于0x057C89F0>

[attach]82506[/attach]

机器学习算法 - Logistic Regreesion



3。决策树

决策树属于受监督的Python机器学习学习,并且用于分类和回归 - 虽然次要用于分类。此模型接受一个实例,遍历树,并将重要特征与确定的条件语句停止比较。是下降到左子分支还是右分支取决于结果。通常,更重要的功能更接近根。

这种Python机器学习算法可以对分类和延续因变量起作用。在这里,我们将人口分成两个或更多个同类集。让我们看看这个算法 -

625

(625,5)

0 1 2 3 4

0 B 1 1 1 1

1 R 1 1 1 2

2 R 1 1 1 3

3 R 1 1 1 4

4 R 1 1 1 5

[attach]82507[/attach]

Python机器学习算法 - 决策树



[[0 6 7]

[0 67 18]

[0 19 71]]

73.40425531914893

[attach]82508[/attach]

Python机器学习算法 - 决策树



[attach]82509[/attach]

Python机器学习算法 - 决策树



[[0 6 7]

[0 63 22]

[0 20 70]]

70.74468085106383

[attach]82510[/attach]

Python机器学习算法 - 决策树



4。支持向量机(SVM)

SVM是一种受监督的分类Python机器学习算法,它绘制了一条划分不同类别数据的线。在这个ML算法中,我们计算向量以优化线。这是为了确保每组中最近的点彼此相距最远。虽然你几乎总会发现这是一个线性向量,但它能够不是那样的。

在这个Python机器学习教程中,我们将每个数据项绘制为n维空间中的一个点。我们有n个特征,每个特征都具有某个坐标的值。

首先,让我们绘制一个数据集。

位于0x04E1BBF0的<matplotlib.collections.PathCollection对象>

[attach]82511[/attach]

Python机器学习算法 - SVM



<matplotlib.collections.PathCollection对象位于0x07318C90>

[<matplotlib.lines.Line2D对象位于0x07318FF0>]

<matplotlib.collections.PolyCollection对象位于0x073242D0>

[<matplotlib.lines.Line2D对象位于0x07318B70>]

<matplotlib.collections.PolyCollection对象位于0x073246F0>

[<matplotlib.lines.Line2D对象位于0x07324370>]

<matplotlib.collections.PolyCollection对象位于0x07324B30>

(-1,3.5)

[attach]82512[/attach]

Python机器学习算法 - SVM



5, 朴素贝叶斯

朴素贝叶斯是一种基于贝叶斯定理的分类方法。这假定预测变量之间的独立性。朴素贝叶斯分类器将假定类中的特征与任何其他特征有关。思索一个水果。这是一个苹果,假如它是圆形,红色,直径2.5英寸。朴素贝叶斯分类器将说这些特征独立地促成果实成为苹果的概率。即便功能互相依赖,这也是如此。

对于非常大的数据集,很容易构建朴素贝叶斯模型。这种模型不只非常简单,而且比许多高度复杂的分类方法表现更好。让我们建立这个。

数组([[16,0,0],

[0,18,0],

[0,0,11]],dtype = int64)

数组([[16,0,0],

[0,0,18],

[0,0,11]],dtype = int64)

6。kNN(k-Nearest Neighbors)

这是一种用于分类和回归的Python机器学习算法 - 次要用于分类。这是一种监督学习算法,它思索不同的质心并运用通常的欧几里德函数来比较间隔。然后,它分析结果并将每个点分类到组以优化它以放置一切最接近的点。它运用其邻居k的多数票对新案件停止分类。它分配给一个类的状况是其K个最近邻居中最常见的一个。为此,它运用间隔函数。

I,对整个数据集停止培训和测试

LogisticRegression(C = 1.0,class_weight = None,dual = False,fit_intercept = True,

intercept_scaling = 1,max_iter = 100,multi_class ='ovr',n_jobs = 1,

penalty ='l2',random_state = None,solver ='liblinear',tol = 0.0001,

verbose = 0,warm_start = False)

array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1

2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,1,1,

1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,

2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,

2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]]

150

0.96

KNeighborsClassifier(algorithm ='auto',leaf_size = 30,metric ='minkowski',

metric_params =无,n_jobs = 1,n_neighbors = 5,p = 2,

权重=“平均”)

0.9666666666666667

KNeighborsClassifier(algorithm ='auto',leaf_size = 30,metric ='minkowski',

metric_params =无,n_jobs = 1,n_neighbors = 1,p = 2,

权重=“平均”)

1.0

II。分裂成火车/测试

(150,4)

(150)

(150,4)

(150)

(90,4)

(60,4)

(90)

(60)

0.9666666666666667

KNeighborsClassifier(algorithm ='auto',leaf_size = 30,metric ='minkowski',

metric_params =无,n_jobs = 1,n_neighbors = 5,p = 2,

权重=“平均”)

0.9666666666666667

[0.95,0.95,0.9666666666666667,0.9666666666666667,0.9666666666666667,0.9833333333333333,0.9833333333333333,0.9833333333333333,0.9833333333333333,0.9833333333333333,0.9833333333333333,0.9833333333333333,0.9833333333333333,0.9833333333333333,0.9833333333333333,0.9833333333333333,0.9833333333333333,0.9666666666666667,0.9833333333333333,0.9666666666666667,0.9666666666666667,0.9666666666666667,0.9666666666666667 0.95,0.95 ]

[<matplotlib.lines.Line2D对象位于0x05FDECD0>]

文字(0.5,0,'k为kNN')

文字(0,0.5,'测试准确度')

[attach]82513[/attach]

Python机器学习算法 - kNN(k-Nearest Neighbors)



阅读Python统计数据 - p值,相关性,T检验,KS检验

7。K-Means

k-Means是一种无监督算法,可以处理聚类成绩。它运用许多集群对数据停止分类。类中的数据点与同类组是同构的和异构的。

<matplotlib.collections.PathCollection对象位于0x0642AF30>

KMeans(algorithm ='auto',copy_x = True,init ='k-means ++',max_iter = 300,

n_clusters = 2,n_init = 10,n_jobs = 1,precompute_distances ='auto',

random_state =无,tol = 0.0001,verbose = 0)

数组([[1.16666667,1.46666667],

[7.33333333,9。]])

数组([0,1,0,1,0,1])

[1。2.] 0

[<matplotlib.lines.Line2D对象位于0x0642AE10>]

[5。8.] 1

[<matplotlib.lines.Line2D对象位于0x06438930>]

[1.5 1.8] 0

[<matplotlib.lines.Line2D对象位于0x06438BF0>]

[8。8.] 1

[<matplotlib.lines.Line2D对象位于0x06438EB0>]

[1。0.6] 0

[<matplotlib.lines.Line2D对象位于0x06438FB0>]

[9. 11.] 1

[<matplotlib.lines.Line2D对象位于0x043B1410>]

<matplotlib.collections.PathCollection对象位于0x043B14D0>

[attach]82514[/attach]



8。Random Forest

Random Forest是决策树的集合。为了根据其属性对每个新对象停止分类,树投票给类 - 每个树提供一个分类。投票最多的分类在Random

中获胜。

<matplotlib.collections.PathCollection对象,位于0x0434EC50>

[<matplotlib.lines.Line2D对象位于0x0434EB30>]

文本(0.5,0, 'X')

文本(0,0.5, 'F(X)=日志(X)')

<matplotlib.legend.Legend对象,位于0x04386450>

文字(0.5,1,'基本日志功能')

[attach]82515[/attach]

Python机器学习算法 -



萼片长度(厘米)萼片宽度(厘米)... is_train物种

0 5.1 3.5 ...真正的setosa

1 4.9 3.0 ...真正的setosa

2 4.7 3.2 ...真正的setosa

3 4.6 3.1 ...真正的setosa

4 5.0 3.6 ...假setosa

[5行x 6列]

RandomForestClassifier(bootstrap = True,class_weight = None,criterion ='gini',

max_depth =无,max_features ='auto',max_leaf_nodes =无,

min_impurity_decrease = 0.0,min_impurity_split =无,

min_samples_leaf = 1,min_samples_split = 2,

min_weight_fraction_leaf = 0.0,n_estimators = 10,n_jobs = 2,

oob_score = False,random_state = None,verbose = 0,

warm_start = FALSE)

preds setosa versicolor virginica

实践

setosa 12 0 0

versicolor 0 17 2

virginica 0 1 15

所以,这就是Python机器学习算法教程。希望你喜欢。

因此,明天我们讨论了八个重要的Python机器学习算法。您以为哪一个最具潜力?希望大家多多关注,更多精彩的文章带给大家!
作者: szgaoyahon    时间: 2018-12-11 12:13
分享了,有工夫学学
作者: coollp    时间: 2018-12-11 13:44
分享了
作者: 木木阿姨最温油    时间: 2018-12-11 14:39
分享了
作者: powerjet    时间: 2018-12-11 15:58
分享了
作者: 你的ANGEL    时间: 2018-12-11 17:49
分享了
作者: d343314356    时间: 2018-12-11 18:26
分享了
作者: 金书鹏    时间: 2018-12-11 20:20
分享了
作者: Autumn_leaf    时间: 2018-12-11 20:40
分享了
作者: 喜喜1234    时间: 2018-12-11 22:49
小白一个 顶一下
作者: 从从容容    时间: 2018-12-12 09:02
很看好这个




欢迎光临 智客公社 (http://bbs.cnaiplus.com/) Powered by Discuz! X3.4