Processing math: 100%
森林半岛 2022-11-02 05:52 采纳率: 81.8%
浏览 47
已结题

使用K近邻算法进行分类

问题遇到的现象和发生背景

使用K近邻算法进行分类。
要求:
补充代码,需要按照要求生成数据,并使用简单的K近邻分类器训练这些数据,最后使用训练好的分类器预测输入的点的类别。

测试说明:
输入说明:输入由四行组成,每行由一个数组成,第一行表示要生成的数据组数,第二行表示生成数据时所使用的随机状态,第三行和第四行表示待测点的特征值(待测点只有两个特征)。

输出说明,由一行组成,即输入点的类别。

注意事项:

生成数据时需要使用make_blobs函数,除了n_samples和random_state之外,要求其他参数均使用默认参数。
K均值分类器也要求均使用默认参数。

用代码块功能插入代码,请勿粘贴截图
# -*- coding: utf-8 -*-

from sklearn.datasets import make_blobs
import numpy as np
from sklearn.neighbors import KNeighborsClassifier

# 请在此添加代码 完成本关任务
#
# ********** Begin *********#

# ********** End **********#

  • 写回答

2条回答 默认 最新

  • 程序媛一枚~ Python领域新星创作者 2022-11-02 08:47
    关注

    按要求完成的,输入
    100
    5
    3
    7
    得到结果 [2]
    可以绘图看一下分类正确与否,不需要绘图,可把25行后删除即可

    img

    
    # KNeighborsClassifier进行分类demo
    # -*- coding: utf-8 -*-
    import numpy as np
    from sklearn.datasets import make_blobs
    from sklearn.neighbors import KNeighborsClassifier
    
    # 请在此添加代码 完成本关任务
    #
    # ********** Begin *********#
    samples = eval(input())
    state = eval(input())
    feature1 = eval(input())
    feature2 = eval(input())
    
    X, y = make_blobs(n_samples=samples, random_state=state)
    
    knn = KNeighborsClassifier()
    knn.fit(X, y)
    
    X_sample = [feature1, feature2]
    X_sample = np.array(X_sample).reshape(1, -1)
    print(knn.predict(X_sample))
    # ********** End **********#
    
    # 绘图看一下
    from matplotlib import pyplot as plt
    
    neighbors = knn.kneighbors(X_sample, return_distance=False)  # 求出邻居节点,默认求的是5个
    plt.figure(figsize=(16, 10))
    plt.scatter(X[:, 0], X[:, 1], s=100, cmap='cool')  # 样本
    plt.scatter(X_sample[0][0], X_sample[0][1], marker="x",
                s=100, cmap='cool')  # 待预测的点
    
    for i in neighbors[0]:
        # 预测点与距离最近的 5 个样本的连线
        plt.plot([X[i][0], X_sample[0][0]], [X[i][1], X_sample[0][1]],
                 'k--', linewidth=0.6);
    plt.show()
    

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月4日
  • 已采纳回答 11月2日
  • 创建了问题 11月2日

悬赏问题

  • ¥15 宝塔面板一键迁移使用不了
  • ¥15 求一个按键录像存储到内存卡的ESP32CAM代码
  • ¥15 如何单独修改下列canvas推箱子代码target参数?,插入图片代替其形状,就是哪个绿色的圆圈每关用插入的图片替代
  • ¥20 四叉树的创建和输出问题
  • ¥15 javaweb连接数据库,jsp文件加载不出来
  • ¥15 matlab关于高斯赛德尔迭代的应用编撰。(相关搜索:matlab代码|迭代法)
  • ¥15 损失匹配问题,求解答
  • ¥15 3500常用汉字书法体检测数据集下载
  • ¥15 odoo17在制造模块或采购模块良品与次品如何分流和在质检模块下如何开发
  • ¥15 Qt音乐播放器的音乐文件相对路径怎么写
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部