- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是 Python 新手,我有一个关于删除数组 y_train 中 50% 的值的问题,但只删除 value = 0 的值
所以我使用train_test_split来创建x_test x_train y_test和y_train。在 y_train 中,有 5287 乘以值 0 和 422 乘以值 1。我想删除 y_train 中值为 0 的 50%。这样 y_train 只有 5287/2 = 2644 乘以值 0 和 422 乘以值 1。
我想这样做是因为我有一个小数据框。我的随机森林模型仅预测 0 而不是 1。所以我希望 y_train 中的 0 值较小。问题是 y_train 是一个数组而不是数据帧。
定义 X 和 Y,以“Schade_tussen_6_18_mnd”为目标
Y = np.array(df['Schade_tussen_6_18_mnd'])
X = df.drop('Schade_tussen_6_18_mnd', axis=1)
用于分割我的数据:
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, stratify=Y)
我尝试过这个Y_train.drop(Y_train.query(' = 0').sample(frac=0.5).index)
但我收到错误:numpy.ndarray'对象没有属性'drop
我希望输出为 y_train(2644 ,422) 而不是 y_train(5287 ,422)
最佳答案
实际上,不要自己执行此操作,而是使用像 imbalanced-learn 这样的包。
但是,这里是使用 numpy 执行此操作的示例:
import numpy as np
def make_fake_y(n_zeros, n_ones):
y = np.array([0]*n_zeros + [1]*n_ones)
np.random.shuffle(y)
return y
def find_half_the_zeros(y):
idx_0 = np.where(y==0)[0]
np.random.shuffle(idx_0)
idx_delete = idx_0[:idx_0.shape[0]//2]
return idx_delete
示例:
>> y = make_fake_y(10,5)
>> y
array([0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0])
>> idx = find_half_the_zeros(y)
>> idx
array([14, 3, 6, 11, 12])
>> np.delete(y,idx)
array([0, 0, 1, 1, 1, 0, 0, 0, 1, 1])
关于python - 如何根据条件删除 y_train 数组中值的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55809181/
我是 Python 新手,我有一个关于删除数组 y_train 中 50% 的值的问题,但只删除 value = 0 的值 所以我使用train_test_split来创建x_test x_train
我想开始使用机器学习开发应用程序。我想对文本进行分类 - 垃圾邮件或非垃圾邮件。我有 2 个文件 - spam.txt、ham.txt - 每个文件包含数千个句子。如果我想使用分类器,比如说 Logi
我正在尝试构建决策树,并在网上找到了以下代码。 我的问题是: clf.score(X_train,Y_train) 在决策树中评估什么?输出如下面的屏幕截图所示,我想知道该值是什么? clf = De
我正在处理一些图像分类问题,并为此创建了 Y Network。 Y 网络是一种具有两个输入和一个输出的神经网络。如果我们想要拟合我们的 Tensorflow 模型,我们必须在 model.fit()
我有一个如下结构的数据集: Dataset/ | | -----Pothole/ | | | ------ umm001.jpg |
我有一个如下结构的数据集: Dataset/ | | -----Pothole/ | | | ------ umm001.jpg |
我有一个经典的 y_train,它由一维形状的 0(负)和 1(正)组成。我想训练一个 tensorflow 模型,但我必须用我想要的类数初始化 y 占位符。因此,在这个文本分类案例中,我希望模型检查
我使用#sample=60,000 和#features=784 训练数据 X_train。相应的标签 y_train 的 len(y_train)=60,000。 我不明白下面这段代码是如何工作的:
如果我有一个数据集 dataset = tf.keras.preprocessing.image_dataset_from_directory( directory, labels="
我使用特征 dim = [1124823,13] 和标签 dim = [1124823,1] 构建了这个声学模型,并将两者拆分为训练、测试和开发。当我尝试运行模型时出现此错误的问题 运行时错误:预期标
所以我想在拆分它们(使用分层)后对训练和测试数据集执行平均目标编码,并且为了这样做,必须将它们重新合并在一起。 我该怎么做? ,任何建议将不胜感激? , 谢谢你。 X_train, X_test
如何将数据输入到keras?结构是什么?如果我有超过 2 列,具体来说 x_train 和 y_train 是什么? 这是我要输入的数据: 我试图在这个例子中定义 Xtrain 多层感知器神经网络代码
我尝试了两种实现轻型 GBM 的方法。期望它返回相同的值,但它没有。 我以为lgb.LightGBMRegressor()和 lgb.train(train_data, test_data)将返回相同
这是一个关于 Python 2.7 和 Pandas 0.17.1 中的 scikit learn(版本 0.17.0)的问题。为了使用详细的方法分割原始数据(不丢失条目)here ,我发现如果使用分
我想使用 P>|t|值并与 vif 值进行比较,并使用代码自动消除一些列。所以我想得到 P>|t|分别 x = df.drop(['price'],axis=1) y = df['price'] fr
我是一名优秀的程序员,十分优秀!