python - Python准备具有均匀分布的响应变量的训练数据集
问题描述
我正在做一个小型机器学习项目。
我使用的数据集有 56 个输入参数和一个分类响应变量(0/1)。我的问题是响应变量分布不均。现在我的问题是我想准备训练数据集,即响应均匀分布。如何才能做到这一点?
数据是这样的
-> 训练数据集在响应中应该有相同数量的 1 和 0。
谢谢你的帮助,你可以想象我真的是一个初学者......
解决方案
我和问这个问题的人是同一个人。对此感到抱歉。首先,我从 csv 文件加载数据。(不在此处显示的代码中)将其存储为数据,接下来,我根据“响应”列中的值创建一个名为“response_class”的新列(如果它在下方)。 045,response_class =1,其他0。其次,我从数据中随机抽取10000行。(由于计算限制),在这里我想确保我从 response_class 获得相同数量的 1 和 0。最后,我拆分数据以使其为相关矩阵做好准备,并测试和训练数据
这是我的代码:
data = data[data.response != 0]
pd.DataFrame(data)
data['response_class'] = np.where(data['response'] <= 0.045, 1, 0)
#1=below .045 / 0=above 0.045
#reduce amount of data by picking random samples
data= data.sample(n=10000)
#split data
data.drop(['response'], axis=1, inplace=True)
y = data['response_class']
X = data.drop('response_class', axis=1)
X_names = X.columns
data.head()
推荐阅读
- javascript - 在 Firefox 中从 JavaScript 更改 textarea 的拼写检查语言
- css - How to choose the default font with font-display: fallback
- java - 不能中断ExecutorService的任务
- ios - 为什么 Xcode 在我的项目中看不到我的 Cocoa Touch 框架?
- bash - Docker why isn't $USER environment variable set
- java - 来自服务器的 CustomError 抛出未在客户端的 HttpErrorResponse 中返回
- postgresql - postgres性能-查询挂起-查询分析工具和配置问题
- excel - 比较两个单元格并根据比较运行不同的代码
- regex - Trying to separate the year month and day fields via RegEx
- sql-server-2017 - VS2017 DBPROJ SQLCMD Variable Test for Literal Value