一、
实验目的
1
、监督学习之分类学习的算法流程
2
、从特征文件和标签文件中将所有数据加载到内存中,进行简单
的数据预处理。
3
、创建对应的分类器,并使用训练数据进行训练。
4
、利用测试集预测,通过使用真实值和预测值的比对,计算模型
整体的准确率和召回率,来评测模型。
二、 实验内容与要求
根据监督方式划分分类算法,分类学习问题可分为三大类:有监
督分类、半监督分类和无监督分类。
有监督分类是指用来训练分类器的所有样本都经过了人工或其他
方式的标注,有很多著名的分类器算法都属于有监督的学习方式,如
AdaBoost
,
SVM
,神经网络算法以及感知器算法。
无监督分类是指所有的样本均没有经过标注,分类算法需利用样
本自身信息完成分类学习任务,这种方法通常被称为聚类,常用的聚
类算法包括期望最大化(
EM
)算法和模糊
C
均值聚类算法等。
半监督分类指仅有一部分训练样本(极少量)具有类标号,分类
算法需要同时利用有标号样本和无标号样本学习分类,使用两种样本
训练的结果比仅使用有标注的样本训练的效果更好。这类算法通常由
有监督学习算法改进而成,如
SemiBoost
、流形正则化、半监督
SVM
等。
分类问题应用非常广泛。通常是建立在回归之上,分类的最后一
层通常要使用
softmax
函数进行判断其所属类别。分类并没有逼近的概
念,最终正确结果只有一个,错误的就是错误的,不会有相近的概念。
分类学习:
•算法流程
•需要从特征文件和标签文件中将所有数据加载到内存中,由于存
在缺失值,此步骤还需要进行简单的数据预处理。
•创建对应的分类器,并使用训练数据进行训练。
•利用测试集预测,通过使用真实值和预测值的比对,计算模型
整体的准确率和召回率,来评测模型。
准确率
=(TP+TN)/(TP+TN+FP+FN)
精准率
=TP/(TP+FP)
召回率
=TP/(TP+FN)
F1=(2
×精确率×召回率
)/
(精确率
+
召回率)
灵敏度(
Sensitivity
)
= TP/(TP+FN)
特异度(
Specificity
)
= TN/(FP+TN)
真正率(
TPR
)
=
灵敏度
= TP/(TP+FN)
假正率(
FPR
)
= 1 -
特异度
= FP/(FP+TN)
三、 实验程序与结果
import
numpy
as
np
import
pandas
as
pd
from
sklearn.impute
import
SimpleImputer
from
sklearn.neighbors
import
KNeighborsClassifier
fr