我正在研究回归问题,数据以三列的 csv 文件形式呈现,其中第二列包含日期,我想将日期(格式:1/1/2015 12:00:00)转换为 int (112015120000)以便能够标准化并应用我的模型。我是这样进行的:
data_set = pd.read_csv('train.csv')
date = data_set['Date'] # Dates represent the header of the dates' column
dates = date.values
date1 = [date.replace("-","") for date in dates ]
date2 = [date.replace(":","") for date in date1 ]
date_train = [date.replace(" ","") for date in date2 ]
Run Code Online (Sandbox Code Playgroud)
但我觉得这样既费时又低效,有没有更短的方法呢?否则,是否可以直接对日期时间类型应用规范化?
我想知道如何在 C++ 中有效地标准化向量。到目前为止,这就是我所拥有的。有没有办法提高效率和/或一次性完成。
std::array<float, MyClass::FEATURE_LENGTH> MyClass::normalize(const std::array<float, FEATURE_LENGTH>& arr) {
std::array<float, MyClass::FEATURE_LENGTH> output{};
double mod = 0.0;
for (size_t i = 0; i < arr.size(); ++i) {
mod += arr[i] * arr[i];
}
double mag = std::sqrt(mod);
if (mag == 0) {
throw std::logic_error("The input vector is a zero vector");
}
for (size_t i = 0; i < arr.size(); ++i) {
output[i] = arr[i] / mag;
}
return output;
}
Run Code Online (Sandbox Code Playgroud) 我正在努力解决功率谱密度(及其倒数)的正确归一化问题。
我遇到了一个实际问题,假设加速度计的读数以功率谱密度(psd)的形式(以幅度^2/Hz为单位)。我想将其转换回随机时间序列。然而,首先我想了解 PSD 的“前进”方向,即时间序列。
根据[1],时间序列x(t)的PSD可以通过以下公式计算:
PSD(w) = 1/T * abs(F(w))^2 = df * abs(F(w))^2
Run Code Online (Sandbox Code Playgroud)
其中T是x(t)的采样时间,F(w)是x(t)的傅里叶变换,df=1/T是傅里叶空间中的频率分辨率。然而,我得到的结果并不等于我使用 scipy Welch 方法得到的结果,请参见下面的代码。
第一个代码块取自 scipy.welch 纪录片:
from scipy import signal
import matplotlib.pyplot as plt
fs = 10e3
N = 1e5
amp = 2*np.sqrt(2)
freq = 1234.0
noise_power = 0.001 * fs / 2
time = np.arange(N) / fs
x = amp*np.sin(2*np.pi*freq*time)
x += np.random.normal(scale=np.sqrt(noise_power), size=time.shape)
f, Pxx_den = signal.welch(x, fs, nperseg=1024)
plt.semilogy(f, Pxx_den)
plt.ylim(\[0.5e-3, 1\])
plt.xlabel('frequency \[Hz\]')
plt.ylabel('PSD \[V**2/Hz\]')
plt.show()
Run Code Online (Sandbox Code Playgroud)
我注意到的第一件事是绘制的 psd 随变量 fs 变化,这对我来说似乎很奇怪。(也许我需要相应地调整 …
我使用了 MinMax 标准化来标准化我的数据集,包括特征和标签。我的问题是,标准化标签是否正确?如果是,如何对神经网络的输出进行反规范化(我用规范化的测试集预测的输出)?
我无法上传数据集,但它由 18 个特征和 1 个标签组成。这是一个回归任务,特征和标签都是物理量。
所以问题是y_train_pred和y_test_pred0 和 1 之间。我如何预测“真实值”?
代码:
dataset = pd.read_csv('DataSet.csv', decimal=',', delimiter = ";")
label = dataset.iloc[:,-1]
features = dataset.drop(columns = ['Label'])
features = features[best_features]
X_train1, X_test1, y_train1, y_test1 = train_test_split(features, label, test_size = 0.25, random_state = 1, shuffle = True)
y_test2 = y_test1.to_frame()
y_train2 = y_train1.to_frame()
scaler1 = preprocessing.MinMaxScaler()
scaler2 = preprocessing.MinMaxScaler()
X_train = scaler1.fit_transform(X_train1)
X_test = scaler2.fit_transform(X_test1)
scaler3 = preprocessing.MinMaxScaler()
scaler4 = preprocessing.MinMaxScaler()
y_train = scaler3.fit_transform(y_train2)
y_test = …Run Code Online (Sandbox Code Playgroud) 我想在 PyTorch 中对张量执行最小-最大归一化。
获得最小-最大归一化的公式是
我想使用一些元素对张量执行最小-最大归一化new_min,new_max 而不迭代张量的所有元素。
>>>import torch
>>>x = torch.randn(5, 4)
>>>print(x)
tensor([[-0.8785, -1.6898, 2.2129, -0.8375],
[ 1.2927, -1.3187, -0.7087, -2.1143],
[-0.6162, 0.6836, -1.3342, -0.7889],
[-0.2934, -1.2526, -0.3265, 1.1933],
[ 1.2494, -1.2130, 1.5959, 1.4232]])
Run Code Online (Sandbox Code Playgroud)
有没有办法对两个值之间的给定张量进行最小-最大归一化new_min, new_max?
假设我想将张量从 缩放new_min = -0.25到new_max = 0.25
我试图将希伯来语单词分成 C# 中的字母,但 ToCharArray() 将变音符号分开,就好像它们是单独的字母一样(但事实并非如此)。我可以选择将字母与变音符号保持完整,或者在最坏的情况下完全删除变音符号。
\n示例: \xd7\x9b\xd6\xbc\xd6\xb6\xd7\x9c\xd6\xb6\xd7\x91 显示为 6 个不同的字母。
\n在过去的18个月里,我们一直在研究复杂的数据库和客户端界面.我们定期为此应用程序添加新功能,现在我们所有办公室(包括站点和海外)每天都有数十名用户使用它.这只是告诉你它是一个真正的应用程序与REAL数据库.
到目前为止,我们仍然没有编写任何存储过程,除了临时解决客户端版本和更新的数据库模型之间的小问题(旧的客户端版本将无法正确更新新创建的字段,直到每个人都安装最新的版).
同样,我们仍然不需要任何触发器.实际上,唯一的SP和触发器是系统的,或者是为复制目的而添加的.
我有一种奇怪的感觉,当开发人员认为数据库优化必须反对数据库规范化时,SP和触发器主要用于补偿数据库设计默认值和/或试图绕过数据库设计规则.
问题是这些工具很耗时(用于开发或维护).然后,每个开发人员都应该非常小心地使用它们,请记住它们是在数据库中维护的最"昂贵"的项目.
我们是否可以认为在数据库中没有或几乎没有存储过程/触发器是它的标准化水平和/或代码维护成本的良好指示?
编辑:
有些人为使用触发器和SP提供了公平的参数.但我一直认为,大多数时候这些工具是以不正当或过度的方式使用的.设置了多少个触发器来在表字段之间进行一些奇特的更新,或者重新计算总计或其他聚合数据?有多少SP用于构建用于报告问题的临时表?在开发人员使用这些工具的许多情况中,这些是2,我认为这通常说明了数据库设计/规范化缺陷.
其他一些人承认应严格控制SP和触发器的使用.我发现它也是必要的.
我必须承认,我试图找到一些崇尚参数,所有我们的其他数据库的工作,这些SQL怪才瞧不起我们,告诉自己的朋友:"你知道吗?他们甚至不使用SP和触发器!哈哈!"
triggers database-design stored-procedures platform-agnostic normalization
与使用基于字符的表格相比,在数据库表中使用唯一的数字ID字段时,是否有性能提升或最佳实践?
例如,如果我有两个表:
id ... 17,名字 ...... Rickey Henderson,teamid ...... 28
teamid ... 28,teamname ... 奥克兰
如果队友是"OAK"或"SD"而不是"28"或"31" ,那么拥有数千名球员的运动员桌将更容易阅读.让我们理所当然地认为,teamid值在字符形式上将保持唯一且一致.
我知道你可以使用字符,但是出于任何原因索引,过滤等是一个坏主意吗?
请忽略规范化参数,因为这些表比示例更复杂.
我正在尝试获取给定数组并将它们标准化为0-100.
显然我在这里做错了,但我不能为我的生活搞清楚.有人请帮助我找到我的愚蠢错误?
var arr = [6345, 45678, 34572, 59867, 23517, 20938, 9872345, 2986];
arr.sort();
var scale = d3.scale.linear().domain([0, arr[0]]).range([0, 100]);
for ( var i in arr ){
console.log(scale(arr[i]));
}
Run Code Online (Sandbox Code Playgroud)
我想用matplotlib制作xy数据的多个hexbin密度图,类似于这个:http://matplotlib.org/1.4.0/examples/pylab_examples/hexbin_demo.html
但我想将每个六边形的数量除以一个给定的数字(我的密度图中的最高峰值),这样我所有的阴影图都会有相同的颜色,并且所有图的颜色条都是[0,1]范围.
有人能告诉我一个有用的例子吗?
谢谢你的期待,
亚诺什
normalization ×10
python ×4
arrays ×1
c# ×1
c++ ×1
d3.js ×1
database ×1
density-plot ×1
dft ×1
diacritics ×1
fft ×1
hebrew ×1
javascript ×1
matplotlib ×1
optimization ×1
performance ×1
prediction ×1
python-3.x ×1
pytorch ×1
schema ×1
triggers ×1