Python机器学习k-近邻算法(K Nearest Neighbor)实例详解

yizhihongxing

下面是详细讲解“Python机器学习k-近邻算法(KNearestNeighbor)实例详解”的完整攻略,包括算法原理、Python实现和两个示例说明。

算法原理

k-近邻算法是一种基于实例的学习方法,其主要思想是通过计算样本之间的距离,找到与目标样本最近的k个样本,然后根据这k个样本的类进行分类。k-近邻算法的实现过程如下:

  1. 计算目标样本与训练样本之间的距离。
  2. 找到与目标样本最近的k个样本。
  3. 根据这k个样本的类别进行分类。

Python实现

以下是Python实现k-近邻算法的示例代码:

import numpy as np
from sklearn.neighbors import KNeighborsClassifier

# 训练数据
X_train = np.array([[1,2],[2,3],[3,1],[4,2],[3,3],[2,1]])
y_train = np.array([0,0,0,1,1,1])

# 创建k-近邻分类器
knn = KNeighborsClassifier(n_neighbors=3)

# 训练模型
knn.fit(X_train, y_train)

# 预测新数据
X_test = np.array([[2,2],[3,2],[2,3],[4,3]])
y_pred = knn.predict(X_test)

print(y_pred)

上述代码中使用scikit-learn库实现了k-近邻算法。首先定义训练数据X_train和y_train,其中X_train是一个二维数组,每一行表示一个样本,y_train是一维数组,表示每个样本的类别。接着创建KNeighborsClassifier对象,设置k值为3。然后使用fit函数训练模型。最后使用predict函数预测新数据X_test的类别,并输出预测结果。

示例说明

以下两个示例,说明如何使用上述代码进行分类。

示例1

使用k-近邻算法对样本进行分类。

import numpy as np
from sklearn.neighbors import KNeighborsClassifier

# 训练数据
X_train = np.array([[1,2],[2,3],[3,1],[4,2],[3,3],[2,1]])
y_train = np.array([0,0,0,1,1,1])

# 创建k-近邻分类器
knn = KNeighborsClassifier(n_neighbors=3)

# 训练模型
knn.fit(X_train, y_train)

# 预测新数据
X_test = np.array([[2,2],[3,2],[2,3],[4,3]])
y_pred = knn.predict(X_test)

print(y_pred)

运行上述代码,输出结果为预测的类别。

上述代码中,使用k-近邻算法对样本进行分类。首先定义训练数据X_train和y_train,其中X_train是一个二维数组,每一行表示一个样本,y_train是一个一维数组,表示每个样本的类别。接着创建KNeighborsClassifier对象,设置k值为3。然后使用fit函数训练模型。最后使用predict函数预测新数据X_test的类别,并输出预测结果。

示例2

使用k-近邻算法对鸢尾花数据集进行分类。

import numpy as np
from sklearn.datasets import load_iris
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split

# 加载数据集
iris = load_iris()
X = iris.data
y = iris.target

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 创建k-近邻分类器
knn = KNeighborsClassifier(n_neighbors=3)

# 训练模型
knn.fit(X_train, y_train)

# 预测测试集
y_pred = knn.predict(X_test)

# 计算准确率
accuracy = np.mean(y_pred == y_test)
print('Accuracy:', accuracy)

运行上述代码,输出结果为分类的准确率。

上述代码中,使用k-近邻算法对鸢尾花数据集进行分类。首先使用load_iris函数加载数据集,然后使用train_test_split函数划分训练集和测试集。接着创建KNeighborsClassifier对象,设置k值为3。然后使用fit函数训练模型。最后使用predict函数预测测试集的类别,并计算准确率。

结语

