![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习算法思想及代码实现
繁华三千东流水
这个作者很懒,什么都没留下…
展开
-
机器学习之随机森林(一)
RF是基于决策树的集成模型,随机森林是机器学习中最成功的算法之一,他能做二分类、多分类和回归任务。随机森林里集成了很多棵决策树,目的是减小过拟合的风险(减小模型方差)。原创 2019-08-18 14:11:15 · 2857 阅读 · 0 评论 -
机器学习之决策树算法(五)ID3、C4.5、CART树等构建过程的思想及剪枝操作
决策树学习通常包括3个步骤:特征选择、决策树的生成和决策树的修剪原创 2019-08-15 09:22:08 · 1941 阅读 · 0 评论 -
机器学习之集成学习(五)boosting分类底层实现
该算法中有两个权重需要注意(带权学习)原创 2019-08-20 09:07:48 · 375 阅读 · 0 评论 -
机器学习之决策树算法(八)绘制决策树图
代码绘制决策树图原创 2019-08-19 19:39:25 · 4552 阅读 · 0 评论 -
机器学习之框架整合进阶篇
从学习训练向工业应用的转变实践中我们拿到数据,并不知道要选用哪个算法才合适。我们训练好的模型,需要保存好,来新样本后,直接拿来预测即可。原创 2019-08-10 11:24:25 · 682 阅读 · 1 评论 -
机器学习之KNN(一)K近邻算法sklearn实现详解
KNN算法在sklearn中的实现步骤以及参数详解原创 2019-08-09 20:47:36 · 6982 阅读 · 0 评论 -
机器学习之素朴贝叶斯(五)文本处理的特征工程TF-IDF
原始的词项频率会面临这样一个严重问题,即在和查询进行相关度计算时,所有的词项都被认为是同等重要的。实际上,某些词项对于相关度计算来说几乎没有或很少有区分能力。原创 2019-08-14 11:18:57 · 423 阅读 · 0 评论 -
机器学习之朴素贝叶斯(四)用CountVectorizer(平权统计)的文本分类
这里使用的是原始的词频统计,所有词的权重是相等的。原创 2019-08-14 10:02:41 · 1359 阅读 · 0 评论 -
机器学习之代码绘制sigmoid函数
逻辑回归是一种常见的分类算法,通常用来处理二分类问题。逻辑回归名字中带有回归两个字,却用于处理分类问题,是因为逻辑回归利用了回归的思想,先利用回归思想计算出一个预测值,再将该预测值转化为分为某一类别的概率。利用回归方法算出来的预测值的值域是从负无穷到正无穷的,而概率P的值域是从0到1。原创 2019-08-19 10:06:39 · 2190 阅读 · 0 评论 -
机器学习之选择小样本交叉验证训练模型并使用精确率、召回率、F1分数和AUC值、画出ROC曲线评估
本片博文主要介绍随机采集小样本,使用交叉验证评价模型类别,使用表格查找器选择模型最优参数以及模型评估的各项指标等原创 2019-08-09 14:36:01 · 4360 阅读 · 1 评论 -
机器学习之协方差和奇异值分解实现
案例描述要求:有以下数据集(二维数组)data,[[3, 4, 1, 6, 4],[2, 3, 5, 4, 0],[3, 3, 1, 0, 0],[5, 5, 6, 2, 2],[0, 2, 3, 3, 3],[0, 0, 0, 6, 6]]对其svd分解,并打印输出分解后的结果案例分析协方差在pca降维算法中,我们要计算样本数据的协方差。协方差表示的是两个变量的总体的误差...原创 2019-08-07 09:21:08 · 1005 阅读 · 0 评论 -
机器学习之随机梯度下降、批量梯度下降、小批量梯度下降
一元线性回归模型举例:以房屋面积预测房屋价格假设函数可以设置为:一元线性回归代价函数图像每一个预测值都与真实值存在一个差距,差距的平方和就可以作为一个代价函数。因此代价函数为:如下图所示(为方便观察,做了一个截断)代码为:from matplotlib import pyplot as pltimport numpy as npfrom mpl_toolkits.mpl...原创 2019-08-07 09:03:55 · 566 阅读 · 0 评论 -
机器学习之朴素贝叶斯(三)手写底层实现完整版
根据素朴贝叶斯思想,完整版的Python实现原创 2019-08-13 20:16:19 · 484 阅读 · 1 评论 -
机器学习之数据处理中的多项式扩展实现
我们可以利用其它辅助工具来完成这个任务,也可以直接在sklearn中调用多项式生成函数来帮我们完成这个任务,下面简要做个例子。原创 2019-08-23 10:17:52 · 575 阅读 · 0 评论 -
机器学习之高斯混合模型(一)GMM实战——根据身高体重进行人群聚类
Sklearn之GMM实战——根据身高体重进行人群聚类原创 2019-08-23 09:33:09 · 3243 阅读 · 0 评论 -
机器学习之EM算法(一)期望极大算法原理及代码实现
当模型含有隐变量时,就不能简单地使用这些估计方法。EM算法就是含有隐变量的概率模型参数的极大似然估计法。原创 2019-08-23 09:10:21 · 1476 阅读 · 0 评论 -
机器学习之聚类算法(五)层次聚类代码实现及模型可视化
层次聚类(Hierarchical Clustering)是聚类算法的一种,通过计算不同类别数据点间的相似度来创建一棵有层次的嵌套聚类树。原创 2019-08-22 17:14:42 · 4931 阅读 · 0 评论 -
机器学习之工作流程调库使用核心代码总结(一)
工作梳理总结+核心实现代码原创 2019-08-17 10:02:26 · 381 阅读 · 0 评论 -
机器学习之集成学习(四)调库核心代码
调库核心代码原创 2019-08-17 09:10:11 · 688 阅读 · 0 评论 -
机器学习之集成学习(三)Boosting回归算法实现
集成学习是训练一系列学习器,并使用某种结合策略把各个学习结果进行整合,从而获得比单个学习器更好的学习效果的一种方法。如果把单个学习器比作一个决策者的话,集成学习的方法就相当于多个决策者共同进行一项决策。集成模型不是单独的ML模型,而是通过先构建后结合多个ML模型来完成学习任务原创 2019-08-17 08:17:55 · 4838 阅读 · 0 评论 -
机器学习之集成学习(二)Bagging分类算法实现
个体学习器之间不存在强依赖关系,一系列个体学习器可以并行生成,然后使用组合策略,得到最终的集成模型,这就是Bagging的思想原创 2019-08-17 08:03:09 · 5226 阅读 · 2 评论 -
机器学习之集成学习(一)Ensemble Learning
集成学习是使用一系列学习器进行学习,并使用某种规则把各个学习结果进行整合从而获得比单个学习器更好的学习效果的一种机器学习方法。一般情况下,集成学习中的多个学习器都是同质的"弱学习器"原创 2019-08-16 20:13:18 · 693 阅读 · 1 评论 -
机器学习之KNN(三)带权回归底层实现
KNN邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或...原创 2019-08-12 21:03:37 · 896 阅读 · 0 评论 -
机器学习之聚类算法(四)Mini Batch K-Means和DBSCAN密度聚类
DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)是一种很典型的密度聚类算法,和K-Means这些一般只适用于凸样本集的聚类相比,DBSCAN既可以适用于凸样本集(简单点说集合里任意两点连接成的线段中的点也在集合中,那么就是凸集),也可以适用于非凸样本集。原创 2019-08-21 15:45:24 · 1612 阅读 · 0 评论 -
机器学习之KNN(二)算法梳理总结及经典面试题实现
KNN算法定义有监督算法可以解决分类、回归问题算法原理物以类聚人以群分输入一个样本点,计算所有样本到该样本点的欧式距离,取前k个进行决策三个要素欧式距离 判断类别远近k值,选择方式过小 受噪音影响多大 收到其他样本影响超参数计算,找最优得分方式决策方式分类投票法带权投票法回归求均值带权求均值优点、缺点优点思想简单,能做分类和回...原创 2019-08-12 16:03:25 · 1514 阅读 · 0 评论 -
机器学习之聚类算法(三)KMeans、KMeans++、KMeans||原理介绍及代码实现
KMeans系列的详细解释及底层实现。算法基于数学思维。原创 2019-08-21 11:24:48 · 4429 阅读 · 0 评论 -
机器学习之决策树算法(七)以西瓜数据集的离散特征和连续特征为例编写回归树
以西瓜数据集的离散特征和连续特征为例编写回归树原创 2019-08-15 20:18:23 · 1181 阅读 · 0 评论 -
机器学习之决策树算法(六)以西瓜数据集的离散特征和连续特征为例编写分类树
以西瓜数据集的离散特征和连续特征为例编写分类树原创 2019-08-15 20:12:15 · 2100 阅读 · 0 评论 -
机器学习之朴素贝叶斯(二)以鸢尾花数据集为例实现调库训练
以鸢尾花数据集实现朴素贝叶斯的调库训练并简要介绍函数参数原创 2019-08-13 20:03:46 · 3748 阅读 · 0 评论 -
机器学习之朴素贝叶斯(一)思想及典型例题手写实现
朴素贝叶斯对应特殊的例题的简易实现,重要的还是理解其原理,调库的时候可以灵活使用。原创 2019-08-13 19:49:37 · 3735 阅读 · 0 评论 -
机器学习中的名词释义(一)
人工智能——AI(artificial intelligence)机器学习——ML(Machine Learning)深度学习——DL(Deep Learning)监督学习——Supervised Learning无监督学习——Unsupervised Learning半监督学习——Semi-supervised Learning强化学习——Reinforcement Learnin...原创 2019-08-02 16:27:53 · 452 阅读 · 0 评论 -
机器学习之决策树算法(三)分类决策树调库实现
代码如下:''' 决策树之分类决策树'''import numpy as npfrom sklearn.tree import DecisionTreeClassifierfrom sklearn.datasets import load_breast_cancerfrom matplotlib import pyplot as plt# 设置中文字体和负号显示plt.rc...原创 2019-07-24 21:00:17 · 1122 阅读 · 0 评论 -
机器学习之决策树算法(二)学习记录
参考资料来源于八维学院决策树/判定树决策树是机器学习中分类算法中的重要算法之一。决策树是类似于流程图的树结构:其中每个内部结点表示在一个属性上的测试,每个分支代表一个属性的输出,而每个树叶结点代表类或类分布。树的最顶层是根节点。附上很经典的”程序员相亲的例子“,便于理解。如图:上述就是决策树的工作流程和各个结构的名称叫法。熵/信息熵/信息增益决策树中用到了关于熵的部分知识。熵:熵...原创 2019-07-24 20:25:31 · 523 阅读 · 0 评论 -
机器学习之决策树(一)回归决策树调库实现
决策树决策树算法中涉及到关于信息熵的一些知识。熵在物理中的意思是内部的混乱程度。信息熵代表的是信息的不确定性。信息熵越大,代表信息的不确定性越大,也就是说要确定这个信息,需要更多的信息量。决策树的构造思想是:随着树的深度的加深,节点的熵迅速的降低,速度越快越好。熵降低 ,代表不确定变小,反过来说就是确定性变大,直到确定,这样决策树就有了决策。我们期望熵降低的最快,实际上就是想要构建一个深...原创 2019-07-24 18:13:51 · 977 阅读 · 0 评论 -
机器学习之PCA降维算法(一)调库实现
PCA降维代码及注释# 以datasets中的恶性肿瘤数据为例# 画出降维后的可视化图形from matplotlib import pyplot as pltfrom sklearn.datasets import load_breast_cancerfrom sklearn.decomposition import PCA# 设置中文字体和负号正常显示plt.rcParams['...原创 2019-07-23 18:19:55 · 1128 阅读 · 0 评论 -
机器学习之sklearn(一)neural_network调库实现
sklearnsklearn是机器学习中经常用到的一个库,库中含有大量的训练数据集以及大部分经典机器学习算法的封装,我们直接在Python中导入库中需要使用的文件即可。neural_networkneural_network是sklearn库中的一个分文件,用于神经网络模型的训练。代码部分调库部分# 这里我们使用手写数字识别来举例# 手写数字识别的数据结构为:每个样本是28*28个像...原创 2019-07-18 20:00:47 · 14556 阅读 · 2 评论 -
机器学习之模型调优(一)诊断、调试、系统设计
为什么要有模型调优步骤比如说我们针对某一个数据集选用了线性回归或者逻辑回归,又或者是神经网络等等的其中一种算法,训练好了一个模型,但是在用测试集数据进行测试的时候,我们的模型表现的并不是很好。那么此时,我们应该做什么?是直接更换一种模型?是尝试更多的训练样本?是减少更多的特征?还是加入更多的特征?我们想到了很多的方法对模型进行调试,或者是更换模型,那么选择哪一种方式呢?在众多的方式中...原创 2019-07-20 08:02:31 · 1672 阅读 · 2 评论 -
机器学习之多变量线性回归(五)框架整合
线性回归机器学习,就是让机器通过在大量数据中进行学习,获得一个预测相同数据的能力,主要作用是用来对新数据的预测。线性回归是机器学习中最经典的算法之一,通过优化每个特征的权重值,获得最好的训练模型,用来预测后续数据的结果。线性回归属于机器学习中的有监督学习,意思就是说每个已知的真实样本,都拥有确定的结果,预测的结果是连续性的一组值。第一步数据处理在让机器学习之前,对要喂给机器的数据进行处理...原创 2019-07-11 09:44:39 · 730 阅读 · 1 评论 -
机器学习之逻辑回归算法(一)梯度下降底层实现
逻辑回归算法在机器学习中逻辑回归属于有监督学习的用于分类的算法,其输出是一个(0,1)之间的数,用0.5来作为分类点,大于0.5的统一划分为正样本,小于0.5的统一划分为负样本,实现0,1二分类。数据准备34.62365962451697,78.0246928153624,030.28671076822607,43.89499752400101,035.84740876993872,72...原创 2019-07-10 21:08:00 · 1019 阅读 · 0 评论 -
机器学习之多变量线性回归算法(四)梯度下降和特征缩放
特征缩放特征缩放是数据处理中很重要的一环,因为各个特征之间如果数量级差距过大,会导致梯度下降很难去收敛,今天所用到的是特征缩放的经典算法,标准化。含义是:数据减去数据集的均值,再除以数据的标准差公式是:X(数据集)= (X - np.mean(X,axis=0))/(np.std(X,axis=0))其中的参数axis = 0 表示对矩阵的列进行操作代码如下import numpy ...原创 2019-07-10 09:14:02 · 969 阅读 · 0 评论