
彭湃的专栏
所有的伟大,源于一个勇敢的开始。
本专栏都是2018年4月至2019年2月期间所实现的机器学习相关代码,经过最近整理之后逐一发出。有用请点赞,没用请差评。
Tomator01
19届武汉硕士。联系邮箱:pengpai_tomator@163.com
一个喜欢做厨子的程序猿。
展开
-
python 实现AdaBoost 算法
有用请点赞,没用请差评。欢迎分享本文,转载请保留出处。目前程序的训练部分分类器部分没有问题,但是最后的predict部分还存在点问题,一直没有找出来,等有时间了再来修改吧。采用的数据集:github:https://github.com/Tomator01/-Machine-Learning# -*- coding:utf-8 -*-# AdaBoost算法...原创 2019-05-27 22:27:12 · 1659 阅读 · 0 评论 -
python 实现逻辑斯谛回归(logistic regression)
有用请点赞,没用请差评。欢迎分享本文,转载请保留出处。logistic regression模型的原理可以参考这两篇博客:https://www.jianshu.com/p/4cf34bf158a1https://blog.youkuaiyun.com/c406495762/article/details/77723333这两篇博客在训练模型时采用的公式是:,也就是代码中...原创 2019-05-08 13:53:52 · 4921 阅读 · 0 评论 -
python 实现CART算法决策树
有用请点赞,没用请差评。欢迎分享本文,转载请保留出处。本次代码是基于上一节决策树ID3\C45修改过来的,建议两篇博客一起看。具体算法原理等有时间了再写。# -*- coding:utf-8 -*-# Decision tree by cart决策树,cart算法,算法参考李航《统计学习方法》P71#author:Tomatorimport numpy a...原创 2019-04-28 20:32:52 · 6389 阅读 · 1 评论 -
Python实现决策树分类回归
有用请点赞,没用请差评。欢迎分享本文,转载请保留出处。在上一篇博客的基础上增加了使用决策树进行预测的功能(Decision_tree类有稍微改变)。预测函数其实可以使用递归来实现,但是经过苦思冥想之后觉得不用递归也可以简便的写出来,(~~此处颇为自豪~~哈哈),只是逻辑上面需要更清晰一些,尽力写了很多注释,语言表达能力不太好,希望读者理解。 """ 使用决策树分类 ...原创 2019-04-25 22:06:26 · 5348 阅读 · 2 评论 -
python实现决策树生成算法ID3、C4.5
有用请点赞,没用请差评。欢迎分享本文,转载请保留出处。目录决策树原理 决策树模型决策树生成算法python实现前言:本章节实现了ID3和C4.5的决策树生成算法,决策树的剪枝请参考下一篇博客。算法是基于李航老师的《统计学习方法》,相关公式在代码中都分别标注了。博客内容参考于李航老师《统计学习方法》和某位大佬的博客https://blog.csdn...原创 2019-04-25 15:37:46 · 4714 阅读 · 5 评论 -
线性不可分数据生成
有用请点赞,没用请差评。欢迎分享本文,转载请保留出处。用于生成两个直径不等的圆周数据集。# -*- coding:utf-8 -*-# 线性不可分数据的生成#author:Tomatorimport mathimport numpy as npimport matplotlib.pyplot as pltf=open("SVM非线性数据集.txt",'w...原创 2019-04-23 22:46:58 · 1370 阅读 · 0 评论 -
python实现支持向量机SVM源码(SMO算法)
有用请点赞,没用请差评。欢迎分享本文,转载请保留出处。本次是学习了李航博士《统计学习分析》后实现了算法,算法实现了线性支持向量机和非线性支持向量机,采用SMO算法求解。算法中实现了两种核函数:高斯核函数和多项式核函数。下面代码中采用的数据集为鸢尾花数据集中的两个类别的数据,若要尝试非线性数据集可以从笔者github:https://github.com/Tomator01/-Machin...原创 2019-04-23 22:40:07 · 3278 阅读 · 4 评论 -
python实现朴素贝叶斯分类器(连续数据)
有用请点赞,没用请差评。欢迎分享本文,转载请保留出处。一、算法算法原理参考周志华老师的《机器学习》p151和李航老师的《统计学习方法》。 博客内容部分借鉴于腾讯云“海天一树”老师。二、数据集本文中的数据集使用的是“皮马印第安人糖尿病数据集”。该数据集由美国国立糖尿病、消化和肾脏疾病研究所(United States National Institute of Dia...原创 2019-04-18 19:32:15 · 8481 阅读 · 3 评论 -
python 实现朴素贝叶斯分类器(离散数据)
有用请点赞,没用请差评。欢迎分享本文,转载请保留出处。朴素贝叶斯算法步骤:贝叶斯估计代码:# -*- coding:utf-8 -*-# naive Bayes 朴素贝叶斯法#author:Tomator"""算法参考与李航博士《统计学习方法》采用贝叶斯估计(拉普拉斯平滑)计算先验概率和条件概率"""from collectio...原创 2019-04-18 00:58:15 · 4423 阅读 · 2 评论 -
感知机python实现
有用请点赞,没用请差评。欢迎分享本文,转载请保留出处。感知机原理参考博客:https://www.cnblogs.com/huangyc/p/9706575.html算法引用李航博士《统计学习方法》p29.# -*- coding:utf-8 -*-# 感知机import numpy as npimport matplotlib.pyplot as plt...原创 2019-03-22 14:38:30 · 701 阅读 · 0 评论 -
二分k-means算法(Bisecting k-means cluster)python 实现
有用请点赞,没用请差评。欢迎分享本文,转载请保留出处。代码:# -*- coding:utf-8 -*-# kmeans : Bisecting k-means cluster(二分K-means算法)import numpy as npimport matplotlib.pyplot as pltdef readfile(filename): """...原创 2019-03-18 21:12:26 · 5138 阅读 · 2 评论 -
k-means聚类 python实现
有用请点赞,没用请差评。欢迎分享本文,转载请保留出处。kmeans算法又名k均值算法。其算法思想大致为:先从样本集中随机选取kk个样本作为簇中心,并计算所有样本与这kk个“簇中心”的距离,对于每一个样本,将其划分到与其距离最近的“簇中心”所在的簇中,对于新的簇计算各个簇的新的“簇中心”。 根据以上描述,我们大致可以猜测到实现kmeans算法的主要三点: (1)簇个数kk的...原创 2019-03-16 22:56:20 · 2090 阅读 · 4 评论 -
k近邻法(KNN)python 实现
有用请点赞,没用请差评。欢迎分享本文,转载请保留出处。KNN关于knn的原理就不赘述了,算法原理可以参考李航博士的《统计学习方法》。这次采用的是最简单的线性扫描方法来寻找k个最近邻点。但是这种方法面对很大的训练集时,计算会非常耗时,因此为了提高k近邻搜索的效率,可以考虑kd树方法。距离度量采用的是欧式距离(euclidean distance)。import nu...原创 2019-03-14 22:37:19 · 1604 阅读 · 0 评论 -
牛顿法python 实现
有用请点赞,没用请差评。欢迎分享本文,转载请保留出处。牛顿法也是求解无约束最优化问题的常用方法,有收敛速度快的优点。牛顿法是迭代算法,每一步需要求解目标函数的海赛矩阵的逆矩阵。同时还有拟牛顿法、阻尼牛顿法、修正牛顿法等等。算法步骤:import randomimport numpy as npimport matplotlib.pyplot as pltd...原创 2019-03-13 20:05:55 · 15968 阅读 · 1 评论 -
最速下降法(梯度下降法)python实现
有用请点赞,没用请差评。欢迎分享本文,转载请保留出处。最近在写论文,做的是共轭梯度反演方法,所以将论文中的部分内容分享出来吧。大部分的机器学习算法的本质都是建立优化模型,通过最优化方法对目标函数(或损失函数)进行优化,从而训练出最好的模型。常见的最优化方法有梯度下降法、牛顿法和拟。牛顿法、共轭梯度法等等。在数学领域称为最优化,在地球物理领域也称为反演。关于最速下降法的原理这里...原创 2019-03-13 19:55:14 · 20176 阅读 · 9 评论