rescaling
是 gempy.core.model.ImplicitCoKriging
类的一个方法,用于将训练数据集的值范围缩放到 [0,1]。这个方法会用于建立 Implicit Co-Kriging 模型之前。
rescaling
方法没有参数。
rescaling
方法返回一个二维 numpy
数组,包含了已经经过缩放的训练数据集。
以下是使用 rescaling
方法的示例代码:
import gempy as gp
import numpy as np
# 创建 gempy 模型
model = gp.create_model()
# 添加地质图层
x = np.linspace(0, 100, 100)
y = np.linspace(0, 100, 100)
z = np.linspace(0, 100, 100)
model.add_surface_points(x, y, z)
# 添加训练数据
X = np.random.rand(100, 3) * 100
values = np.random.rand(100, 1) * 100
model.add_data(X, values)
# 缩放训练数据
rescaled_data = model.rescaling()
# 使用缩放后的数据建立模型
model.set_verbosity(0) # 关闭模型的输出信息
model.update_model(rescaled_data)
在上面的示例中,我们创建了一个 gempy
模型,并添加了地质图层和训练数据。然后通过 rescaling
方法对训练数据进行缩放,并使用缩放后的数据建立了模型。
以下是使用 rescaling
方法的详细示例:
import gempy as gp
import numpy as np
import matplotlib.pyplot as plt
# 创建 gempy 模型
model = gp.create_model("Rescaling Example")
# 添加地质图层
x = np.linspace(0, 100, 100)
y = np.linspace(0, 100, 100)
z = np.linspace(0, 100, 100)
model.add_surface_points(x, y, z)
# 添加训练数据
X = np.random.rand(100, 3) * 100
values = np.random.rand(100, 1) * 100
model.add_data(X, values)
# 缩放训练数据
rescaled_data = model.rescaling()
# 绘制缩放前的训练数据
fig, ax = plt.subplots(1)
ax.scatter(X[:, 0], X[:, 1], c=values[:, 0])
ax.set_xlabel("x")
ax.set_ylabel("y")
ax.set_title("Training Data (Before Rescaling)")
# 绘制缩放后的训练数据
fig, ax = plt.subplots(1)
ax.scatter(X[:, 0], X[:, 1], c=rescaled_data[:, 1])
ax.set_xlabel("x")
ax.set_ylabel("y")
ax.set_title("Training Data (After Rescaling)")
plt.show()
该示例中,我们使用 rescaling
方法展示了缩放前后的训练数据。在图中,我们可以看到缩放后的训练数据已经被缩放到了 [0,1] 的范围之内。