美文网首页
机器学习实践之单样本分类

机器学习实践之单样本分类

作者: 刘小白DOER | 来源:发表于2022-01-21 23:14 被阅读0次

    接着上一篇文章,现在遇到一个情况,就是正样本没有负样本,该怎么训练预测呢?根据案例,现在就是一个小和尚,没有通过女声,那么训练时只有男生的情况。

    这在现实中是很常见的,比如流水线上负样本获取成本高,需要产品故障;样本严重的不平衡,相当于只有一个类型的样本;负类样本太过多样化,其存在太过多样化。笔者研究一番后,在此已经阐述过ALL IN Machine Learning,现使用OneClassSVM、IsolationForest来进行训练和预测。

一、训练

    整个代码也很简单:

1、样本选择df_male

2、标准正态分布StandardScaler()

3、训练和测试集train_test_split

4、OneClassSVM训练fit

5、预测训练集y_pred_train,并打印错误个数有85

6、预测测试集y_pred_test,并打印错误个数有47

二、预测

    但是在下面的直接应用在负样本后发现错误率非常高,基本不可用,情况如下。

1、将负样本正标准正态分布后预测,发现错误率很高,1584个样本有1131个错误。

df_female=df[df['label']==-1]

scaler = StandardScaler()

scaleraer_df_female = scaler.fit_transform(df_female.drop('label', axis=1))

y_pred_female = clf.predict(scaleraer_df_female)

n_error_female = y_pred_female[y_pred_female == 1].size

print(n_error_female)

2、没有正标准正态分布转换,直接预测发现所有样本都无法预测,负样本预测没有错误,但是正样本预测时出现全部错误。

#负样本预测

df_female=df[df['label']==-1]

y_pred_female = clf.predict(df_female.drop('label', axis=1).values)

n_error_female = y_pred_female[y_pred_female == 1].size

print(n_error_female)

#正样本预测

y_pred_male = clf.predict(df_male.drop('label', axis=1).values)

n_error_male = y_pred_male[y_pred_male == -1].size

print(n_error_male)

三、改进模型

    接下来笔者不使用标准正态分布StandardScaler(),直接使用原始数据进行训练,并调整参数gamma=1,再次训练。

    代码如下:

    运行结果如下,错误率明显降低,但是仍不在可以接收范围内,20%错误率确实太高了。但是目前没有头绪来优化,带着问题一步步学习吧。

四、更换 IsolationForest模型

    换为隔离森林IsolationForest  模型,  更改模型代码,后面的保持不变。

        运行结果如下,比OneClassSVM稍好,但是都停留在20%左右,IsolationForest较低与20%。

五、 IsolationForest模型优化

   和label相关的 特征相关性系数如下:

    使用相关性系数corr筛选大于0.2的特征,利用筛选后新的特征来进行训练。

    运行结果如下,准确率可以达到91%之上。

    

相关文章

  • 机器学习实践之单样本分类

    接着上一篇文章,现在遇到一个情况,就是正样本没有负样本,该怎么训练预测呢?根据案例,现在就是一个小和尚,没有通...

  • 客户分群-聚类算法

    机器学习算法分类 有监督学习 有训练样本 分类模型 预测模型 无监督学习 无训练样本 关联模型 聚类模型 聚类算法...

  • 机器学习之KNN算法

    一、机器学习基本分类(原文链接): ①监督学习(Supervised learning) 数据集中的每个样本有相应...

  • 第一章:机器学习基础

    第一章:机器学习基础 一、机器学习的简单概述 1.机器学习的分类: 1.1有监督学习:用已知的某种或某些特性的样本...

  • 机器学习——对样本分类

    本次学习从机器学习的典例数据:鸢尾花数据集出发。Iris dataset可以从sklearn直接引入,也可以从ht...

  • k近邻分类器

      K近邻分类器是机器识别中很常用的一种分类方法,以前在做单样本人脸识别的时候常用的最近邻分类方法就是其中k=1的...

  • 机器学习分类

    1、机器学习类型 有监督学习:根据已有的训练集提供的样本数据,通过不断计算从样本中学习选择特征参数,对分类器建立判...

  • 3.1.1.5 模型评估与选择

    模型评估与选择 原理 《机器学习》周志华 2.1 经验误差与过拟合 通常我们把分类错误的样本数占样本总数的比例称为...

  • 机器学习实践之男女声分类

    今天测试一个很经典的案例,算是对最近的几个算法的复习。下面就是使用SVC、KNeighborsClassifi...

  • 第二章 模型评估与选择

    经验误差与过拟合 首先在分类机器学习中,引入了两个概念,错误率:分类错误的样本数占总样本数的比例。其表达式为:。其...

网友评论

      本文标题:机器学习实践之单样本分类

      本文链接:https://www.haomeiwen.com/subject/mauyhrtx.html