c 做网站 知乎,西安建站,一个完整的品牌策划方案范文,购物商城源码机器学习中难免遇到正负样本不平衡问题#xff0c;处理办法通常有梁总#xff0c;一#xff1a;过采样#xff0c;增加正样本数据#xff1b;二#xff1a;欠采样#xff0c;减少负样本数据#xff0c;缺点是会丢失一些重要信息。smote属于过采样。代码# from imblearn…机器学习中难免遇到正负样本不平衡问题处理办法通常有梁总一过采样增加正样本数据二欠采样减少负样本数据缺点是会丢失一些重要信息。smote属于过采样。代码# from imblearn.over_sampling import BorderlineSMOTE# from imblearn.over_sampling import SMOTENC# from imblearn.over_sampling import SVMSMOTE# from imblearn.over_sampling import KMeansSMOTE# from imblearn.over_sampling import ADASYN# from imblearn.over_sampling import RandomOverSamplerimport pandas as pdimport numpy as npfrom collections import Counterfrom imblearn.over_sampling import SMOTE# 使用imlbearn库中上采样方法中的SMOTE接口import matplotlib.pyplot as plt# 生成一组0和1比例为9比1的样本X为特征y为对应的标签x1[np.random.randint(1,31) for i in range(90)][np.random.randint(50,81) for i in range(10)]x2[np.random.randint(1,31) for i in range(90)][np.random.randint(50,81) for i in range(10)]y[0 for i in range(90)][1 for i in range(10)]xpd.DataFrame({x1:x1,x2:x2})ypd.DataFrame(y)# 查看所生成的样本类别分布0和1样本比例9比1属于类别不平衡数据print(Counter(list(y[0])))fig1plt.figure(1)plt.scatter(x[x1],x[x2])plt.show# 定义SMOTE模型random_state相当于随机数种子的作用smo SMOTE(sampling_strategyauto,random_state10)x_smo, y_smo smo.fit_sample(x, y)print(Counter(list(y_smo[0])))fig2plt.figure(2)plt.scatter(x_smo[x1],x_smo[x2])plt.show结果处理前处理后如果对你有帮助请点下赞予人玫瑰手有余香时时仰望天空理想就会离现实越来越近