草庐IT

python - 如何使用 sparse_softmax_cross_entropy_with_logits 在 tensorflow 中实现加权交叉熵损失

我开始使用tensorflow(来自Caffe),我正在使用损失sparse_softmax_cross_entropy_with_logits。该函数接受像0,1,...C-1这样的标签,而不是onehot编码。现在,我想根据类标签使用权重;我知道,如果我使用softmax_cross_entropy_with_logits(一个热编码),这可能可以通过矩阵乘法来完成,有没有办法用sparse_softmax_cross_entropy_with_logits做同样的事情? 最佳答案 importtensorflowastfimp

python - Keras 中的自定义加权损失函数,用于对每个元素进行加权

我正在尝试创建一个简单的加权损失函数。比如说,我的输入维度是100*5,输出维度也是100*5。我还有一个相同维度的权重矩阵。类似下面的内容:importnumpyasnptrain_X=np.random.randn(100,5)train_Y=np.random.randn(100,5)*0.01+train_Xweights=np.random.randn(*train_X.shape)定义自定义损失函数defcustom_loss_1(y_true,y_pred):returnK.mean(K.abs(y_true-y_pred)*weights)定义模型fromkeras.l

python - 如何计算 Pandas 一行中所有元素的加权和?

我有一个包含多列的Pandas数据框。我想根据行中的值和另一个列向量数据框weight创建一个新列weighted_sumweighted_sum应具有以下值:row[weighted_sum]=row[col0]*weight[0]+row[col1]*weight[1]+row[col2]*weight[2]+...我找到了函数sum(axis=1),但它不允许我与weight相乘。编辑:我做了一些改变。weight看起来像这样:0col10.5col20.3col30.2df看起来像这样:col1col2col31.02.23.56.10.41.2df*weight返回一个包含N

python - 带 numpy.convolve 的加权移动平均线

我正在编写一个使用numpy中的卷积函数的移动平均函数,它应该等同于(weightedmovingaverage)。当我的权重都相等时(如简单的算术平均值),它工作正常:data=numpy.arange(1,11)numdays=5w=[1.0/numdays]*numdaysnumpy.convolve(data,w,'valid')给予array([3.,4.,5.,6.,7.,8.])但是,当我尝试使用加权平均值时w=numpy.cumsum(numpy.ones(numdays,dtype=float),axis=0);w=w/numpy.sum(w)而不是(对于相同的数据)

python - 如何从 Python 的 Counter 类中获得加权随机选择?

我有一个程序,我使用collections.Counter跟踪各种事情的成功-事情的每次成功增加相应的计数器:importcollectionsscoreboard=collections.Counter()iftest(thing):scoreboard[thing]+=1然后,对于future的测试,我想偏向于产生最大成功的事物。Counter.elements()似乎很适合这个,因为它返回重复次数等于计数的元素(以任意顺序)。所以我想我可以这样做:importrandomnextthing=random.choice(scoreboard.elements())但是不,这引发了T

python - 随机矩阵所有行的快速随机加权选择

numpy.random.choice允许从向量中进行加权选择,即arr=numpy.array([1,2,3])weights=numpy.array([0.2,0.5,0.3])choice=numpy.random.choice(arr,p=weights)以0.2的概率选择1,以0.5的概率选择2,以0.3的概率选择3。如果我们想以向量化的方式快速为二维数组(矩阵)执行此操作,其中每一行都是概率向量,该怎么办?也就是说,我们想要一个来自随机矩阵的选择向量?这是super慢的方式:importnumpyasnpm=10n=100#Orsomeverylargenumberitem

python - 使用局部加权回归 (LOESS/LOWESS) 预测新数据

如何在python中拟合局部加权回归,以便它可以用于预测新数据?有statsmodels.nonparametric.smoothers_lowess.lowess,但它只返回原始数据集的估计;所以它似乎只能将fit和predict放在一起,而不是像我预期的那样分开。scikit-learn总是有一个fit方法,允许对象稍后在带有predict的新数据上使用;但它没有实现lowess。 最佳答案 Lowess非常适合预测(与插值相结合时)!我认为代码非常简单——如果您有任何问题,请告诉我!MatplolibFigureimportm

python - 随机加权选择

我有这样的数据:d=((701,1,0.2),(701,2,0.3),(701,3,0.5),(702,1,0.2),(702,2,0.3),(703,3,0.5))其中(701,1,0.2)=(id1,id2,priority)如果我知道id1,是否有一种使用优先级选择id2的漂亮方法?Func(701)应该返回:1-在20%的情况下2-30%3-50%百分比当然是粗略的 最佳答案 因此为每个ID1生成一个累积分布函数:cdfs=defaultdict()forid1,id2,valind:prevtotal=cdfs[id1][

python - python中的加权移动平均线

我以基本上随机的时间间隔对数据进行了采样。我想使用numpy(或其他python包)计算加权移动平均值。我有一个移动平均线的粗略实现,但我无法找到一种执行加权移动平均线的好方法,因此靠近bin中心的值的权重大于靠近边缘的值。在这里,我生成了一些示例数据,然后取了一个移动平均值。如何最轻松地实现加权移动平均线?谢谢!importnumpyasnpimportmatplotlib.pyplotasplt#firstgeneratesomedatapointforarandomlysamplednoisysinewavex=np.random.random(1000)*10noise=np.

c# - 使用 LINQ 计算加权平均值

我的目标是根据另一个表的主键从一个表中获取加权平均值。示例数据:表1KeyWEIGHTED_AVERAGE02000表2ForeignKeyLengthValue0200105520200105600200105540200105-102004755我需要根据段的长度获得加权平均值,并且我需要忽略-1的值。我知道如何在SQL中执行此操作,但我的目标是在LINQ中执行此操作。它在SQL中看起来像这样:SELECTSum(t2.Value*t2.Length)/Sum(t2.Length)ASWEIGHTED_AVERAGEFROMTable1t1,Table2t2WHEREt2.Valu