机器学习基本算法
江 东
脚踏实地
展开
-
快速安装python包
使用以下代码pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 在最后加上你要安装的包,就OK了例如:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas原创 2021-12-08 15:46:25 · 1282 阅读 · 0 评论 -
KNN实现手写字体的识别
KNN实现手写字体的识别KNN算法介绍:数据的导入:导入包导入数据集数据集介绍:数据集的分割:定义KNN函数:评估准确率:完整代码:KNN算法介绍:点击这里查看KNN算法代码及其介绍数据的导入:导入包from sklearn import datasetsimport matplotlib.pyplot as pltimport numpy as npimport cv2from sklearn.model_selection import train_test_splitimport原创 2021-11-23 12:02:53 · 2516 阅读 · 0 评论 -
DBSCAN聚类算法原理以及代码
算法介绍简单理解算法优点代码简单理解算法里面有两个参数,一个是半径,另一个是数量,根据半径划分范围,在这个范围内的数据可以称为直接密度可达,然后取在这个范围内的每个数据根据半径再继续划分范围,从而达到“传播”的效果算法优点不需要事先知道要形成的簇类的数量。可以发现任意形状的簇类。对噪声敏感,更容易找到噪声代码# 导入包from sklearn.cluster import KMeans # 算法from sklearn.datasets import load_iris #原创 2021-11-18 19:49:29 · 2340 阅读 · 1 评论 -
Kmeans算法提升
深入理解算法K均值调包可视化展示选取最优K值手肘法轮廓系数K均值调包# 导入包from sklearn.cluster import KMeans # 算法from sklearn.datasets import load_iris # 数据集from sklearn.model_selection import train_test_split # 数据集划分from sklearn.metrics import accuracy_score #评估from skl原创 2021-11-18 19:46:32 · 1412 阅读 · 0 评论 -
线性回归模型损失和优化
性回归模型损失和优化学习任务优化方法正规方程正规方程推导过程梯度下降梯度下降公式两者的对比如何选择小规模数据大规模数据学习任务使用正规方程对损失函数优化的过程使用梯度下降法对损失函数优化的过程优化方法正规方程正规方程,一次就可以求得最合适的值理解:X为特征矩阵,y为目标值矩阵。直接求得最好的结果缺点:当特征值过多复杂时,求解速度太慢并且得不到结果。正规方程推导过程梯度下降 梯度是微积分中一个很重要的概念,在单变量的函数中,梯度原创 2021-11-12 13:41:30 · 1630 阅读 · 0 评论 -
什么是机器学习?
什么是机器学习?;官方解释: ·机器学习就是从“数据”中自动分析获得规律,利用规律对未知的数据进行预测。- 模型:算法模型,是一个特殊的对象,该算法模型对象中已经集成了或封装好了某种形式的算法/方程(还没有求出解)- 模型的作用: - 预测:可以通过方程或者算法产生一个新的位置的数据/事物 - 分类:可以将一个未知归类的事物给其归属到一个已有的类群中 - 注意:算法模型对应的算法或者方程求出的解就是预测或者分类的结果- 样本数据: - 模型的训原创 2021-11-11 23:26:28 · 1705 阅读 · 0 评论 -
朴素贝叶斯+拉普拉斯平滑代码实现-方法二
手撕代码首先导入包:数据的读取:计算出好瓜的概率:计算坏瓜的概率:单个数据的预测:整体预测:首先导入包:import pandas as pdfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import scorerimport numpy as np数据的读取:datasets = pd.DataFrame([["青绿", "蜷缩", "浊响", "清晰", "凹陷", "硬滑", "是"原创 2021-11-10 13:48:59 · 1530 阅读 · 0 评论 -
朴素贝叶斯+拉普拉斯平滑代码实现
手撕代码数据的读取取好坏瓜:求先验:特征提取:求P(*|好瓜):求P(*|坏瓜):预测好坏瓜的函数:验证结果:输出:数据的读取import pandas as pd# melon2 = pd.read_csv('E:\\work\ml\\Python_Project_01\\sklearn_week\\week_10\\melon2.0.csv', index_col='编号')melon2 = pd.DataFrame([["青绿", "蜷缩", "浊响", "清晰", "凹陷", "硬滑",原创 2021-11-10 13:37:14 · 1707 阅读 · 0 评论 -
感知机对偶形式
感知机:符号函数:选择误分类点到超平面的总距离作为损失函数:距离:误分类点:误分类点距离总距离感知机对偶形式过程例题:动态可视化代码:# 以半动画的方式展示感知识机对偶问题的操作的合理性# 给定初始点, 初始直线import timeimport matplotlibimport numpy as npfrom matplotlib.colors import ListedColormapmatplotlib.rcParams['font.sans原创 2021-11-09 12:27:54 · 1096 阅读 · 0 评论 -
梯度下降--感知机实现
任务:用梯度下降的方法优化感知机首先导入包# 首先导入包:import matplotlib.pyplot as pltimport numpy as np数据的准备# x = np.array([[-1., 2.], [0., 0.], [0., 2.], [1., 0]])x = np.array([[0., 2.], [1., 0], [-1., 2.], [0., 0.]])# y = np.array([1, 1, -1, -1])y = np.array([-1, -1, 1原创 2021-11-09 11:56:32 · 1280 阅读 · 0 评论 -
梯度下降算介绍以及代码详解
关于梯度下降什么是梯度下降:理论部分:梯度下降伪代码(个人感觉第(5)步应该转第(2)步):代码:什么是梯度下降:首先来看看梯度下降的一个直观的解释。比如我们在一座大山上的某处位置,由于我们不知道怎么下山,于是决定走一步算一步,也就是在每走到一个位置的时候,求解当前位置的梯度,沿着梯度的负方向,也就是当前最陡峭的位置向下走一步,然后继续求解当前位置梯度,向这一步所在位置沿着最陡峭最易下山的位置走一步。这样一步步的走下去,一直走到觉得我们已经到了山脚。当然这样走下去,有可能我们不能走到山脚,而是到了某一个原创 2021-10-21 23:28:03 · 1213 阅读 · 0 评论 -
Kmeans实战-实现二维的bolo分析
首先导入包:# 导入包import matplotlib.pyplot as plt # 画图的包import numpy as np import pylab as mpl # import matplotlib as mplfrom sklearn.datasets import make_blobs # 产生数据集默认设置:mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体mpl.rcParams['原创 2021-10-21 23:21:51 · 1253 阅读 · 0 评论 -
KMeans算法分析以及可视化展示
基本流程:导入包import matplotlib.pyplot as pltimport numpy as npimport pylab as mpl # import matplotlib as mplfrom sklearn.datasets import make_blobs画图问题:mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体mpl.rcParams['axes.unicode_minus'] = False原创 2021-10-09 12:03:59 · 2725 阅读 · 5 评论 -
KNN实现鸢尾花数据集的可视化
KNN实现鸢尾花数据集的可视化首先导入包:获取数据:设置画图的颜色深浅:决策边界,用不同的颜色表示:KNN原理:将数据合并:进行画图:可视化展示: ![可视化](https://img-blog.csdnimg.cn/895a06844b024714835b82441349e3f4.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bCP55qu6bq76Iqx,size_20,col原创 2021-10-09 10:56:41 · 3711 阅读 · 1 评论 -
机器学习算法-KNN
机器学习算法-KNN·KNN算法的基本过程:·算法的优缺点·手撕KNN代码,刨析KNN原理·KNN算法的基本过程:1)计算测试数据与各个训练数据之间的距离2)按照距离的递增关系进行排序3)选取距离最小的K个点4)确定前K个点所在类别的出现频率5)返回前K个点中出现频率最高的类别作为测试数据的预测分类·算法的优缺点优点:精度高、对异常值不敏缺点:计算复杂度高、空间复杂度高基本实现流程:# 导入包from sklearn.datasets import load_irisfrom sk原创 2021-09-20 17:17:07 · 1149 阅读 · 0 评论 -
机器学习算法-Logistic Regressi
·逻辑回归与线性回归不同的是,逻辑回归并不是一个回归算法,它是一个分类算法;通过拟合一个逻辑函数来预测一个离散型因变量的值(预测一个概率值,基于0与1),来描述自变量对因变量的影响程度。自变量可以有一个,也可以有多个。其中,一个自变量被称为一元逻辑回归,而多个自变量被称为多元逻辑回归。以实例而言,逻辑回归可以预测一封邮件是垃圾邮件的概率是多少。同时,因为结果是概率值,它同样可以对点击率等结果做排名模型预测基本代码实现:# 关于逻辑回//# 首先导入包:from sklearn.datas原创 2021-09-03 22:52:31 · 1113 阅读 · 0 评论