赞
踩
支持向量机的基本模型是定义在特征空间上的间隔最大的线性分类器,其中间隔最大使它有别于感知机。支持向量机旨在求一个分离超平面。这个超平面使得离它最近的点能够最远。
SVM用scikit-learn库实现起来比较简单,下面就是用svm算法分类鸢尾花的实例。
导入鸢尾花数据集
from sklearn import datasets
iris = datasets.load_iris()
数据集划分
from sklearn.model_selection import train_test_split
# 特征
iris_feature = iris.data
# 分类标签
iris_label = iris.target
# 划分
X_train, X_test, Y_train, Y_test = train_test_split(iris_feature, iris_label, test_size=0.3, random_state=42)
训练SVM分类器
from sklearn import svm
svm_classifier = svm.SVC(C=1.0, kernel='rbf', decision_function_shape='ovr', gamma=0.01)
svm_classifier.fit(X_train, Y_train)
分类器分类效果
print("训练集:", svm_classifier.score(X_train, Y_train))
print("测试集:", svm_classifier.score(X_test, Y_test))
结果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。