任务要求:
熟悉Jupyter环境下的python编程,在Jupyter下完成一个鸢尾花数据集的线性多分类、可视化显示与测试精度实验
鸢尾花数据集的线性多分类
一、.鸢尾花数据集简介
鸢尾花数据集作为入门经典数据集。Iris数据集是常用的分类实验数据集,由Fisher,1936收集整理。Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集。
二、什么是线性分类器
三、设计线性分类器的主要步骤
- 1.收集一组具有类别标志的样本X={x1,x2,…,xN}
- 2.按需要确定一准则函数J,其值反映分类器的性能,其极值解对应于“最好”的决策
- 3.用最优化技术求准则函数J的极值解w* 和w0* ,从而确定判别函数,完成分类器设计
- 4.得到线性判别函数g(x)=wT+w0或g(x)=a*Ty、对于未知样本x,计算g(x),判断其类别
四、逻辑回归(LogisticRegression)
1.什么是逻辑回归
逻辑回归(Logistic Regression)是用于处理因变量为分类变量的回归问题,常见的是二分类或二项分布问题,也可以处理多分类问题
2.LogisticRegression回归模型Sklearn中的使用
python编程代码如下:
- 导入模型
from sklearn.linear_model import LogisticRegression #导入逻辑回归模型
- fit()训练
注:
调用fit(x,y)的方法来训练模型,其中x为数据的属性,y为所属类型
clf = LogisticRegression()
print(clf)
clf.fit(train_feature,label)
- 预测
可以通过训练得到的模型对数据集进行预测。
predict['label'] = clf.predict(predict_feature)
五、线性多分类的实现—取萼片的长宽作为特征量进行分类
1.使用jupyter进行线性分类
什么是jupyter:就是一个网页python代码编辑器
- 先打开jupyter notbook
然后就会打开一个终端窗口(在使用过程中不可关闭)因为一旦关闭终端,就会断开与本地服务器的链接,你将无法在Jupyter Notebook中进行其他操作,以及一个网页,一些数据会在这个终端窗口中进行显示,效果如图所示:
2.多分类的线性代码编写
- 1.导入相关的包
#导入相关包
import numpy as np
from sklearn.linear_model import LogisticRegression
import matplotlib.pyplot as plt
import matplotlib as mpl
from sklearn import datasets
from sklearn import preprocessing
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import Pipeline
- 2.获取鸢尾花数据集
# 获取所需数据集
iris=datasets.load_iris()
#每行的数据,一共四列,每一列映射为feature_names中对应的值
X=iris.data
print(X)
#每行数据对应的分类结果值(也就是每行数据的label值),取值为[0,1,2]
Y=iris.target
print(Y)
- 3.数据处理
#归一化处理
X = StandardScaler().fit_transform