该代码使用鸢尾花数据集训练一个线性SVM分类器,并输出预测结果和预测准确率。

代码解析:

  1. 导入必要的库:

    • datasets:用于加载数据集
    • train_test_split:用于划分训练集和测试集
    • StandardScaler:用于特征缩放
    • SVC:用于创建SVM分类器
    • accuracy_score:用于计算分类准确率
  2. 加载鸢尾花数据集: 使用datasets.load_iris()加载鸢尾花数据集,并将样本特征保存在X中,目标变量保存在y中。

  3. 划分训练集和测试集: 使用train_test_split函数将数据集划分为训练集和测试集,其中测试集占总样本的20%。

  4. 特征缩放(标准化): 使用StandardScaler对训练集和测试集的特征进行标准化。

  5. 创建SVM分类器: 使用SVC函数创建一个线性SVM分类器。

  6. 训练模型: 使用训练集的特征和目标变量来训练SVM分类器。

  7. 进行预测: 使用训练好的模型在测试集上进行预测,将预测结果保存在y_pred中。

  8. 计算分类准确率: 使用accuracy_score函数计算预测结果与真实标签的分类准确率,并将结果保存在accuracy中。

  9. 输出结果: 使用print函数输出预测准确率和预测结果。

代码:

from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score

# 加载鸢尾花数据集
iris = datasets.load_iris()
X = iris.data
y = iris.target

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 特征缩放(标准化)
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

# 创建SVM分类器
svm = SVC(kernel='linear')

# 在训练集上训练模型
svm.fit(X_train, y_train)

# 在测试集上进行预测
y_pred = svm.predict(X_test)

# 计算分类准确率
accuracy = accuracy_score(y_test, y_pred)
print('Accuracy:', accuracy)

# 输出预测结果
print('Predictions:', y_pred)

该代码展示了如何使用Python的scikit-learn库训练一个线性SVM分类器,并输出预测结果和预测准确率。你可以根据自己的需要修改代码,例如使用不同的数据集或不同的分类器。

鸢尾花数据集线性SVM分类器:代码解析与预测结果输出

原文地址: https://www.cveoy.top/t/topic/pdO3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录