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

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

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

相关推荐
万行3 小时前
机器学习&第三章
人工智能·python·机器学习·数学建模·概率论
睡醒了叭3 小时前
目标检测-机器学习-Hog+SVM附代码python)
目标检测·机器学习·计算机视觉
子夜江寒4 小时前
基于贝叶斯的评论分类实例
机器学习·分类
明月照山海-4 小时前
机器学习周报三十
人工智能·机器学习·计算机视觉
PeterClerk4 小时前
RAG 评估入门:Recall@k、MRR、nDCG、Faithfulness
人工智能·深度学习·机器学习·语言模型·自然语言处理
人工智能培训5 小时前
10分钟了解向量数据库(4)
人工智能·机器学习·数据挖掘·深度学习入门·深度学习证书·ai培训证书·ai工程师证书
绿洲-_-5 小时前
MBHM_DATASET_GUIDE
深度学习·机器学习
万行5 小时前
机器学习&第二章线性回归
人工智能·python·机器学习·线性回归
全栈小精灵6 小时前
Winform入门
开发语言·机器学习·c#
万行6 小时前
机器学习&第四章支持向量机
人工智能·机器学习·支持向量机