题目要求
已知某一兰花品种数据集(存储在ochid.txt),每条数据包含4个特征属性和1个标签属性。标签属性分为3个类别,分别用0,1,2表示;4个特征属性分别用x1,x2,x3,x4表示。分别使用逻辑回归和支持向量机库模型实现分类。具体如下:
1.完成数据集的读取、洗牌后,将数据集分割成训练集(60%)和测试集(40%)(4分)
2.调用逻辑回归库函数,使用全部4个特征属性实现分类(14分)
-创建模型及设置参数:最大迭代次数为1000 (4分)
-对训练集进行训练,计算并输出测试集的准确率(4分)
-分别计算并输出训练集和测试集的混淆矩阵和分类报告(6分)
3.调用支持向量机库函数,使用特征x2和x4两个特征数据实现分类(共22分)
-创建模型及设置参数:惩罚系数C为0.1 (4分)
-对训练集进行训练,计算并输出测试集的准确率(4分)
-计算并输出测试集的混淆矩阵和分类报告(6分)
-以x2为横坐标、x4为纵坐标,利用等高线画出测试集的分类图(样式如下)(8分)
逻辑回归调库实现如下
import numpy as np
from sklearn.metrics import confusion_matrix,classification_report
from sklearn.linear_model import LogisticRegression
# 读取数据
data = np.loadtxt(r'ochid.txt',delimiter=',')
# 定义数据处理函数
def preprocess(data):
# 数据提取
X = data[:,:-1]
y = data[:,-1]
# 特征缩放
X -