调权重的结果和人工合成数据的结果

阅读: 评论:0

调权重的结果和人工合成数据的结果

调权重的结果和人工合成数据的结果

非平衡数据会影响最后的评判效果,严重的会带来过拟合的效果,即模型总是把样本划分到样本量较多的那一种。为了让模型的评判更准确,我们需要对非平衡数据进行一定的处理,主要有以下几种方式:

 

  • 欠采样
  • 过采样
  • 人工合成
  • 调权重

 

在开始介绍不同的处理方式之前,我们先引入一组非平衡数据。

 
  1. #导入一些相关库

  2. del_selection import train_test_split

  3. from sklearn.linear_model import LogisticRegression

  4. ics import classification_report

  5. ics import roc_curve, auc

  6. from sklearn.preprocessing import scale

  7. #导入数据

  8. ad_excel(r"C:UserszhangjunhongDesktopUnbanlanced-data.xlsx").fillna(0)

  • 1

看一下正负样本的具体数据量情况。

 
  1. x=df.iloc[:,1:-1]

  2. y=df["label"]

  3. print(y.value_counts())

  4. print("-------------------------")

  5. print(y.value_counts(normalize=True))

  • 1

该数据量的正负样本比例接近7:3,我们看一下不做任何处理的情况下,模型的预测效果如何。

 
  1. #将模型进行封装,方便调用

  2. def get_result_data(x,y):

  3. x_=scale(x,with_mean=True,with_std=True)

  4. x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.4,random_state=0)

  5. model=LogisticRegression()

  6. clf=model.fit(x_train,y_train)

  7. print("LR模型测试成绩:{:.2f}".format(clf.score(x_test,y_test)))

  8. y_p

本文发布于:2024-01-28 19:30:06,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17064414079742.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:权重   人工合成   数据
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23