本示例使用 scikit-learn 库的鸢尾花数据集,选取前两列数据作为特征,并使用支持向量机模型进行分类。

代码展示了如何分割训练集和测试集,设置模型参数,以及评估模型在训练集和测试集上的准确率。

代码:

from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC

# 加载鸢尾花数据集
iris = datasets.load_iris()
X = iris.data[:, :2]  # 选取前两列作为特征
y = iris.target

# 分割训练集和测试集
train_size = 0.6  # 训练集比例
X_train, X_test, y_train, y_test = train_test_split(X, y, train_size=train_size, random_state=1)

# 创建支持向量机模型
model = SVC(kernel='rbf', gamma=20, decision_function_shape='ovo')

# 训练模型
model.fit(X_train, y_train)

# 评估模型
train_accu = model.score(X_train, y_train)
print(f'accu of model for train set is {train_accu:.2f}')
test_accu = model.score(X_test, y_test)
print(f'accu of model for test set is {test_accu:.2f}')

输入样例:

在这里给出训练集和测试集分割比例,例如:

0.6

输出样例:

accu of model for train set is 0.87
accu of model for test set is 0.65

解释:

  • train_test_split() 函数用于将数据集分割成训练集和测试集。train_size 参数指定训练集的比例,random_state 参数用于控制随机分割的种子,保证结果可重复。
  • SVC() 函数用于创建支持向量机模型。kernel 参数指定核函数类型,gamma 参数指定核函数的系数,decision_function_shape 参数指定决策函数的形状。
  • fit() 函数用于训练模型。
  • score() 函数用于评估模型在训练集和测试集上的准确率。

注意:

  • 训练集和测试集的比例可以根据具体情况调整。
  • 支持向量机模型的参数可以根据具体情况调整,例如:kernelgammadecision_function_shape 等。
  • 评估结果可能会因数据集和模型参数的差异而有所不同。
使用 scikit-learn 的鸢尾花数据集进行支持向量机分类

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

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