KNN 分类红酒数据集
KNN 分类红酒数据集
文章目录
- KNN 分类红酒数据集
- 概述
- 代码
- import
- 数据预处理
- 定义模型
- 创建 KNN 模型实例
- 训练
- 测试
概述
使用 KNN(K 近邻)算法,对红酒(wine)数据集进行分类。
代码
import
导入必要的组件,包括 numpy、pandas、sklearn 等库
from collections import Counter
from typing import Optionalimport numpy as np
from pandas import DataFrame
from sklearn.datasets import load_wine
from sklearn.metrics import accuracy_score
from sklearn.metrics.pairwise import euclidean_distances
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler
数据预处理
- 数据集划分
- 归一化(极大提升准确率)
# 导入 sklearn 提供的 wine 数据集
wine = load_wine(return_X_y=True, as_frame=True)data: DataFrame = wine[0]
target: DataFrame = wine[1]# 划分训练集与测试集(2:1)
X_train, X_test, y_train, y_test = train_test_split(data, target, test_size=0.33)# 对各个属性进行“归一化”处理
scalar = MinMaxScaler()
X_train = scalar.fit_transform(X_train)
X_test = scalar.fit_transform(X_test)y_train = y_train.to_numpy()
y_test = y_test.to_numpy()
定义模型
class KNN:def __init__(self, k: int):self.k: int = kself.data: Optional[np.ndarray] = Noneself.target: Optional[np.ndarray] = Nonedef fit(self, data_: np.ndarray, target_: np.ndarray) -> None:self.data = data_self.target = target_def predict(self, data_: np.ndarray) -> int:# 最小的 k 个distances = np.array([self.euclidean(row, data_) for row in self.data]).argsort()[:self.k]counter = Counter([self.target[index] for _, index in enumerate(distances)])return counter.most_common(1)[0][0]# 欧式距离@staticmethoddef euclidean(x1: np.ndarray, x2: np.ndarray) -> float:return euclidean_distances(np.reshape(x1, (1, -1,)),np.reshape(x2, (1, -1,)),)[0, 0]
创建 KNN 模型实例
K: int = 4
knn: KNN = KNN(k=K)
训练
knn.fit(X_train, y_train)
测试
使用 Accuracy 作为精度评判标准,已达到的最高正确率:0.9830508474576272。
predicts: list = []
targets: list = []
for idx, (X, y) in enumerate(zip(X_test, y_test)):predicts.append(knn.predict(X))targets.append(y)accuracy_score(predicts, targets)
KNN 分类红酒数据集相关推荐
- 莺尾花数据集--kNN分类
Step1: 库函数导入 import numpy as np # 加载莺尾花数据集 from sklearn import datasets # 导入KNN分类器 from sklearn.neig ...
- 以红酒数据集分类为例做决策树的可视化
文章目录 前言 决策树原理 可视化决策树举例 gini entropy 总结 前言 本文是决策树可视化例子 决策树原理 决策树的分类原理有ID3(信息增益最大准则).C4.5(信息增益比准则).CAR ...
- Python实现knn分类算法(Iris 数据集)
1.KNN分类算法 KNN分类算法(K-Nearest-Neighbors Classification),又叫K近邻算法,是一个概念极其简单,而分类效果又很优秀的分类算法. 他的核心思想就是,要确定 ...
- python KNN分类算法 使用鸢尾花数据集实战
KNN分类算法,又叫K近邻算法,它概念极其简单,但效果又很优秀. 如觉得有帮助请点赞关注收藏啦~~~ KNN算法的核心是,如果一个样本在特征空间中的K个最相似,即特征空间中最邻近的样本中的大多数属于某 ...
- Task09基于模拟数据集的KNN回归、基于马绞痛数据集的KNN数据预处理+KNN分类pipeline
Task09 基于模拟数据集的KNN回归.基于马绞痛数据集的KNN数据预处理+KNN分类pipeline 一.学习内容概括 学习资料: 1.阿里云天池:https://tianchi.aliyun.c ...
- knn鸢尾花数据集java_机器学习——鸢尾花数据集(Knn分类)
Iris数据集是常用的分类实验数据集,由Fisher, 1936收集整理.Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集.数据集包含150个数据样本,分为3类,每类50个数据,每个数据包含4个 ...
- 用鸢尾花数据集实现knn分类算法
一.题目: 原生python实现knn分类算法,用鸢尾花数据集 二.算法设计 1. 准备数据,对数据进行预处理 2. 选用合适的数据结构存储训练数据和测试元组 3. 设定参数,如k 4.维护一个大小为 ...
- sklearn实现KNN分类算法
sklearn实现KNN分类算法 Pyhthon Sklearn 机器学习库提供了 neighbors 模块,该模块下提供了 KNN 算法的常用方法,如下所示: 类方法 说明 KNeighborsCl ...
- python分类算法_用Python实现KNN分类算法
本文实例为大家分享了Python KNN分类算法的具体代码,供大家参考,具体内容如下 KNN分类算法应该算得上是机器学习中最简单的分类算法了,所谓KNN即为K-NearestNeighbor(K个最邻 ...
- KNN 分类算法原理代码解析
作者 | Charmve 来源 | 迈微AI研习社 k-最近邻算法是基于实例的学习方法中最基本的,先介绍基x`于实例学习的相关概念. 基于实例的学习 已知一系列的训练样例,很多学习方法为目标函数建立起 ...
最新文章
- 实战Gradle——第一部分 Gradle介绍
- socket-accept
- linux常用命令记录
- Python 调用C函数
- Mysql Order By 注入总结
- C6748_UART(5) - UART寄存器
- 高效管理http连接
- CLION CMAKE 缺-g 导致断点不执行(无效)
- caddy 作为微服务的 API gateway
- 微信扫码访问网站调用默认浏览器打开如何实现?
- C++调用C#编写的DLL【转】
- 三维马氏距离_马氏距离2
- 【GNN报告】微软亚洲研究院郑书新:图神经网络迈入Transformer时代
- 使用md5进行密码的加密和验证
- android studio引用高德地图api后地图显示白屏
- join语句的执行顺序
- Basic4IOS (B4I) New Version Crack
- 申请高新技术企业需要多少个专利?
- 腾讯云服务器2核4G、4核8G、8核16G、16核32G配置报价表出炉
- 我的世界手机有PHP的开服器下载,【BDS】MC基岩版官方开服器Windows版插件开发包...