本文介绍了如何使用Python实现k-近邻算法进行分类,包括算法原理、Python实现和两个示例说明。k-近邻算法是一种基于实例的学习方法,其主要思想是通过计算样本之间的距离,找到与目标样本最近的k个样本,然后根据这k个样本的类别进行分类。在实现中,需要注意选择适当的k值,并根据具体情况进行调整。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python机器学习k-近邻算法(K Nearest Neighbor)实例详解 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • Python使用百度api做人脸对比的方法

    下面我将为你详细讲解“Python使用百度api做人脸对比的方法”的完整攻略。 1. 准备工作 首先需要在百度AI开放平台注册账号,并申请到人脸识别服务。获取到应用的APP ID、API Key、Secret Key三个参数,以下用APP_ID、API_KEY、SECRET_KEY表示。 接着需要安装Python SDK和相关依赖,在命令行中运行以下命令即可…

    python 2023年6月6日
    00
  • Python3.5内置模块之random模块用法实例分析

    Python3.5内置模块之random模块用法实例分析 介绍 Python3.5内置的random模块提供了随机数生成的相关功能。该模块包含多个函数用于生成随机数、随机序列和随机选择等操作。 模块的导入 要使用random模块,我们需要在代码中导入该模块。 import random 函数使用 生成随机整数 random模块提供了几个函数用于生成随机整数,…

    python 2023年6月3日
    00
  • Python 读取某个目录下所有的文件实例

    针对Python 读取某个目录下所有的文件实例,我总结了以下几个步骤: 步骤一:导入库 Python内置os库和glob库可以方便地操作文件系统,因此我们在开始之前需要导入这两个库。 import os import glob 步骤二:指定目录 我们可以使用os库中的listdir函数来罗列目录下的所有文件,但是必须指定目录。 dir_path = ‘D:/…

    python 2023年6月5日
    00
  • Python下载的11种姿势(小结)

    Python下载的11种姿势(小结) Python作为一门开源的高级编程语言,具有简单易上手且功能强大的特点,因而广受欢迎。同时,为了方便大家使用Python,也出现了很多下载Python的方式。本文将汇总11种常见的Python下载姿势,包括: 通过官网下载Python安装文件 使用Anaconda进行Python的下载和管理 使用Python环境管理器p…

    python 2023年5月14日
    00
  • python 统计list中各个元素出现的次数的几种方法

    以下是详细讲解“Python统计List中各个元素出现的次数的几种方法”的完整攻略。 在Python中,可以使用多种方法统计List中各个元素出现的次数。本文将介绍三种常用的方法,并提供两个示例说明。 方法一:使用循环和字典统计 可以使用循环和字典的方法统计List中各个元素出现的次数。例如: lst = [1, 2, 3, 2, 1, 3, 4, 5, 4…

    python 2023年5月13日
    00
  • 解读python正则表达式括号问题

    解读Python正则表达式括号问题 正则表达式是一种强大的文本处理工具,可以用于各种文本处理任务,如数据清洗、文本分析、信息提取等。Python中,我们可以使用模块来操作正则表达式。本攻略将详细讲解Python正则表达式中括号的使用,包括捕获组、非获组、正向前瞻、反向前瞻等概念,以及如何使用括号进行文本匹配。 捕组 捕获组正则表达式中用括号()括来的部分,可…

    python 2023年5月14日
    00
  • 100 个 Python 小例子(练习题四)

    下面是“100 个 Python 小例子(练习题四)”的攻略。 1. 理解题目意思 该练习题中,需要我们完成一系列 Python 练习题。它们基于一些 Python 特性和语法,旨在提高我们的 Python 编程技能。 2. 下载代码 我们可以从 Github 上下载该项目的代码,下载地址为:https://github.com/jackfrued/Pyth…

    python 2023年5月30日
    00
  • windows安装python超详细图文教程

    首先,需要下载Windows版的Python安装包,可以在Python官网上找到对应的版本并下载。建议下载最新版本,因为新版本会修复一些旧版本存在的问题,同时也提供了更多的功能。 下载安装包后,双击打开安装程序,选择“Add Python 3.x to PATH”选项,点击“Customize installation”按钮,选择需要安装的组件。如果只是简单…

    python 2023年6月5日
    00
合作推广
合作推广
分享本页
返回顶部