我想以正常形式而不是指数形式显示数字
例如,我的号码存储在一个值为 1234567890123 的双精度变量中
我想得到确切的表示。但是当我将它传递给一些 TextView 进行显示时,它变成了 1.234E12
我开发了一个黑莓应用程序(分类帐管理系统),它使用 SQLite 进行数据存储。
我在我的应用程序中创建的表之间有几种关系
以下是一些表及其列:
1. Customer Details-Name,Phone,Email
2. Bills-Name,Amount
3. Update Customer-Name
4. Update Bills-ID
Run Code Online (Sandbox Code Playgroud)
和许多其他临时表。
当我开发这个应用程序时,我从来没有真正费心去查看我的表是否被规范化。
现在在我完成我的应用程序后,我想知道是否需要规范化。
我的大部分查询都是基于选择插入客户和账单表单的记录,然后对其进行操作。
例如,我有一个捕获所有客户数据的客户详细信息表。现在一旦在数据库中记录了一个名称,我不希望表中再次出现相同的名称,所以这需要规范化概念。
同样在像 SQLite 这样的 RDBMS 中,规范化是必不可少的。它是否与基于 DBMS 的表具有相同的含义。
OLAP 和 OLTP 系统与数据库规范化之间也有什么区别。如果是,我的黑莓应用程序会被归类为哪些类别?
如果有人对此表示赞赏,请给予指导。
假设我们有三张桌子:
-Buildings
-Rooms
-People
建筑物可以有1到30个房间(比如说平均值是3个)
而建筑物可以有0到30个人(平均3个)
一个房间和一个人只能属于一个单独的建筑物.
每个月我们都会在我们的数据库中添加约50,000个新建筑物及其房间和人员.
我们可以删除超过2年的数据,因此我们将拥有大约1.2M的建筑行.
主要问题是我们想要搜索并返回通常(但不总是)包含至少两个表(建筑物始终存在)的数据,因此我们必须执行连接.
我研究了3个解决方案
所以问题是:
Oracle Cluster是否适合这种情况?
是否可以连续向这样的群集添加行?
如果你不推荐Cluster,为什么以及什么更适合?
细节:
簇:
SELECT *
FROM
(SELECT *
/*+ FIRST_ROWS(200)*/
FROM BUILDING_C R
INNER JOIN PEOPLE_C C
ON (R.BUILDING_id = C.BUILDING_id)
INNER JOIN ROOM_C S
ON (S.BUILDING_id = R.BUILDING_id)
WHERE S.OPEN_DATE >= SYSDATE - 60 -1
AND S.OPEN_DATE <= SYSDATE - 60
ORDER BY S.OPEN_DATE
)
WHERE rownum < 200;--17 consistent gets
Run Code Online (Sandbox Code Playgroud)

