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

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

一、导入必要的库

python 复制代码
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

二、数据加载与预处理

python 复制代码
# 加载鸢尾花数据集
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)

三、决策树分类器

python 复制代码
# 决策树分类器
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)

四、支持向量机分类器

python 复制代码
# 支持向量机分类器
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近邻分类器

python 复制代码
# 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)

完整代码如下:

python 复制代码
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)

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

相关推荐
硅谷秋水5 分钟前
《自动驾驶系统开发》英文版《Autonomous Driving Hanbook》推荐
人工智能·深度学习·机器学习·计算机视觉·语言模型·自动驾驶
啦啦啦_999924 分钟前
案例之 逻辑回归_癌症预测
算法·机器学习·逻辑回归
惊鸿一博28 分钟前
自动驾驶_一段式端到端_三条技术路线_UniAD_SparseDrive_概述
人工智能·机器学习·自动驾驶
我是大聪明.1 小时前
大模型Tokenizer原理:BPE、WordPiece与子词编码的核心机制深度解析
人工智能·线性代数·算法·机器学习·矩阵
威尔逊·柏斯科·希伯理1 小时前
机器学习-特征工程
人工智能·机器学习
大龄程序员狗哥1 小时前
第49篇:TensorFlow Lite实战——将图像分类模型部署到安卓手机(项目实战)
android·分类·tensorflow
地球资源数据云1 小时前
2015年中国30米分辨率沼泽湿地空间分布数据集
大数据·数据结构·数据库·人工智能·机器学习
郝学胜-神的一滴1 小时前
深度学习核心:损失函数完全解析 —— 从原理到 PyTorch 实战
人工智能·pytorch·python·深度学习·机器学习
数据与后端架构提升之路1 小时前
自动驾驶数据闭环中,Video Clip 的多模态特征到底怎么提取?
人工智能·机器学习·自动驾驶
AI技术增长1 小时前
Pytorch图像去噪实战(十):Restormer图像去噪实战,用高效Transformer解决高分辨率去噪问题
pytorch·深度学习·机器学习·cnn·transformer