我正在尝试用不平衡的数据训练网络.我有A(198个样本),B个(436个样本),C个(710个样本),D个(272个样本),我读过"weighted_cross_entropy_with_logits"但我发现的所有例子都是二进制分类所以我不是很对如何设置这些重量充满信心.
样本总数:1616
A_weight:198/1616 = 0.12?
如果我理解的话,背后的想法是惩罚少数民族阶级的错误,并且更加积极地评价少数民族中的命中,对吧?
我的代码:
weights = tf.constant([0.12, 0.26, 0.43, 0.17])
cost = tf.reduce_mean(tf.nn.weighted_cross_entropy_with_logits(logits=pred, targets=y, pos_weight=weights))
Run Code Online (Sandbox Code Playgroud)
我已经阅读了这个和其他二进制分类的例子,但仍然不是很清楚.
提前致谢.
我在资源文件夹中有一个二进制文件(file.bin),我想读它并将其显示为二进制文件.它的想法是将二进制信息放入一个数组中,但是,首先,我试图在UILabel中显示它,就像这样:
`NSData*databuffer; NSString*stringdata;
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"file" ofType:@"bin"];
NSData *myData = [NSData dataWithContentsOfFile:filePath];
if (myData) {
stringdata = [NSString stringWithFormat:@"%@",[myData description]];
labelfile.text = stringdata;
}
Run Code Online (Sandbox Code Playgroud)
`
但它显示了HEX中的数据.我怎么能用二进制文件把它放在NSMutableArray中呢?谢谢.
我正在尝试做一个响应式画布.我所有的测试都是用600x600帆布做的,并且它的高度和宽度都能正常工作并正确地绘制每一行.问题是我试过这个:
#myCanvas {
background-color: #ffffff;
border:1px solid #000000;
min-height: 600px;
height: 100%;
width: 100%;
}
Run Code Online (Sandbox Code Playgroud)
只是为了记录,myCanvas在sm-col-8中.
它在我的笔记本电脑上看起来不错,在我的手机上看起来不错但是(因为我的绘画()功能,因为它正在考虑一个正方形)画面开始更像是在左下角(附近),它应该从右上角.
所以,我不想改变我的draw()函数,但我正在寻找的是重新缩放画布大小.我的意思是:如果我在笔记本电脑/平板电脑上... 600x600,显示它的大小,但如果我在我的手机上有384x640显示它像300x300?我不知道这是否是一个很好的解决方案.
我的绘画功能:
function drawLines(lines,i,table,xtotal,ytotal){
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var xIni;
var xFin;
var yIni;
var yFin;
xIni = (c.width*parseInt(lines[i][1])/xtotal);
yIni = (c.height*parseInt(lines[i][2])/ytotal);
xFin = (c.width*parseInt(lines[i][3])/xtotal);
yFin = (c.height*parseInt(lines[i][4])/ytotal);
ctx.beginPath();
ctx.moveTo(xIni,c.height-yIni);
ctx.lineTo(xFin,c.height-yFin);
ctx.lineWidth=4;
ctx.strokeStyle = colorAleatorio();
ctx.stroke();
}
Run Code Online (Sandbox Code Playgroud) 我有两个不同的数据框,每个数据框有 19 个变量,我正在用每个变量的直方图绘制一个多重图,如下所示:
fig, ax = plt.subplots(figsize=(19,10), dpi=50)
dataframe1.hist(ax=ax, layout=(3,7), alpha=0.5)
fig, ax = plt.subplots(figsize=(19,10), dpi=50)
dataframe2.hist(ax=ax, layout=(3,7), alpha=0.5)
Run Code Online (Sandbox Code Playgroud)
这会产生两个内部有 19 个直方图的图像。我想尝试的是在同一个子图中仅绘制一个具有共享直方图的图像。
我试过这个:
fig, ax = plt.subplots(figsize=(19,10), dpi=50)
dataframe1.hist(ax=ax, layout=(3,7), alpha=0.5, label='x')
dataframe2.hist(ax=ax, layout=(3,7), alpha=0.5, label='y', color='red')
Run Code Online (Sandbox Code Playgroud)
但它只画了最后一张。这是一个类似的例子:使用 matplotlib同时绘制两个直方图,但我如何将它应用于我的 19 个子图?
任何想法都会受到欢迎,提前致谢!
PS:我目前正在使用带有%matplotlib notebook选项的Jupyter Notebooks
python ×2
binary ×1
canvas ×1
css ×1
html5 ×1
ios ×1
iphone ×1
javascript ×1
matplotlib ×1
nsdata ×1
nsstring ×1
pandas ×1
tensorflow ×1