草庐IT

精度评定

全部标签

Java double 到具有特定精度的字符串

我想将double转换成String。我希望它的位数尽可能少,最多6位。所以我找到了String.format("%.6f",d),它将我的100.0转换为100.000000。最大精度工作正常,但我希望将其转换为100(最小精度)。您知道哪种方法是这样工作的吗? 最佳答案 使用DecimalFormat:newDecimalFormat("#.0#####").format(d)。这将生成具有1到6位十进制数字的数字。由于DecimalFormat将使用默认语言环境的符号,您可能需要提供要使用的符号://Formatusingen

java - 在不损失精度的情况下转换 float 的基数

术语在这个问题中,我将“float”称为“十进制数”,以防止与float/doubleJava基本数据类型产生歧义。术语“十进制”与“以10为底”没有任何关系。背景我用这种方式表示任何基数的十进制数:classDecimal{int[]digits;intexponent;intbase;intsignum;}它大致表达了这个double值:publicdoubletoDouble(){if(signum==0)return0d;doubleout=0d;for(inti=digits.length-1,j=0;i>=0;i--,j++){out+=digits[i]*Math.pow

C++ 与 Python 精度

尝试找出num^num的前k位数字的问题我用C++和Python编写了相同的程序C++longdoubleintpart,num,f_digit,k;cin>>num>>k;f_digit=pow(10.0,modf(num*log10(num),&intpart)+k-1);coutpython(a,b)=modf(num*log10(num))f_digits=pow(10,b+k-1)printf_digits输入194234749输出C++>163074912Python>163074908我检查了C++解决方案的结果是准确的。在http://www.wolframalpha.

python - 如何格式化具有给定精度和零填充的 float ?

我已经看过几十个类似的问题-我很高兴能得到另一个答案的链接-但我想在python3.3中对float进行零填充n=2.02print("{?????}".format(n))#desiredoutput:002.0200float的精度很容易,但我也不能得到零填充。什么进入????'s 最佳答案 你可以像这样使用格式说明符>>>"{:0>8.4f}".format(2.02)'002.0200'>>>print("{:0>8.4f}".format(2.02))002.0200>>>这里,8代表总宽度,.4代表精度。而0>意味着字符

python - scikit-learn roc_auc_score() 返回精度值

我正在尝试使用sklearn.metrics.roc_auc_score使用以下方法计算ROC曲线下的面积:roc_auc=sklearn.metrics.roc_auc_score(actual,predicted)其中actual是一个带有真实分类标签的二元向量,predicted是一个带有我的分类器预测的分类标签的二元向量。但是,我得到的roc_auc的值与准确度值(标签被正确预测的样本的比例)完全相似。这不是一次性的事情。我在不同的参数值上尝试我的分类器,每次我都得到相同的结果。我在这里做错了什么? 最佳答案 这是因为您传递

python - 如何在python中生成具有两个精度的浮点随机数

我想生成一个具有两个精度的浮点随机数。例如:2.54如何在python中更改uniform(a,b)。谢谢 最佳答案 您可以使用uniform函数的round函数将float限制为两位小数。示例:round(random.uniform(1.5,1.9),2)Out[]:1.62round(random.uniform(1.5,1.9),3)Out[]:1.885 关于python-如何在python中生成具有两个精度的浮点随机数,我们在StackOverflow上找到一个类似的问题:

python - BBP 算法所需的工作精度?

我希望在低内存环境中计算Pi的第n位。因为我没有可用的小数,所以这个integer-onlyBBPalgorithminPython一直是一个很好的起点。我一次只需要计算Pi的一位数。如何确定我可以设置的最低D,即“工作精度位数”?D=4给了我很多正确的数字,但有几个数字会差一个。例如,计算精度为4的数字393得到0xafda,我从中提取数字0xa。然而,正确的数字是0xb。无论我将D设置多高,似乎测试足够多的数字都会找到一个公式返回不正确值的数字。当数字与另一个数字“接近”时,我尝试提高精度,例如0x3fff或0x1000,但找不到“关闭”的任何好的定义;例如,在数字9798处计算得

python - Keras:微调 Inception 时精度下降

我在使用Keras微调Inception模型时遇到问题。我已经成功地使用教程和文档生成了一个完全连接的顶层模型,该模型使用Inception中的瓶颈特征将我的数据集分类到正确的类别中,准确率超过99%。importnumpyasnpfromkeras.preprocessing.imageimportImageDataGeneratorfromkeras.modelsimportSequentialfromkeras.layersimportDropout,Flatten,Densefromkerasimportapplications#dimensionsofourimages.im

python - 如何在不丢失精度的情况下将 float 存储为文本?

正如问题所说。转换为(截断的)字符串表示形式/从(截断的)字符串表示形式转换会影响它们的精度。但是以pickle等其他格式存储它们会使它们变得不可读(是的,我也想要这个)。如何在不损失精度的情况下在文本中存储float? 最佳答案 以二进制或其幂的形式存储。>>>(3.4).hex()'0x1.b333333333333p+1'>>>float.fromhex('0x1.b333333333333p+1')3.4 关于python-如何在不丢失精度的情况下将float存储为文本?,我们在

python - 为什么我在对整数进行乘法和除法时会失去精度?

我原以为Python3应该能够处理任意长度的数字,但我遇到了一个问题,即它们的行为似乎并不一致。乘除之后,我的int似乎改变了它的内部表示,并且不再评估为它以前的self匹配。我使用的是整数,没有任何小数或分数,但它的表现几乎就像是因为四舍五入而失去了精度......?我很感激任何关于为什么会发生这种情况的见解,如果有什么我应该做不同的事情。我的代码有变通办法,但由于结果违反直觉,我很想知道行为背后的原因;)Python3.3.2(default,Jul302013,00:52:04)[GCC4.2.1CompatibleAppleLLVM4.2(clang-425.0.28)]ond