使用SVM支持向量机进行鸢尾花分类_Python实现
环境
Python: 3.7.1
库: sklearn (Python的机器学习工具箱)
目的:
根据鸢尾花的四个特征,对三种鸢尾花进行分类
数据(共150行,这里截取前6行,完整数据以及代码的下载链接见文末):
特征1 | 特征2 | 特征3 | 特征4 | 鸢尾花类型 |
---|---|---|---|---|
5.1 | 3.5 | 1.4 | 0.2 | Iris-setosa |
4.9 | 3 | 1.4 | 0.2 | Iris-setosa |
4.7 | 3.2 | 1.3 | 0.2 | Iris-setosa |
4.6 | 3.1 | 1.5 | 0.2 | Iris-setosa |
5 | 3.6 | 1.4 | 0.2 | Iris-setosa |
5.4 | 3.9 | 1.7 | 0.4 | Iris-setosa |
代码如下:
from sklearn.model_selection import train_test_split
from sklearn import svm
data_Set = []
data_Set_x = []
data_Set_y = []
#打开数据集,字符串前加r表示raw string,防止路径字符串中存在的反斜杠带来的转义
data_file = open(r".\Data_SVM.csv")
#拆分数据集,取前四列为x,第五列为y
for line in data_file.readlines():
lineArr = line.strip().split(','