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

以鸢尾花分类任务为例,几种不同的机器学习算法(决策树、支持向量机、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)

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

相关推荐
keira6741 小时前
【21天学习AI底层概念】day3 机器学习的三大类型(监督学习、无监督学习、强化学习)分别适用于哪种类型的问题?
人工智能·学习·机器学习
海森大数据2 小时前
人工智能时代的计算化学实验:量子化学与机器学习的融合
大数据·人工智能·神经网络·机器学习
明明真系叻2 小时前
第二十四周机器学习笔记:动手深度学习之——统计学习知识
笔记·深度学习·机器学习
IT古董3 小时前
【漫话机器学习系列】005.神经网络的结构(architecture on the neural network)
人工智能·深度学习·神经网络·机器学习
知来者逆3 小时前
TimeXplusplus——提高时间序列数据的可解释性,避免琐解和分布偏移问题的深度学习可解释性的框架
人工智能·深度学习·机器学习·智能算法·学习框架
小熊科研路(同名GZH)4 小时前
【故障诊断】基于CNN-SVM卷积神经网络结合支持向量机的分类故障诊断
支持向量机·分类·cnn
收到求救信号4 小时前
Representation + IL: Policy Contrastive Imitation Learning
人工智能·算法·机器学习
GOTXX5 小时前
三维场景重建3D高斯点渲染复现
人工智能·python·机器学习·数学建模·3d·统一建模语言·三维
深蓝学院5 小时前
CALMM-Drive:首个引入置信度感知的大多模态模型驱动的自动驾驶框架
人工智能·机器学习·自动驾驶