支持向量机是监督式学习算法,主要应用于分类,它的目的是寻找一个超平面对样本进行分割,分割的原则是间隔最大化。
(1)当训练数据线性可分时,通过硬间隔最大化,学习一个线性分类器,即线性可分支持向量机;
(2)当训练数据近似线性可分时,通过软间隔最大化,学习一个线性分类器,即线性支持向量机;
(3)当训练数据线性不可分时,通过核技巧(将低维数据映射到高维空间的办法)或软间隔最大化,学习一个线性分类器,即非线性支持向量机。
使用支持向量机对wine数据集进行分类
1、导入数据集(加载scikit-learn自带的数据集wine)
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import svm,datasets
from sklearn.model_selection import train_test_split
wine=datasets.load_wine() # 加载wine数据集
print('wine.data的形状为:',wine.data.shape)
print('wine.target的形状为:',wine.target.shape)
print('wine.target的特征名称为:',wine.target_names)