标准化:
SELECT *
FROM
(SELECT *
/*+ FIRST_ROWS(200)*/
FROM BUILDING_N …Run Code Online (Sandbox Code Playgroud) 我正在开发一个C项目,需要生成"不区分大小写"的规范化形式的Unicode文本.我选择将规范化形式定义为首先转换为NFD规范化,然后应用Unicode案例折叠算法,最后将结果转换为NFC规范化形式NFC.
我依靠ICU的C API来实现其Unicode表示和实用功能,使用ICU unorm_normalize()和u_strFoldCase()函数实现我的方案相当简单.但是我的一个测试失败了,我不明白为什么.ICU似乎正在产生一种与我预期不同的NFC形式.
输入序列由以下BMP代码点组成:
U+0020, U+1EA5, U+0328, U+1EC4, U+031C
Run Code Online (Sandbox Code Playgroud)
通过调试器,我确定ICU和我同意案例折叠后的中间结果:
U+0020 U+0061 U+0328 U+0302 U+0301 U+0065 U+031C U+0302 U+0303
Run Code Online (Sandbox Code Playgroud)
特别要注意的是,早期转换为形成NFD将字符U + 031C移动到U + 1EC4分解的中间,根据所涉及字符的相对CCC编号.这是我试图测试的一部分.
现在好的部分:根据ICU,折叠字符序列的NFC标准化是
U+0020 U+0105 U+0302 U+0301 U+1ec5 U+031C
Run Code Online (Sandbox Code Playgroud)
而我认为它应该是
U+0020 U+0105 U+0302 U+0301 U+0065 U+031C U+0302 U+0303
Run Code Online (Sandbox Code Playgroud)
因为三个尾随组合字符已经按规范顺序排列,并且没有U + 0065和U + 031C的规范组合.
那么,有两个问题:
假设有一个向量 H ,是否“按向量的最大值归一化向量”是指 H/max(H)?H 中的每个元素除以 H 的最大值?
我正在做一个项目,我必须首先将图像标准化为 [0,1],然后在处理后对图像执行 dwt 和 idwt。所以首先我将图像转换为数组然后我用这个代码对其进行标准化
def normalization (array):
maxs = max([max(l) for l in array])
mins = min([min(l) for l in array])
range = max - mins
A = []
for x in array:
m = [(float(xi) - mins)/range for xi in x]
A.append(m)
return A
Run Code Online (Sandbox Code Playgroud)
代码运行良好,现在我不知道如何将其非规范化回实际范围。有人可以帮忙吗?
我正在开发一个程序,该程序从图表中读取数据并以特定频率播放值,该频率已被标准化以显示数据点之间的差异。
在测试中,我发现“可接受”的声音范围介于 200 到 ~3800 之间,因为频率范围不会太高或太低而无法使用。这意味着我需要将所有数据转换为该数字范围。鉴于这些指导方针,这里有一个解决方案。
function normalize(enteredValue, minEntry, maxEntry, normalizedMin, normalizedMax) {
var mx = (enteredValue-minEntry)/(maxEntry-minEntry);
var preshiftNormalized = mx*(normalizedMax-normalizedMin);
var shiftedNormalized = preshiftNormalized + normalizedMin;
return shiftedNormalized;
}
Run Code Online (Sandbox Code Playgroud)
这有效,但在某些情况下会带来一个小问题。如果用户在同一个数据集中有一个非常小的值和一个非常大的值。
简单示例:A 公司的利润为 1 美元,B 公司的利润为 10 亿美元,如果公司 C 和 D 等的利润与边缘情况相距甚远,就不会有问题。但是,假设 C 公司的利润为 5000 万美元。这大大超过 1 美元,远低于 10 亿美元,不会有太大问题。但是,如果 D 的利润为 2 万美元,那么我们可能会遇到问题。
归一化后的数字是这样的(使用 3800 作为最大值,使用 200 作为最小值):
1 = 200.0000036
20000 = 200.072
5000 万 = 380
10 亿 = 3800
在这里,我们可以看到明显的问题。如果我们使用上面的函数将声音归一化到所需的频率范围,那么具有巨大数据差异的大型数据集可能会扭曲对图形上所表示内容的感知。由于归一化如何将较大的数据压缩到较小的数字范围内,因此只有当最大和最小数字相距很远时才会出现问题。
两种可能的解决方案:
设置用户可以在数据集中拥有的最大数量。这是一个简单的解决方法,但在自动解析 csv 文件中的数据时,它会限制程序的功能,因为任何超过上限的内容只会播放最高频率。
第二个解决方案很复杂,我还不确定如何去做,这就是我希望从您或其他人那里得到的启发,为我指明正确的方向。我认为使用某种对数缩放使较大的数据不那么重要将是一个很好的解决方案。我的意思是类似于这里的图表:
原谅我糟糕的绘画技巧,但你能明白我的意思。随着数字变大,它们变得越来越不重要。这不是数字之间的关系,但我认为人类对大数字的感知已经很模糊,所以让大数字听起来比小数字更接近更好。(例如 …
有人知道如何在python中实现tanh-estimator吗?我有一个不遵循高斯分布的数字列表。我想使用 tanh-estimator 作为预处理步骤,但我不知道如何在 python 中实现它,因为没有像 MinMaxScaler() 这样的定义函数。
提前致谢
我有一个包含youtube视频观看次数的数据框,我想将这些值缩放为1-10。以下是值看起来如何的示例?我如何将其标准化为1-10,或者有更有效的方法来执行此操作?
rating
4394029
274358
473691
282858
703750
255967
3298456
136643
796896
2932
220661
48688
4661584
2526119
332176
7189818
322896
188162
157437
1153128
788310
1307902
Run Code Online (Sandbox Code Playgroud) 我在 Windows 10 上使用 Tensorflow 1.4.0 和 Python 3.6。我查看了其他关于值排序的帖子,但到目前为止没有发现任何有用的东西。
谢谢。
import tensorflow as tf
import numpy as np
from sklearn.datasets import fetch_california_housing
housing = fetch_california_housing()
m, n = housing.data.shape
housing_data_plus_bias = np.c_[np.ones((m, 1)), housing.data]
#normalization
scaled_housing_data_plus_bias = tf.nn.l2_normalize(housing_data_plus_bias, 1, epsilon=1e-12,name="Normalized")
n_epochs = 1000
learning_rate = 0.01
#error occurs here
X = tf.constant(scaled_housing_data_plus_bias, dtype=tf.float32, name="X")
Traceback (most recent call last):
File "C:/Users/tony/PycharmProjects/NNCourse/Hands-On_Book_5.py", line 14, in <module>
X = tf.constant(scaled_housing_data_plus_bias, dtype=tf.float32, name="X")
File "C:\Users\tony\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\framework\constant_op.py", line 208, in constant
value, dtype=dtype, shape=shape, verify_shape=verify_shape)) …Run Code Online (Sandbox Code Playgroud) normalization ×10
python ×4
android ×1
bigdecimal ×1
dataframe ×1
double ×1
dwt ×1
icu ×1
javascript ×1
join ×1
matlab ×1
olap ×1
oracle ×1
oracle11g ×1
pandas ×1
scale ×1
sql ×1
sqlite ×1
tensorflow ×1
unicode ×1