API 参考

Surrogate API

Surrogate API ​

UQPyL.surrogate ​

surrogate 模块训练用于昂贵仿真、目标函数或中间响应面的预测模型。

导入 ​

python
from UQPyL.surrogate.rbf import RBF
from UQPyL.surrogate.gp import GPR
from UQPyL.surrogate.kriging import KRG
from UQPyL.surrogate import MinMaxScaler, StandardScaler, KFold, AutoTuner

公共对象 ​

类别对象
基础接口SurrogateABC, MultiSurrogate
RBFRBF, Cubic, Linear, Multiquadric, ThinPlateSpline, Gaussian
Gaussian processGPR
KrigingKRG
RegressionLinearRegression, PolynomialRegression
Optional modelsMARS, SVR
ScalersScaler, MinMaxScaler, StandardScaler
SplittingKFold, RandSelect
Metricsr_square, nse, mse, rank_score, sort_score
TuningAutoTuner

MARS 和 SVR 可能依赖可选编译依赖,未安装时不可用。

通用拟合和预测 ​

text
model.fit(xTrain, yTrain)
yPred = model.predict(xPred)
调用返回
model.predict(X)预测均值。
model.predict(X, returnStd=True)(mean, std),仅支持 uncertainty 的模型。
model.predict(X, returnVar=True)(mean, var),仅支持 uncertainty 的模型。

当前通常用 GPR 或 KRG 获取 uncertainty 输出。

模型 ​

模型主要参数说明
RBFkernel, C_smooth, scalers, polyFeatureRBF 响应面模型。
GPRkernel, optimizer, nRestartTimes, CGaussian process regression,支持 uncertainty。
KRGkernel, regression, optimizer, nRestartTimesKriging 模型,支持 uncertainty。
LinearRegressionlossType, fitIntercept, C线性/岭/Lasso 回归。
PolynomialRegressiondegree, onlyInteraction, lossType多项式回归。
MARSmax_terms, max_degree, penaltyMARS,可选依赖。
SVRsymbol, kernel, C, epsilon, gammaSupport vector regression,可选依赖。

Scaler 和特征 ​

对象含义
MinMaxScaler(min_=0, max_=1)将每个特征映射到指定范围。
StandardScaler(muX=0, sitaX=1)标准化到指定均值和标准差尺度。
PolyFeature(degree=2, includeBias=False, onlyInteraction=False)多项式特征扩展。

Scaler 方法:

方法含义
fit(trainX)拟合统计量。
transform(trainX)转换数据。
fit_transform(trainX)拟合并转换。
inverse_transform(trainX)逆变换。

切分和指标 ​

对象或函数含义
KFold(n_splits=5)K 折索引切分。
RandSelect(pTest=5)随机 train/test 切分,pTest 是测试集百分比。
r_square(true_Y, pre_Y)R-squared。
nse(true_Y, pre_Y)Nash-Sutcliffe efficiency。
mse(true_Y, pre_Y)Mean squared error。
rank_score(true_Y, pre_Y)排序一致性指标。
sort_score(true_Y, pre_Y)排序索引距离。

AutoTuner ​

text
AutoTuner(model, optimizer=None)
方法含义
gridTune(xData, yData, paraGrid=None, ratio=10, owner=None, tuneMode="separate")显式网格搜索参数。
optTune(xData, yData, paraList=None, ratio=10, owner=None, tuneMode="separate")使用优化器搜索参数。

调参后,AutoTuner 会把最优参数应用到模型,并用全量数据重新拟合。

下一步 ​

目标阅读
用户指南Surrogate Modeling
训练数据采样DOE API
代理辅助优化Optimization API