鸢尾花数据集线性SVM分类器:代码解析与预测结果输出
该代码使用鸢尾花数据集训练一个线性SVM分类器,并输出预测结果和预测准确率。
代码解析:
-
导入必要的库:
datasets:用于加载数据集train_test_split:用于划分训练集和测试集StandardScaler:用于特征缩放SVC:用于创建SVM分类器accuracy_score:用于计算分类准确率
-
加载鸢尾花数据集: 使用
datasets.load_iris()加载鸢尾花数据集,并将样本特征保存在X中,目标变量保存在y中。 -
划分训练集和测试集: 使用
train_test_split函数将数据集划分为训练集和测试集,其中测试集占总样本的20%。 -
特征缩放(标准化): 使用
StandardScaler对训练集和测试集的特征进行标准化。 -
创建SVM分类器: 使用
SVC函数创建一个线性SVM分类器。 -
训练模型: 使用训练集的特征和目标变量来训练SVM分类器。
-
进行预测: 使用训练好的模型在测试集上进行预测,将预测结果保存在
y_pred中。 -
计算分类准确率: 使用
accuracy_score函数计算预测结果与真实标签的分类准确率,并将结果保存在accuracy中。 -
输出结果: 使用
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分类器,并输出预测结果和预测准确率。你可以根据自己的需要修改代码,例如使用不同的数据集或不同的分类器。
原文地址: https://www.cveoy.top/t/topic/pdO3 著作权归作者所有。请勿转载和采集!