我试图删除 Pandas DataFrame 中的一些观察结果,其中相似性几乎为 100%,但不完全相同。见下图:
请注意“John”、“Mary”和“Wesley”的观察结果几乎相同,但有一列不同。真实数据集有 15 列,以及 215,000 多个观测值。在我可以目视验证的所有情况下,相似之处同样是:在 15 列中,其他观察结果每次最多匹配 14 列。出于该项目的目的,我决定删除重复的观察结果(并将它们存储到另一个 DataFrame 中,以防我的老板要求查看它们)。
我显然已经想到了remove_duplicates(keep='something'),但这行不通,因为观察结果并不完全相似。有没有人遇到过这样的问题?关于补救措施的任何想法?
我正在尝试使用 GPflow 进行多维回归。但我对均值和方差的形状感到困惑。例如:应该预测形状为 (20,20) 的二维输入空间 X。我的训练样本的形状为 (8,2),这意味着两个维度总共有 8 个训练样本。y 值的形状为 (8,1),这当然意味着 2 个输入维度的每个组合的一个真实值。如果我现在使用 model.predict_y(X) 我希望得到形状的平均值 (20,20) 但获得形状 (20,1)。方差也是如此。我认为这个问题来自 y 值的形状,但我不知道如何解决它。
bound = 3
num = 20
X = np.random.uniform(-bound, bound, (num,num))
print(X_sample.shape) # (8,2)
print(Y_sample.shape) # (8,1)
k = gpflow.kernels.RBF(input_dim=2)
m = gpflow.models.GPR(X_sample, Y_sample, kern=k)
m.likelihood.variance = sigma_n
m.compile()
gpflow.train.ScipyOptimizer().minimize(m)
mean, var = m.predict_y(X)
print(mean.shape) # (20, 1)
print(var.shape) # (20, 1)
Run Code Online (Sandbox Code Playgroud) 我正在尝试保存 GPflow 模型(在 GPflow 2.0 版中)。
model = gpflow.models.VGP((X, Y_data), kernel=kernel, likelihood=likelihood, num_latent_gps=1)
Run Code Online (Sandbox Code Playgroud)
由于该gpflow包不再有saver模块,任何人都可以帮助我提供替代方法吗?