支持向量机模型,如何对鸢尾花数据集进行预测?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
本文更新sklearn
里面的支持向量机模型对鸢尾花数据集的预测过程,套路依然一致,换包引用换模型名称,然后就执行代码就可以了。对,就是这么简单。
苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验文章。本文测试环境:win10
,python@3.11.0
,sklearn@1.2.2
。本文也是讲求短平快,直接上干货,并不会对支持向量机模型的细节进行讲解。
获得鸢尾花训练集
从前面的文章里面,苏南大叔已经对鸢尾花数据集做了无数次各个角度的数据分析。其实主要的目标就是读取csv
,拿到目标数据并进行数据集切分。参考文章:
- https://newsn.net/say/sklearn-load_iris.html
- https://newsn.net/say/sklearn-csv.html
- https://newsn.net/say/sklearn-train_test_split.html
拿到鸢尾花数据集的方式很多,本文中加载的是从sklearn
数据集文件夹里面,复制出来的本地iris.csv
文件数据集。
获取数据集的代码如下:
from sklearn.model_selection import train_test_split
import pandas as pd
column_names = ["萼长", "萼宽", "瓣长", "瓣宽", "种类"]
data = pd.read_csv("iris.csv", header=0, names=column_names)
X = data.iloc[:, :-1].values
y = data.iloc[:, -1:].values.flatten()
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=8)
这里拿到的X
/y
数据类型都是ndarray
。
支持向量机模型预测
支持向量机(Support Vector Machine, SVM
)是一类按监督学习(supervised learning
)方式对数据进行二元分类的广义线性分类器(generalized linear classifier
),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane
) 。
这里采用Support Vector Machine
支持向量机预测模型,做鸢尾花数据集的预测。测试代码如下:
from sklearn.svm import SVC
model = SVC()
model.fit(X_train, y_train)
predictions = model.predict(X_test)
print(predictions)
print("支持向量机模型预测结果:", model.score(X_test, y_test))
输出:
[0 0 0 2 1 0 0 2 2 1 1 0 1 1 1 2 2 2 1 2 1 0 1 1 1 0 2 0 0 2]
支持向量机模型预测结果: 0.9333333333333333
结束语
机器学习的各种模型非常多,每个模型内部也有很多不同的预测方法。苏南大叔目前致力于最基本的简单介绍了解机器学习的各种算法,所以相关文章写的也不是很详细。见谅。
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。