You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将SMOTE生成的新采样数据单独存储到X2和y2变量中?

提取SMOTE生成的新样本

SMOTE 的 fit_resample 方法返回的 X1 和 y1 包含原始全部样本加上新生成的过采样样本。要单独提取新生成的样本,只需截取超出原始样本数量的部分即可,代码补充如下:

import numpy as np
import pandas as pd
from imblearn.over_sampling import SMOTE
from sklearn.preprocessing import LabelEncoder

dataset = pd.read_csv('https://archive.ics.uci.edu/static/public/17/data.csv')
X = dataset.iloc[:, 1:-1].values
y = dataset.iloc[:, -1].values
le = LabelEncoder()
y = le.fit_transform(y)

smt = SMOTE()
X1, y1 = smt.fit_resample(X, y)

# 提取SMOTE新生成的样本
original_sample_count = len(X)
X2 = X1[original_sample_count:]
y2 = y1[original_sample_count:]

说明

  • original_sample_count 获取原始样本的总数量,等于原始特征集 X 的行数。
  • X2 是 X1 中从原始样本数量位置开始的所有行,对应SMOTE新生成的特征样本。
  • y2 是 y1 中对应位置的标签,对应新生成样本的目标变量。

内容的提问来源于stack exchange,提问作者Imaginary

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 23:50:56