python苦短_SVM测试

时间:2022-07-25
本文章向大家介绍python苦短_SVM测试,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

python苦短_SVM算法

概述

支持向量机的简单测试,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