- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 RandomForest 进行分类,我得到了一个不平衡的数据集,如:5830-no, 1006-yes。我尝试用 class_weight 和 sample_weight 平衡我的数据集,但我不能。
我的代码是:
X_train,X_test,y_train,y_test = train_test_split(arrX,y,test_size=0.25)
cw='auto'
clf=RandomForestClassifier(class_weight=cw)
param_grid = { 'n_estimators': [10,50,100,200,300],'max_features': ['auto', 'sqrt', 'log2']}
sw = np.array([1 if i == 0 else 8 for i in y_train])
CV_clf = GridSearchCV(estimator=clf, param_grid=param_grid, cv= 10,fit_params={'sample_weight': sw})
def balanced_subsample(x,y,subsample_size):
class_xs = []
min_elems = None
for yi in np.unique(y):
elems = x[(y == yi)]
class_xs.append((yi, elems))
if min_elems == None or elems.shape[0] < min_elems:
min_elems = elems.shape[0]
use_elems = min_elems
if subsample_size < 1:
use_elems = int(min_elems*subsample_size)
xs = []
ys = []
for ci,this_xs in class_xs:
if len(this_xs) > use_elems:
np.random.shuffle(this_xs)
x_ = this_xs[:use_elems]
y_ = np.empty(use_elems)
y_.fill(ci)
xs.append(x_)
ys.append(y_)
xs = np.concatenate(xs)
ys = np.concatenate(ys)
return xs,ys
X_train_subsampled,y_train_subsampled=balanced_subsample(arrX,y,0.5)
X_train,X_test,y_train,y_test = train_test_split(X_train_subsampled,y_train_subsampled,test_size=0.25)
cw='auto'
clf=RandomForestClassifier(class_weight=cw)
param_grid = { 'n_estimators': [10,50,100,200,300],'max_features': ['auto', 'sqrt', 'log2']}
sw = np.array([1 if i == 0 else 8 for i in y_train])
CV_clf = GridSearchCV(estimator=clf, param_grid=param_grid, cv= 10,fit_params={'sample_weight': sw})
最佳答案
这还不是一个完整的答案,但希望它会帮助到达那里。
首先是一些一般性评论:
random_state
归因于 RandomForestClassifier
以及各种 scikit-learn 对象,它们具有固有的随机性,可以在每次运行时获得相同的结果。您还需要:import numpy as np
np.random.seed()
import random
random.seed()
balanced_subsample
函数在每次运行时都以相同的方式运行。
n_estimators
上进行网格搜索:在随机森林中,更多的树总是更好。 sample_weight
和 class_weight
有一个类似的目标:实际样本权重为 sample_weight
* 从 class_weight
推断出的权重 . balanced_subsample
中使用 subsample=1功能。除非有特殊原因不这样做,否则我们最好比较相似数量的样本的结果。 class_weight
一起使用和 sample_weight
都设置为无。 关于class - 尝试通过 scikit-learn 中的 sample_weight 平衡我的数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31696987/
我有一个关于在使用 ImageDataGenerator 的 Keras 数据增强上下文中使用 sample_weight 参数的问题。假设我有一系列简单的图像,只有一类对象。因此,对于每个图像,我将
我正在尝试运行接受 sample_weights 的自定义函数。我正在关注此文档 https://www.tensorflow.org/api_docs/python/tf/keras/losses/
我正在研究脑损伤分割问题,我正在尝试使用受以下启发的代码来实现 Unet:https://github.com/jocicmarko/ultrasound-nerve-segmentation 我试图
我有一个高度不平衡的数据集,想知道在哪里计算权重,因此我试图理解 scale_pos_weight 之间的区别XGBClassifier 中的参数和 sample_weight fit 的参数方法。如
我想在训练 SGDClassifier 时使用重要性采样。我已经看到 fit 和 partial_fit 方法中有一个 sample_weight 参数,但我不确定这个参数是如何工作的。 假设我有 1
我的数据集已经有加权示例。在这个二元分类中,与第二类相比,我也有更多的第一类。 我可以同时使用 sample_weight 并在 model.fit() 函数中使用 class_weight 进一步重
我有每个样本具有不同权重的数据。在我的申请中,重要的是在估计模型和比较备选模型时考虑这些权重。 我正在使用 sklearn 来估计模型并比较备选超参数选择。但是这个单元测试表明 GridSearchC
我正在使用 keras与 tensorflow (版本 2.2.0)后端来训练分类器来区分两个数据集 A 和 B,我已将它们混合到一个 Pandas DataFrame 对象中 x_train (有两
我正在通过 sklearn 使用不平衡数据实现 Naive Bayes。我的数据有超过 16k 条记录和 6 个输出类别。 我尝试用 sklearn.utils.class_weight 计算的 sa
我有一个非常不平衡的数据集,我正在执行分类任务。因此,我尝试了所有算法,即(决策树、朴素贝叶斯、逻辑回归),对于每一种算法,我都在 scikit learn 中遇到了一个名为 sample_weigh
我正在尝试使用样本权重数组运行简单的 Sklearn Ridge 回归。X_train 是一个约 200k x 100 的二维 Numpy 数组。当我尝试使用 sample_weight 选项时出现内
我正在处理不平衡类的顺序标记问题,我想使用 sample_weight 来解决不平衡问题。基本上,如果我训练模型大约 10 个时期,我会得到很好的结果。如果我训练更多的 epoch,val_loss
在 Keras(使用 TensorFlow 作为后端)中,我正在构建一个模型,该模型正在处理具有高度不平衡类(标签)的巨大数据集。为了能够运行训练过程,我创建了一个生成器,它将数据 block 提供给
我使用 RandomForest 进行分类,我得到了一个不平衡的数据集,如:5830-no, 1006-yes。我尝试用 class_weight 和 sample_weight 平衡我的数据集,但我
我正在试用 SciKit Learn。我以为我会尝试加权逻辑回归,但在使用 sample_weight 参数初始化 sklearn 的 LogisticRegression 对象时,我得到了无意义的预
将 sample_weight 参数传递给 GridSearchCV 会由于形状不正确而引发错误。我怀疑交叉验证无法根据数据集相应地处理 sample_weights 的拆分。 第一部分:使用 sam
努力使子类损失函数在 Tensorflow (2.2.0) 中工作。 最初尝试了此代码(我知道它对其他人有用 - 请参阅 https://github.com/keras-team/keras/iss
我读过 relevant documentation那 : Class balancing can be done by sampling an equal number of samples fro
根据TF文件,sample_weight参数可以有形状 [batch_size] .相关文档引用如下: sample_weight: Optional Tensor whose rank is eit
我正在使用 Keras 训练深度神经网络。我使用 train_on_batch 函数来训练我的模型。我的模型有两个输出。我打算做的是通过每个样本的某个特定值来修改每个样本的损失。所以由于 Keras
我是一名优秀的程序员,十分优秀!