码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 任务九 深度学习 K近邻学习


    目录

    k近邻算法

    neighbors.KNeighborsClassifier参数说明

    knn实例 

    神经网络​编辑

    线性函数

    从得分值变为概率值

    损失函数

    激活层


    k近邻算法

    K Nearest Neighbor算法又叫KNN算法 

    如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。

    knn算法的核心思想是未标记样本的类别,由距离其最近的k个邻居投票来决定。

    neighbors.KNeighborsClassifier参数说明

    1. KNeighborsClassifier(n_neighbors=5,weights=’uniform’,algorithm=’auto’,leaf_size=30,p=2,metric=’minkowski’,metric_params=None,n_jobs=1,**kwargs) 

    KNN算法说明以及sklearn 中 neighbors.KNeighborsClassifier参数说明_一年又半的博客-CSDN博客_kneighborsclassifier 参数

    n_neighbors: int, 可选参数(默认为 5)

    用于kneighbors查询的默认邻居的数量

    p: int, 可选参数(默认为 2)

    用于Minkowski metric(闵可夫斯基空间)的超参数。对于任何 p ,使用的是闵可夫斯基空间(l_p)

    p = 1, 相当于使用曼哈顿距离 (l1),

    p = 2, 相当于使用欧几里得距离(l2)

    knn实例 

    python绘图基础—scatter用法_xiaobaicai4552的博客-CSDN博客_ax.scatter 

    构造出X数据集,y是分类集,做中心点分别为[-2,2],[2,2],[0,4]的三个分类,在最后将X和y打印出来可以看到 

    1. from sklearn.datasets import make_blobs
    2. import matplotlib.pyplot as plt
    3. from sklearn.neighbors import KNeighborsClassifier
    4. import numpy as np
    5. # 生成数据
    6. centers = [[-2,2], [2,2], [0,4]]
    7. X, y = make_blobs(n_samples=60, centers=centers,
    8. random_state=0, cluster_std=0.60)
    9. print(X)
    10. print("---------")
    11. print(y)

    把现在的这个训练集画出来

    plt.scatter(c[:,0], c[:,1], s=100, marker='^',c='orange')
    这一行画的是中心点

    1. # 画出数据
    2. plt.figure(figsize=(16,10), dpi=144)
    3. c = np.array(centers)
    4. # 画出样本
    5. plt.scatter(X[:,0], X[:,1], c=y, s=100, cmap='cool')
    6. # 画出中心点
    7. plt.scatter(c[:,0], c[:,1], s=100, marker='^',c='orange')
    8. plt.savefig('knn_centers.png')
    9. plt.show()

    模型训练 使用了KNeighborsClassifier函数

    1. # 模型训练
    2. k = 5
    3. clf = KNeighborsClassifier(n_neighbors = k)
    4. clf.fit(X, y)

    构造用于测试的的数据集,在这里y_sample使用了predict函数,得到的是分类结果集合,neighbors是用于测试的数据与他相邻的点的下标

    1. # 进行预测
    2. X_sample = np.array([[0, 2]])
    3. y_sample = clf.predict(X_sample)
    4. neighbors = clf.kneighbors(X_sample, return_distance=False)
    1. print(X_sample)
    2. print(y_sample)
    3. print(neighbors)

     画出示意图

    1. # 画出示意图
    2. plt.figure(figsize=(16,10), dpi=144)
    3. c = np.array(centers)
    4. plt.scatter(X[:,0], X[:,1], c=y, s=100, cmap='cool') # 出样本
    5. plt.scatter(c[:,0], c[:,1], s=100, marker='^',c='k') # 中心点
    6. plt.scatter(X_sample[0][0], X_sample[0][1], marker="x",
    7. s=100, cmap='cool') # 待预测的点
    8. for i in neighbors[0]:
    9. plt.plot([X[i][0], X_sample[0][0]], [X[i][1], X_sample[0][1]],
    10. 'k--', linewidth=0.6) # 预测点与距离最近的5个样本的连线
    11. plt.savefig('knn_predict.png')
    12. plt.show()

     

     k-近邻算法梳理(从原理到示例)_JaquanC的博客-CSDN博客_k近邻算法的原理

    神经网络

     

    线性函数

     

    当w是一个数时,可以映射到一个二维平面上

    从得分值变为概率值

    损失函数

    衡量我们分类结果

    激活层

    激活层是为矩阵运算的结果添加非线性的

     

  • 相关阅读:
    计算机底层原理
    java教材订购系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
    PHP 5 Filesystem 函数
    Linux应用开发基础知识——输入系统应用编程(七)
    解决注册Kaggle出现的“Captcha must be filled out”问题
    图像检索-MS Loss-论文复现
    月涨粉超150W,B站知识UP主是如何强势崛起?
    Cesium性能优化:高效加载billboard图标和label文字标签
    SocketIO介绍+SpringBoot整合SocketIO完成实时通信
    实例044:矩阵相加
  • 原文地址:https://blog.csdn.net/m0_62309595/article/details/126431480
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号