作为python工具箱的计算实验设计与分析。

pydace的Python项目详细描述


说明

本项目改编自汉斯·布鲁恩·尼尔森、S_ren Nymand和Lophaven Jacob S_ndergaard的作品。

注释

这是一个非常依赖线性代数解算器的实现(最小二乘解算器、Cholesky和QR 分解等)因此,强烈建议您的numpy库集成到 BLAS library(例如:英特尔MKL、OpenBLAS、ATLAS等) 以达到满意的计算性能。

为了方便起见,Anaconda处理了如何将numpy与那些库结合起来的细节

安装

通过pypi存储库安装:

pip install pydace

通过conda安装

conda install -c felipes21 pydace

用法

DACE模型示例

importnumpyasnpimportscipy.ioassiofrompydaceimportDaceimportmatplotlib.pyplotasplt# Load the training and validation data. (Here we are using a file from the# github repo located in the folder pydace\tests with the name # 'doe_final_infill_mat'mat_contents=sio.loadmat('doe_final_infill.mat')design_data=mat_contents['MV']# design sitesobserved_data=mat_contents['CV']# experiment results# define the hyperparameters bounds and initial estimatetheta0=1*np.ones((design_data.shape[1],))lob=1e-5*np.ones(theta0.shape)upb=1e5*np.ones(theta0.shape)# select the training and validation datadesign_val=design_data[:99,:]observed_val=observed_data[:99,:]design_train=design_data[100:,:]observed_train=observed_data[100:,:]# build the univariate kriging models with a first order polynomial # regression and a gaussian regression modelobserved_prediction=np.empty(observed_val.shape)forjinnp.arange(design_data.shape[1]):# initialize the dace objectdace_obj=Dace('poly1','corrgauss',optimizer='boxmin')# fit the training data using the default hyperparameter optimizerdace_obj.fit(design_train,observed_train[:,j],theta0,lob,upb)# predict the validation dataobserved_prediction[:,[j]],*_=dace_obj.predict(design_val)# labels for the observed datavar_labels=['L/F','V/F','xD','xB','J','QR']# plot the validation dataforvarinnp.arange(design_data.shape[1]):plt.figure(var+1)plt.plot(observed_val[:,var],observed_prediction[:,var],'b+')plt.xlabel(var_labels[var]+' - Observed')plt.ylabel(var_labels[var]+' - Kriging Prediction')plt.show()

实验数据生成设计示例

利用拉丁超立方体的变异减少技术也可以生成实验数据的设计 已在此工具箱中实现的采样(lhs)。

假设我们有一个4维问题(即4个设计/输入变量)。它们由以下界限定义。

Variables to sample

如果我们想在这些边界内建立一个拉丁超立方体,我们将执行以下操作:

importnumpyasnpfrompydace.aux_functionsimportlhsdesignlb=np.array([8.5,0.,102.,0.])ub=np.array([20.,100.,400.,400.])lhs=lhsdesign(53,lb,ub,include_vertices=False)

与我联系/交谈

我的电子邮件是felipe.lima@eq.ufcg.edu.br。随时都可以联系我,如果我懒的话就唠叨我。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
多线程线程在java中初始化为null   web应用程序的java功能,用于处理用户从SFTP服务器下载文件的请求   连接如何在Java中连接两个字符串数组   java如何正确使用Actionlistener事件的输入   [JPA][JBoss7.1]Java为两个带有JPA注释的表扩展了class 2 Id   在java中计算十进制值时遇到问题   java自动生成的捆绑包文件不是在使用I18N4Vaadin的Vaadin项目中创建的   java Spring控制器向ajax请求返回视图或空字符串   java扫描器在我的机器上不工作   java如何获取应用程序二进制文件的路径?   javac:输出值行为   如何在没有身份验证的情况下使用Google电子表格API Java库获取公共Google电子表格数据   java管理多个传出TCP连接   java无法为安卓:onClick执行方法。添加到数据库   JAVA文件中的ubuntu JFlex编译错误   java是执行各种字符串操作的有效方法   java发送文件和json Spring引导和角度   REST+DAO对象的java Mockito   java SocketException:两个客户端并行运行时连接重置