当前位置: 首页 > article >正文

机器学习最简单的分类任务入门

以鸢尾花分类任务为例,几种不同的机器学习算法(决策树、支持向量机、K近邻)进行分类,并对比结果。

一、导入必要的库

import numpy as np
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.svm import SVC
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score


二、数据加载与预处理

# 加载鸢尾花数据集
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)


三、决策树分类器

# 决策树分类器
dt_clf = DecisionTreeClassifier(random_state=42)
dt_clf.fit(X_train, y_train)
dt_pred = dt_clf.predict(X_test)
dt_accuracy = accuracy_score(y_test, dt_pred)
print("决策树准确率:", dt_accuracy)


四、支持向量机分类器

# 支持向量机分类器
svm_clf = SVC(random_state=42)
svm_clf.fit(X_train, y_train)
svm_pred = svm_clf.predict(X_test)
svm_accuracy = accuracy_score(y_test, svm_pred)
print("支持向量机准确率:", svm_accuracy)


五、K近邻分类器

# K近邻分类器,这里取k = 3
knn_clf = KNeighborsClassifier(n_neighbors=3)
knn_clf.fit(X_train, y_train)
knn_pred = knn_clf.predict(X_test)
knn_accuracy = accuracy_score(y_test, knn_pred)
print("K近邻准确率:", knn_accuracy)


完整代码如下:

import numpy as np
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.svm import SVC
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score

# 加载鸢尾花数据集
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)

# 决策树分类器
dt_clf = DecisionTreeClassifier(random_state=42)
dt_clf.fit(X_train, y_train)
dt_pred = dt_clf.predict(X_test)
dt_accuracy = accuracy_score(y_test, dt_pred)
print("决策树准确率:", dt_accuracy)

# 支持向量机分类器
svm_clf = SVC(random_state=42)
svm_clf.fit(X_train, y_train)
svm_pred = svm_clf.predict(X_test)
svm_accuracy = accuracy_score(y_test, svm_pred)
print("支持向量机准确率:", svm_accuracy)

# K近邻分类器,这里取k = 3
knn_clf = KNeighborsClassifier(n_neighbors=3)
knn_clf.fit(X_train, y_train)
knn_pred = knn_clf.predict(X_test)
knn_accuracy = accuracy_score(y_test, knn_pred)
print("K近邻准确率:", knn_accuracy)


当运行上述代码时,会得到每种算法在鸢尾花测试集上的准确率,通过对比这些准确率可以对不同算法在该分类任务上的性能有一个初步的评估。请注意,不同的数据集、数据预处理方式以及算法参数调整都会对结果产生影响。


http://www.kler.cn/a/429181.html

相关文章:

  • Ubuntu VPS 上 Docker 部署 Nginx 服务器详细教程
  • DeepSeek-v3在训练和推理方面的优化
  • 贪心算法(题1)区间选点
  • nginx 配置域名前缀访问 react 项目
  • 【进程与线程】前端进程与后端进程
  • Kotlin 协程基础十 —— 协作、互斥锁与共享变量
  • AI时代的开发新纪元:云开发 Copilot
  • 字符串的连接C语言(pta)
  • 基于单片机和测频法的频率计设计及proteus仿真
  • learn-(Uni-app)uni.navigateTo方法进行页面跳转
  • k8s-编写CSI插件(3)
  • linux介绍------VMWare的卸载,下载,安装------及基础命令使用
  • 基于直角坐标系的两点距离计算
  • HTML语义化标签的使用
  • CEF 高级特性与自定义扩展——实现多标签页与多窗口支持
  • 【动态库.so | 头文件.hpp】基于CMake与CMakeList编写C++自定义库
  • 技能大赛项目部署(保姆级教程)
  • .NET for Android/iOS应用的如何在各自的系统运行
  • STM32 新手入门教程
  • ECharts实战教程:如何生成动态水波纹效果
  • 使用 Nginx 在同一端口部署两个前端项目并配置子路径
  • 【Java】—— 图书管理系统
  • 人工智能与机器学习:真实案例分析及其在各行业的应用前景
  • C语言——字符串指针变量与字符数组(易错分析)
  • 5G模组AT命令脚本-命令发送及回显读取
  • 《Java核心技术I》映射条目的原子更新