![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 88
Dream-YH
加油!
展开
-
手写算法-python代码实现DBSCAN
手写算法-python代码实现DBSCAN原理解析代码实现实例演示与sklearn对比总结原理解析上篇文章我们优化了Kmeans聚类算法,最后留下一个问题:Kmeans只适合处理凸样本集,不适合处理非凸样本集,这个问题,怎么解决?链接: 手写算法-python代码实现Kmeans++以及优化生成演示数据集:import numpy as npimport matplotlib.pyplot as pltfrom sklearn.datasets import make_circles,mak原创 2020-12-19 02:14:51 · 2865 阅读 · 6 评论 -
手写算法-python代码实现Kmeans++以及优化
手写算法-python代码实现Kmeans++以及优化聚类结果不稳定的优化方法一次优化:kmeans++二次优化:添加参数n_init其他问题的优化方法聚类结果不稳定的优化方法上篇文章,我们列举了Kmeans的不足之处,也用python代码实现了Kmeans聚类,但是跑出来的聚类结果不稳定,详情请看:链接: 手写算法-python代码实现Kmeans今天,我们来解决这个问题。一次优化:kmeans++问题点:随机选取k个数据,导致结果无法收敛。因为随机选取,可能会使选取的几个数据点都非常靠近,原创 2020-12-18 00:41:38 · 6563 阅读 · 28 评论 -
手写算法-python代码实现Kmeans
手写算法-python代码实现Kmeans原理解析代码实现实例演示sklearn对比总结原理解析今天,我们来讲一下Kmeans,一种无监督聚类算法,也是最为经典的基于划分的聚类方法,它的思想是:对于给定的样本集,按照样本之间的距离大小,将样本集划分为K个簇。让簇内的点尽量紧密的连在一起,而让簇间的距离尽量的大。实现流程如下:1、先确定数据集聚类个数k;2、在数据集中随机选取k个数据,作为初始质心;3、计算数据集中每个样本到每个质心的距离,把样本划分到距离最小的质心所属的类别;4、根据聚类结果原创 2020-12-17 03:02:35 · 2601 阅读 · 3 评论 -
手写算法-python代码实现自定义的KNN
手写算法-python代码实现自定义的KNN普通KNN存在的问题自定义权重python代码实现sklearn的KNN库对比普通KNN存在的问题上篇文章,我们梳理了一下KNN,其中谈到一个问题:做分类任务时,K个近邻数据,到样本的距离都不一样,但是我们都一视同仁,统计最大样本数对应的y标签,作为预测标签,这样明显不太合理,例如:import numpy as npimport matplotlib.pyplot as pltfrom sklearn.datasets import make_cla原创 2020-12-13 01:30:53 · 3594 阅读 · 17 评论 -
手写算法-python代码实现KNN
手写算法-python代码实现KNN原理解析代码实现实例展示sklearn对比总结原理解析KNN-全称K-Nearest Neighbor,最近邻算法,可以做分类任务,也可以做回归任务,KNN是一种简单的机器学习方法,它没有传统意义上训练和学习过程,实现流程如下:1、在训练数据集中,找到和需要预测样本最近邻的K个实例;2、分别统计这K个实例所属的类别,最多的那个类别就是样本预测的类别(多数表决法);对于回归任务而言,则是求这K个实例输出值的平均值(选择平均法);因此,该算法的几个重点在于:1、原创 2020-12-12 18:29:00 · 2395 阅读 · 0 评论 -
手写算法-python代码实现非线性逻辑回归(带L1、L2正则项)
手写算法-python代码实现非线性逻辑回归非线性逻辑回归分析用python代码写的逻辑回归类画决策边界 & 用sklearn里面的逻辑回归库画决策边界多项式逻辑回归代码展示总结非线性逻辑回归分析上一篇文章,我们介绍了逻辑回归,详情请看这里:链接: 手写算法-python代码实现逻辑回归(带L1、L2正则项)其实这是线性逻辑回归,决策边界是线性的,那么当一个数据集,它的划分边界是非线性时,我们该怎么处理?我们利用sklearn来生成相关数据集:import numpy as npimp原创 2020-12-10 01:20:29 · 2266 阅读 · 7 评论 -
手写算法-python代码实现逻辑回归(带L1、L2正则项)
手写算法-python代码实现逻辑回归逻辑回归原理解析损失函数定义以及数学公式推导过程解释1:通俗易懂的手推损失函数:解释2:最大似然估计求解参数对损失函数推导梯度python代码实现逻辑回归逻辑回归原理解析前面我们系统性的介绍了线性回归,初学者建议把我前面的文章看完,再来看逻辑回归。写得应该算是容易看懂的了,且都有实例辅证,大家看的时候要自己跑一边代码,多动手、多思考。今天,我们来讲逻辑回归。逻辑回归是LogisticRegression的直译,它不是用来解决回归问题的,而是用来解决分类问题的,它原创 2020-12-08 03:41:37 · 9333 阅读 · 19 评论 -
手写算法-python代码实现Ridge(L2正则项)回归
手写算法-python代码实现Ridge回归Ridge简介Ridge回归分析与python代码实现1、标准方程法实现Ridge回归2、梯度下降法实现Ridge回归调用sklearn对比Ridge简介前面2篇文章,我们介绍了过拟合与正则化,比较全面的讲了L1、L2正则化的原理与特点;链接: 原理解析-过拟合与正则化以及python代码实现Lasso回归;链接: 手写算法-python代码实现Lasso回归今天,我们在这基础上,讲一讲Ridge回归,就比较简单了,本文主要实现python代码的Ri原创 2020-12-06 17:43:57 · 8480 阅读 · 17 评论 -
手写算法-python代码实现Lasso回归
手写算法-python代码实现Lasso回归Lasso回归简介Lasso回归分析与python代码实现1、python实现坐标轴下降法求解Lasso调用sklearn的Lasso回归对比2、近似梯度下降法python代码实现LassoLasso回归简介上一篇文章我们详细介绍了过拟合和L1、L2正则化,Lasso就是基于L1正则化,它可以使得参数稀疏,防止过拟合。其中的原理都讲的很清楚,详情可以看我的这篇文章。链接: 原理解析-过拟合与正则化本文主要实现python代码的Lasso回归,并用实例佐证原原创 2020-12-06 02:16:13 · 23005 阅读 · 23 评论 -
原理解析-过拟合与正则化
原理解析-过拟合与正则化什么是过拟合线性回归中,正则化一般怎么实现?L0正则化解析L1正则化解析L1正则化为什么可以防止过拟合?为什么L1正则化会使得参数稀疏,一部分参数的系数会变为0?L2正则化解析L2正则化为什么可以防止过拟合?为什么L2正则化会使得参数接近0,而不会变为0?总结什么是过拟合本来关于过拟合与正则化,我是不打算写一篇文章的,今晚想了想,还是写一篇吧。一是直接写带正则化的线性回归代码,显得有些突兀;二是这个东西确实比较重要,我这里会尽量简单的讲清楚。什么是过拟合?我们都知道,目前原创 2020-12-05 02:23:51 · 6035 阅读 · 8 评论 -
手写算法-Python代码实现非线性回归
手写算法-Python代码实现非线性回归生成非线性数据集1、用线性回归拟合2、多项式拟合sklearn实现,校验系数的结果总结生成非线性数据集前面我们介绍了Python代码实现线性回归,今天,我们来聊一聊当数据呈现非线性时,这时我们继续用线性表达式去拟合,显然效果会很差,那我们该怎么处理?继续上实例(我们的代码里用到的数据集尽量直接由Python生成,因此,是可以全部跑通的,有需要的同学,建议大家粘贴复现一下,多思考,多动手,才可以学的更好。)import numpy as npfrom matpl原创 2020-12-04 00:36:11 · 11560 阅读 · 12 评论 -
手写算法-Python代码推广多元线性回归
Python代码实现线性回归一般式的2种方法1、梯度下降-矩阵形式2、标准方程法sklearn实现对比标准方程法1、梯度下降-矩阵形式上篇文章介绍了一元线性回归,包括Python实现和sklearn实现的实例、对比,以及一些问题点,详情可以看这里:链接: 手写算法-Python代码实现一元线性回归里面封装的one_variable_linear()类只适用于一元线性回归,本篇文章修改代码,推广至多元线性回归,并介绍2种更简洁的方法。先给大家复习一下矩阵的基本知识:转置矩阵:损失函原创 2020-12-02 00:16:25 · 2623 阅读 · 10 评论 -
手写算法—Python代码实现一元线性回归
Python实现线性回归简述假设函数、损失函数和梯度下降法Python实现线性回归对比sklearn实现的一元线性回归简述线性回归模型是机器学习里面最基础的一种模型,是为了解决回归问题,学习机器学习从线性回归开始最好,网上关于机器学习的概述有很多,这里不再详细说明,本博文主要关注初学者常见的一些问题以及本人的一些思考和心得,会以实例的方式展现出来。假设函数、损失函数和梯度下降法首先,我们利用sklearn包来生成一组回归数据import numpy as npimport pandas as p原创 2020-12-01 01:04:12 · 6695 阅读 · 8 评论