![](https://img-blog.csdnimg.cn/20190625093330859.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
深入浅出python机器学习
1.机器学习中基本概念
2.实践中的环境配置
3.K最近邻算法
4.广义线性模型
5.朴素贝叶斯
6.决策树与随机森林
7.支持向量机SVM
8.神经网络
9.数据预处理、降维、特征提取及聚类
10. 数据表达与特征工程
11.模型评估与优化
12.建立算法的管道模型
13.文本数据处理
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
曾牛
成功的三个关键,坚持,坚持,再坚持
展开
-
python机器学习16:文本数据处理
本节我们一起学习如何对文本数据进行特征提取,如何对中文分词处理,以及如何使用词袋模型将文本特征转化为数组的形式,以便将文本转化为机器可以“看懂”的数字形式。原创 2019-07-03 10:34:19 · 6417 阅读 · 0 评论 -
python机器学习17:总结
1.概述机器学习定义:最早是由一位人工智能领域的先驱,Arthu Samuel,在1959年提出来的。本意指的是一种让计算机在不经过明显编程的情况下,对数据进行学习,并且做出预测的方法,属于计算机科学领域的一个子集。原创 2019-07-03 10:06:13 · 1725 阅读 · 0 评论 -
python机器学习15:建立算法的管道模型
1.管道模型的概念及用法1.1管道模型的基本概念我们先来做个试验,来引入管道模型加入我们要用某个数据集进行模型训练的话,大概做的做法就会像下面这样。首先,要载入数据集,这里我们继续使用make_blobs来生成数据集,然后对数据集进行预处理(假设模型需要),输入代码如下:##导入数据集生成器from sklearn.datasets import make_blobs##导入数据集拆...原创 2019-06-30 13:55:35 · 1536 阅读 · 1 评论 -
python机器学习14:模型评估与优化
1.使用交叉验证进行模型评估在前面的内容中,我们常常使用train_test_split功能来讲数据集进行拆分成训练集和测试集,然后使用训练集来训练模型,再用模型去拟合测试数据集并对模型进行评分,来评估模型的准确度。除了这种方法之外,我们还可以用一种更加粗暴的方式来验证模型的表现,也就是本节要介绍的交叉验证法(cross validation)。1.1交叉验证法的定义:在统计学中,交叉验...原创 2019-06-30 13:55:01 · 1459 阅读 · 0 评论 -
python机器学习13:自动特征选择
1.使用单一变量法用于特征选择点一变量法的定义: 有一定统计学基础的同学可能了解,在统计学中,我们会分析在样本特征和目标之间是否会有明显的相关性。在进行统计分析的过程中,我们会选择那些置信度最高的样本特征来进行分析。当然这只适用于样本特征之间没有明显关联的情况,也就是大家常说的单一变量法(univariate)。 举个例子,在市场营销中,玩具厂商更关注目标人群的年龄,不同年龄段的儿童对于...原创 2019-06-30 13:54:28 · 1169 阅读 · 2 评论 -
python机器学习12:数据“升维”
#1.向数据集添加交互式特征在实际应用中,常常会遇到数据集的特征不足的情况,要解决这个问题,就需要对数据集的特征进行扩充。这里我们介绍两种在统计建模中常用的方法—交互式特征(Interaction Features)和多项式特征(Polynomial Features)。现在这两种方法在机器学习领域也非常普遍。#####1.交互式特征的定义:顾名思义,交互式特征是在原始数据特征添加交互项,使...原创 2019-06-30 13:53:02 · 3327 阅读 · 0 评论 -
python机器学习11:数据表达
1.使用哑变量转化类型特征1.哑变量的定义:哑变量,也被称为虚拟变量,是一种在统计学和经济学领域非常常用的,用来把某些类型变量转化为二值变量的方法,在回归分析中的使用尤其广泛。在决策树的章节中,就使用了pandas的get_dummies将adult数据集中的类型特征转换成了0和1表达的数值特征。举例来展示get_dummies的使用:import numpy as np#导入pand...原创 2019-06-30 13:52:25 · 133 阅读 · 0 评论 -
python机器学习10:聚类算法
1.K均值聚类1.K均值聚类的工作原理:假设我们的数据集中的样本因为特征不同,像下沙堆一样散步在地上,K均值算法会在小沙堆上插上旗子。而第一遍插的旗子并不能完美地代表沙堆的分布,所以K均值还要继续,让每个旗子能够插入到每个沙滩最佳的位置上,也就是数据点的均值上,这就是K均值算法名字的由来。接下来会一直重复上述的步骤,直到找不到更好的位置。如下图所示:尝试用手工生成的数据集展示一下K均值聚类...原创 2019-06-30 13:51:53 · 169 阅读 · 0 评论 -
python机器学习09:特征提取
通过上面两个小节的学习,我们可以总结出一个idea,那就是有时候,我们通过对数据集原来的特征进行转换,生成新的“特征”或者成分,会比直接使用原始的特征效果好。现在我们再引入一个新的名词,称为“数据表达”。在数据集极为复杂的情况下,比如图像识别,数据表达就显得十分重要。因为图像是由成千上万个像素组成,每个像素上又有不同的RGB色彩值,所以我们要用到一个新的数据处理方法,称为“特征提取”。1.P...原创 2019-06-30 13:51:23 · 1094 阅读 · 0 评论 -
python机器学习08:数据降维
#1.PCA主成分分析举个例子,我们新买的汽车有两个特征来影响我们的心情:一个是动力;另一个是外观如图:从图中,我们可以看出汽车外观对小I的喜好影响比较大,而性能则影响相对较小。这样我们可以在图中添加一点标注,如下图:图中,我们把数据点分布最“长”的方向标注为“成分1”,而与之成90度角方向标注为“成分2”。假如现在,我们让“成分2”取值为0,把“成分1”作为横坐标,重新画这个图,如下...原创 2019-06-30 13:50:52 · 328 阅读 · 0 评论 -
python机器学习07:数据预处理
1.使用StandardScaler进行数据预处理1.使用sklearn的make_blobs函数手工生成数据集:from sklearn.datasets import make_blobsimport matplotlib.pyplot as pltX,y = make_blobs(n_samples=40,centers=2,random_state=50,cluster_std=2...原创 2019-06-30 13:50:21 · 318 阅读 · 0 评论 -
python机器学习之神经网络
1.神经网络的原理和非线性矫正1.神经网络的原理:在介绍神经网络的原理之前先回顾一下线性回归模型的一般公式:y⃗=w[0]x[0]+w[1]x[1]+...+w[p]x[p]+b\vec{y}=w[0]x[0]+w[1]x[1]+...+w[p]x[p]+by=w[0]x[0]+w[1]x[1]+...+w[p]x[p]+b其中,y⃗\vec{y}y表示y的估计值,x[0],到x[p]...原创 2019-06-30 13:49:49 · 198 阅读 · 0 评论 -
python机器学习05:支持向量机SVM算法
1.支持向量机的原理和基本构造1.定义:在SVM算法中,训练模型的过程实际上是对每个数据点对于数据分类决定边界的重要性进行判断。也就是说在训练数据集中,只有一部分数据对于边界的确定是有帮助的,我们把那一部分有帮助的点的向量,称为“支持向量”,这也是“支持向量机”名字的由来。2.SVM算法的核函数:将二维数据变成三维的过程,称为将数据投射至高维空间,也就是SVM算法的核函数功能。3.SVM...原创 2019-06-26 17:08:24 · 429 阅读 · 0 评论 -
python机器学习06:神经网络
1.神经网络的原理和非线性矫正1.神经网络的原理:在介绍神经网络的原理之前先回顾一下线性回归模型的一般公式:y⃗=w[0]x[0]+w[1]x[1]+...+w[p]x[p]+b\vec{y}=w[0]x[0]+w[1]x[1]+...+w[p]x[p]+by=w[0]x[0]+w[1]x[1]+...+w[p]x[p]+b其中,y⃗\vec{y}y表示y的估计值,x[0],到x[p]...原创 2019-06-26 16:26:58 · 285 阅读 · 0 评论 -
python机器学习04:决策树与随机森林算法
# 1.决策树#### 1.决策树的基本原理:决策树是一种在分类与回归中都有着非常广泛应用的算法,它的原理是通过一系列问题进行if/else的推导,最终实现决策。#### 2.决策树的构建:#导入numpyimport numpy as np#导入画图工具import matplotlib.pyplot as pltfrom matplotlib.colors import Listed...原创 2019-06-26 09:30:53 · 389 阅读 · 0 评论 -
python机器学习03:朴素贝叶斯算法
#1.朴素贝叶斯的基本概念####1.1贝叶斯定理:P(A∣B)=P(B∣A)P(A)P(B)P(A|B) = \frac{P(B|A)P(A)}{P(B)}P(A∣B)=P(B)P(B∣A)P(A)####1.2朴素贝叶斯的简单应用:过去的7天当中,有3天下雨,4天没有下雨。用0代表未下雨,1代表下雨,可以用一个数组来表示:y=[0,1,1,0,1,0,10]y=[0,1,1,0,1...原创 2019-06-26 09:29:29 · 327 阅读 · 0 评论 -
python机器学习02:广义线性模型
#1.线性回归####1.线性回归的基本原理:找到当训练数据集中y的预测值和其真实值的平方差最小的时候,所对应的w和b值####1.线性回归的一般公式:y⃗=w[0]x[0]+w[1]x[1]+...+w[p]x[p]+b\vec{y}=w[0]x[0]+w[1]x[1]+...+w[p]x[p]+by=w[0]x[0]+w[1]x[1]+...+w[p]x[p]+b式中:x[0],x...原创 2019-06-26 09:28:48 · 690 阅读 · 0 评论 -
python机器学习基础之np.arange函数
1.回归模型的基本概念原创 2019-06-25 14:17:00 · 2449 阅读 · 0 评论 -
python机器学习基础之Python-数组切片
1.切片应用场景:Python的切片可以被用于数组,它基于每一个维度。例如有一个3x3的数组:示例:>>> a = reshape(arange(9), (3,3))>>> print(a)[[0 1 2][3 4 5][6 7 8]]2.切片的形式:(1)如果只使用[:] 表示一个从数组开始到结束的切片示例:>>> p...原创 2019-06-25 14:07:23 · 582 阅读 · 0 评论 -
python机器学习基础之np.linspace、plt.xlim和xticks
1.画图代码:import matplotlib.pyplot as pltimport numpy as np#从[-1,1]中等距去50个数作为x的取值x=np.linspace(-1,1,5)#图像仅在-1到1之间显示,显示5个点y=x+1#设置参数范围plt.xlim((-1,5))设置点的位置x轴的刻度显示在-1到2之间new_ticks = np....原创 2019-06-25 13:55:50 · 2190 阅读 · 0 评论 -
python机器学习基础之plt.grid(网格线设置)
1.生成网格代码:In [15]: plt.gcf().set_facecolor(np.ones(3))In [16]: plt.grid()In [17]: plt.show()如图:参数详解:matplotlin.pyplot.grid(b, which, axis, color, linestyle, linewidth, **kwargs)b : 布尔值。就是是否显...原创 2019-06-25 13:49:44 · 21501 阅读 · 0 评论 -
python机器学习基础之均值函数numpy.mean
函数体:numpy.mean(a, axis=None, dtype=None, out=None, keepdims= < class ‘numpy._globals._NoValue’>)[source]功能:计算指定轴的算术平均值。返回数组元素的平均值。默认的情况下,求均值的操作在平展开来的数组上进行,否则就在指定的轴上。参数:①a:必须是数组。②axis:默认条件...原创 2019-06-25 13:47:47 · 2151 阅读 · 1 评论 -
python机器学习基础之绘制高斯朴素贝叶斯的学习曲线
画学习曲线的方法:我们可以把{J}{train}(\theta)和{J}{cv}(\theta)作为纵坐标,画出与训练数据集m的大小关系,这就是学习曲线。通过学习曲线,可以直观地观察到模型的准确性与训练数据集大小的关系。示例:绘制高斯朴素贝叶斯在威斯康星乳腺肿瘤数据集中的学习曲线#导入学习曲线库from sklearn.model_selection import learning_cur...原创 2019-06-25 13:45:03 · 910 阅读 · 0 评论 -
python机器学习基础之learning_curve(学习曲线)
1.导包:from sklearn.model_selection import learning_curve函数的调用格式:learning_curve(estimator, X, y, train_sizes=array([ 0.1 , 0.325, 0.55 , 0.775, 1. ]), cv=None, scoring=None, exploit_incremental_learn...原创 2019-06-25 13:18:22 · 6980 阅读 · 4 评论 -
python机器学习基础之sklearn.datasets
sklearn.datasets模块主要提供了一些导入、在线下载及本地生成数据集的方法,可以通过dir或help命令查看,我们会发现主要有三种形式:load_<dataset_name>fetch_<dataset_name>make_<dataset_name>1.datasets.load_<dataset_name>:sklearn包自...原创 2019-06-25 13:09:04 · 4369 阅读 · 0 评论 -
python机器学习基础之numpy.linspace使用详解
函数:numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)作用:在指定的间隔内返回均匀间隔的数字,返回num均匀分布的样本,在[start, stop]这个区间的端点可以任意的被排除在外。参数解释:start : scalar(标量)The starting value of the se...原创 2019-06-25 11:05:19 · 2501 阅读 · 0 评论 -
python机器学习基础之numpy.reshape详解
一、定义:这个方法是在不改变数据内容的情况下,改变一个数组的格式,参数及返回值。官网介绍:参数介绍:a:数组–需要处理的数据newshape:新的格式–整数或整数数组,如(2,3)表示2行3列,新的形状应该与原来的形状兼容,即行数和列数相乘后等于a中元素的数量order:首先做出翻译:order : 可选范围为{‘C’, ‘F’, ‘A’}。使用索引顺序读取a的元素,并按照索引顺序将元...原创 2019-06-25 10:15:43 · 999 阅读 · 0 评论 -
python机器学习01:K最近邻算法
##1.算法原理:近朱者赤,近墨者黑##2.K最近邻算法的用法:#####2.1在分类任务中的应用1.将数据用图形表示出来::#导入数据集生成器from sklearn.datasets import make_blobs#导入KNN分类器from sklearn.neighbors import KNeighborsClassifier# 导入画图工具import matplo...原创 2019-06-26 09:27:51 · 245 阅读 · 0 评论