问题标签 [standardized]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 在没有验证集和图像标准化的情况下训练 Keras 模型
我在 Python 上使用 Keras 来训练 CNN 自动编码器。在fit()
我必须提供的方法中validation_split
or validation_data
。首先,我想使用 80% 的数据作为训练数据,20% 作为验证数据(随机拆分)。一旦我找到了最佳参数,我想在所有数据上训练自动编码器,即不再使用验证集。
是否可以在不使用验证集的情况下训练 Keras 模型,即使用所有数据进行训练?
此外,我图像中的像素都在 [0, -0.04] 范围内。是否仍然建议将训练和验证集中所有图像中所有像素的值标准化为范围 [0,1] 或 [-1,1] 或标准化(零均值,单位方差)?如果是这样,首选哪种方法?顺便说一句,我的图像实际上是 2D 热图(一个颜色通道)。
python-3.x - 为什么在 GridSearchCV 中使用 StandardScaler 时会得到不同的结果?
我想通过 GridSearchCV 优化 SVM 的超参数。但是最佳估计器的得分与运行具有最佳参数的 svm 时的得分有很大不同。
结果如下:
最好成绩:0.784
最佳估计分数:0.6991
最佳参数得分:0.7968
我不明白为什么最佳估计器和 svm 的分数不同?以下哪个结果是正确的测试精度?为什么 0.6991 的 Best estimator 的得分这么差?我做错了什么吗?
r - 稀疏套索 GLM 中截距的标准化和包含
cvSGL
我在使用包中的函数练习稀疏组套索方法时发现了一些问题SGL
。
我的问题如下:
- 查看 的代码
SGL:::center_scale
,似乎没有考虑数据的样本大小。
因此,预测变量的样本标准偏差测量得稍大一些。
我的理解是否正确,这可能导致系数过大?
- 模型是否可以通过 SGL 包用截距项(或常数项)进行估计
该SGL
软件包似乎没有提供通过包含截距项进行估计的功能。
在cvFit[["fit"]]
中,我只能看到根据 的预测变量的 beta,lambda
常数项除外。的值是变量cvFit[["fit"]][["intercept"]]
的平均值。y
它可以通过添加1
到预测变量的第一列来估计X
,但在这种情况下,预计会导致预测变量的中心化和标准化问题。
此外,该SPG
软件包似乎对所有预测变量都增加了惩罚。即使如上所述通过添加1
到解释变量的第一列来执行估计,常数项也可以估计为。X
0
r - 一次标准化(z 分数)多个变量
我有一个看起来像这样的数据集:但有数百个变量
我想标准化我的所有变量以简化回归后的解释。我知道我可以使用一个一个地标准化变量BBmisc
但这会导致命令文件非常冗长且杂乱无章。
由于我不能真正使用循环或函数,我想知道是否有人会知道如何在单行(几行)中做到这一点。可能选择相关变量进行标准化。
此外,如果该函数能够检测到假人 (x2) 并避免对这些假人进行标准化,那就太好了
我提前感谢您的帮助
python - 哪种距离测量最适合具有不同值范围的特征?
我已经给出了不同功能的记录。我总共有 8 个功能。有些是二进制的,但有些的值范围是 0 到 1000 万。我的大目标是对数据进行聚类。目前,我仍在为这些数据寻找合适的距离度量。
我知道欧几里得距离是最常见的距离度量。我已经尝试过了,并将它的非二进制数据标准化到 0 到 1 之间的范围内。是否有另一种距离度量可能更适合该数据?
methods - CDF 规范化数据
我真的需要你的帮助。我想在 0 和 1 之间缩放我的数据,以便之后对其进行聚类。使用累积分布函数(CDF)提前对数据进行归一化有意义吗?(我的特征有不同的值范围。)请有理由。文献中有什么可比的吗?我真的什么都没找到。我非常感谢您的帮助!
python - 标准化具有许多零的像素输入数据
我想为神经网络标准化我的输入数据。
数据如下所示:
这是我使用的功能。由于零,它不起作用。
h2o - H2O 不应该标准化正则化 GLM 模型(套索、岭、弹性网)的分类预测变量吗?
“套索方法需要对回归变量进行初始标准化,以便惩罚方案对所有回归变量都是公平的。对于分类回归变量,可以使用虚拟变量对回归变量进行编码,然后对虚拟变量进行标准化”(第 394 页)。
Tibshirani, R. (1997)。Cox 模型中变量选择的 lasso 方法。 医学统计,16 (4), 385-395。http://statweb.stanford.edu/~tibs/lasso/fulltext.pdf
水:
与包 'glmnet' 类似,h2o.glm 函数包含一个默认为 true 的 'standardize' 参数。但是,如果预测变量作为因子存储在输入 H2OFrame 中,则 H2O 似乎不会标准化自动编码的因子变量(即,生成的虚拟或单热向量)。我已经通过实验证实了这一点,但对这个决定的引用也出现在源代码中:
例如,方法 denormalizeBeta ( https://github.com/h2oai/h2o-3/blob/553321ad5c061f4831c2c603c828a45303e63d2e/h2o-algos/src/main/java/hex/DataInfo.java#L359 ) 包含注释“仅对数字进行非规范化coefs(分类未标准化)。” 看起来平均值(变量_normSub)和标准偏差(变量_normMul的倒数)仅在setTransform方法(https://github.com/h2oai/h2o-3 /blob/553321ad5c061f4831c2c603c828a45303e63d2e/h2o-algos/src/main/java/hex/DataInfo.java#L599)。
GLM网:
相比之下,“glmnet”包似乎希望在拟合模型之前使用 model.matrix 之类的函数对分类变量进行虚拟编码。然后将虚拟变量与连续变量一起标准化。避免这种情况的唯一方法似乎是仅对连续预测变量进行预标准化,将它们与虚拟变量连接起来,然后使用 standardize=FALSE 运行 glmnet。
统计考虑:
对于虚拟变量或 one-hot 向量,均值是 TRUE 值的比例,SD 与均值成正比。当 TRUE 和 FALSE 值的比例相等时(即σ = 0.5),SD 达到最大值,并且样本 SD ( s ) 在n → ∞时接近 0.5 。因此,如果连续预测变量标准化为 SD = 1,但虚拟变量未标准化,则连续预测变量的 SD 至少是虚拟预测变量的两倍,而对于不平衡虚拟变量,连续预测变量的 SD 将超过两倍。
看起来这可能是正则化(LASSO、岭、弹性网)的问题,因为预计预测变量的尺度/方差是相等的,因此正则化惩罚 (λ) 可以均匀地应用于预测变量。如果两个预测变量 A 和 B 具有相同的标准化效应大小,但 A 的 SD 比 B 小,则 A 必然具有比 B 更大的非标准化系数。这意味着,如果不进行标准化,正则化惩罚将错误地对A 比 B. 在混合了标准化连续预测变量和非标准化分类预测变量的正则化回归中,这似乎可能导致分类预测变量的系统过度惩罚。
一个普遍表达的担忧是标准化虚拟变量会消除它们的正常解释。为了避免这个问题,Gelman (2008) 建议在将连续预测变量和分类预测变量置于同等地位的同时,通过除以 2 SD 而不是 1 来标准化连续预测变量,从而得到 SD = 0.5 的标准化预测变量。然而,对于类别不平衡的虚拟变量,这似乎仍然存在偏差,其 SD 可能大大小于 0.5。
格尔曼,A.(2008 年)。通过除以两个标准差来缩放回归输入。医学统计,27(15),2865-2873。 http://www.stat.columbia.edu/~gelman/research/published/standardizing7.pdf
问题:
H2O 不为正则化回归标准化 one-hot 向量的方法是否正确?这会导致过度惩罚虚拟变量/单热向量的偏见吗?还是 Tibshirani (1997) 的建议因为某种原因被修改过?
r - lmer 系数是否标准化?
我有一个非常基本的问题;也许有点太基本了,无法找到有用的回应谷歌搜索它。
我正在使用以下代码使用 lmer 函数计算多级模型:
我是否正确假设检索到的系数是非标准化的?如果是,是否有一种简单的方法来标准化它们?
最好的,
卡罗琳
r - Naming a dataframe like the path
I have a lot of CSV that need to be standardized. I created a dictionary for doing so and so far the function that I have looks like this:
Nonetheless, the issue that I have is that when I read the CSV and turn them into a dataframe they lose their path and therefore I can't not write each of them as a CSV that matches the input name. What I would normally do would be:
I was thinking that a way of solving this would be to make this step:
so that the DF gets the name of the path but I haven't find any solution for that.
Any ideas on how to solve this issue for being able to apply a function and writing each of them as a standardized CSV?