首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用sklearn分解连续目标变量

利用sklearn分解连续目标变量
EN

Stack Overflow用户
提问于 2022-01-23 10:31:21
回答 1查看 317关注 0票数 0

我必须将一个连续的目标变量离散到至少5个桶中,以降低使用sklearn库的分类模型的复杂性。

为了做到这一点,我使用了KBinsDiscretizer,但我不知道如何将数据集分割成平衡的部分,因为我已经对目标变量进行了离散。这是我的密码:

代码语言:javascript
复制
X = df.copy()
y = X.pop('shares') 

# scaling the dataset so all data in the same range
scaler = preprocessing.MinMaxScaler()
X = scaler.fit_transform(X)

discretizer = preprocessing.KBinsDiscretizer(n_bins=5,  encode='ordinal', strategy='uniform')
y_discretized = discretizer.fit_transform(y.values.reshape(-1, 1))

# is this correct?
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, shuffle=True, stratify=y_discretized) 

为了完整起见,我试图重新建立一个不那么复杂的模型:1 K. Fernandes,P. Vinagre和P. Cortez。预测网络新闻受欢迎程度的主动智能决策支持系统。2015年EPIA第17届会议记录-葡萄牙人工智能会议,9月,葡萄牙科英布拉

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-23 20:35:14

您的y_trainy_testy的一部分,它具有(似乎)原始的连续值。所以你最终会拟合多类分类模型,可能有很多不同的类,这很可能导致崩溃。

我想你想要的是

代码语言:javascript
复制
X_train, X_test, y_train, y_test = train_test_split(X, y_discretized, test_size=0.33, shuffle=True, stratify=y_discretized)

离散连续目标以将回归转化为分类是否是另一个站点的主题,请参见https://datascience.stackexchange.com/q/90297/55122

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70821138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档