支持向量机的简单测试,R语言可以通过e1071包实现,无论对于R还是python都算是个基础算法 python通过sklearn模块中的SVM进行
# 从sklearn中导入鸢尾花数据集
# 没错,iris我最喜欢
from sklearn.datasets import load_iris
import sklearn
import numpy as np
from sklearn import model_selection
iris=load_iris()
iris.keys()
# 数据的简单查看
# 个案数和特征数目
n_samples,n_features=iris.data.shape
print("Number of sample:", n_samples)
print("Number of feature",n_features)
Number of sample: 150
Number of feature 4
# 划分测试和训练集
# 比例为0.6
x_train, x_test, y_train, y_test = sklearn.model_selection.train_test_split(iris.data, iris.target, random_state=1, train_size=0.6)
# 构建分类器
# kernel='rbf'核函数为高斯
# gamma 越大容易过拟合
# decision_function_shape:one vs one,多分类,ovr:one vs rest,一个类别和其他类别
clf = svm.SVC(C=0.8, kernel='rbf', gamma=20, decision_function_shape='ovo')
# 拟合分类器
clf.fit(x_train, y_train)
SVC(C=0.8, cache_size=200, class_weight=None, coef0=0.0,
decision_function_shape='ovo', degree=3, gamma=20, kernel='rbf',
max_iter=-1, probability=False, random_state=None, shrinking=True,
tol=0.001, verbose=False)
# 评估模型
# 训练精度
print("SVM-输出训练集的准确率为:",clf.score(x_train, y_train))
# 测试集准确度
print("SVM-输出测试集的准确率为:",clf.score(x_test,y_test))
SVM-输出训练集的准确率为:1.0
SVM-输出测试集的准确率为:0.85
简单测试,后续补充
love&peace
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有