小编tel*_*tel的帖子

如何正确使用scikit-learn的高斯过程进行2D输入,1D输出回归?

在发布之前我做了很多搜索,发现这个问题可能正是我的问题.但是,我尝试了答案中提出的建议,但不幸的是,这并没有解决它,我无法添加评论以请求进一步解释,因为我是这里的新成员.

无论如何,我想在Python中使用带有scikit-learn的高斯过程来开始一个简单但真实的案例(使用scikit-learn文档中提供的示例).我有一个名为X的2D输入集(8对2个参数).我有8个相应的输出,聚集在1D阵列y中.

#  Inputs: 8 points 
X = np.array([[p1, q1],[p2, q2],[p3, q3],[p4, q4],[p5, q5],[p6, q6],[p7, q7],[p8, q8]])

# Observations: 8 couples
y = np.array([r1,r2,r3,r4,r5,r6,r7,r8])
Run Code Online (Sandbox Code Playgroud)

我定义了一个输入测试空间x:

# Input space
x1 = np.linspace(x1min, x1max) #p
x2 = np.linspace(x2min, x2max) #q
x = (np.array([x1, x2])).T
Run Code Online (Sandbox Code Playgroud)

然后我实例化GP模型,使其适合我的训练数据(X,y),并在我的输入空间x上进行1D预测y_pred:

from sklearn.gaussian_process import GaussianProcessRegressor
from sklearn.gaussian_process.kernels import RBF, ConstantKernel as C

kernel = C(1.0, (1e-3, 1e3)) * RBF([5,5], (1e-2, 1e2))
gp = GaussianProcessRegressor(kernel=kernel, …
Run Code Online (Sandbox Code Playgroud)

python regression gaussian

22
推荐指数
2
解决办法
6787
查看次数

如何在Android设备上安装Jupyter笔记本?

有没有办法在Android设备上安装Jupyter笔记本的功能实例?具体来说,我想使用Jupyter来运行Python笔记本.

python android jupyter termux

21
推荐指数
3
解决办法
4万
查看次数

Walter Bright使用"冗余"这个词......或者"哎呀这意味着什么?"

所以我正在阅读Walter Bright关于Bitwise D语言的采访(http://www.bitwisemag.com/copy/programming/d/interview/d_programming_language.html),我看到了这个非常有趣的关于语言的引用解析:

然而,从理论角度来看,能够生成良好的诊断要求语法中存在冗余.冗余用于猜测预期的内容,冗余越多,猜测的可能性就越大.它就像英语一样 - 如果我们偶尔拼写错误,或者如果一个单词缺失,冗余使我们能够正确地猜出其含义.如果语言中没有冗余,则任何随机字符序列都是有效的程序.

而现在我正试图弄清楚当他说"冗余"时他意味着什么.

我几乎无法绕过最后一部分,在那里他提到可以使用一种语言,其中"任何随机的字符序列都是有效的程序".我被告知有三种错误:句法,运行时和语义.是否存在唯一可能的错误是语义的语言?这样的集会吗?机器代码怎么样?

error-handling parsing programming-languages d semantics

16
推荐指数
5
解决办法
770
查看次数

用于将网格放置在无序点集上的算法

给定一组大的(数万到数百万)无序点表示为3D笛卡尔向量,用于制作包含所有点的常规方形网格(用户定义的间距)的好算法是什么?一些限制:

  1. 网格需要是正方形和规则的
  2. 我需要能够调整网格间距(其中一个方格的边长),理想情况下是单个变量
  3. 我想要一个最小尺寸的网格,即网格中的每个"块"应至少包含一个无序点,并且每个无序点都应包含在"块"中
  4. 算法的返回值应该是网格点的坐标列表

为了说明2D,给出了这一点:

一套点

对于某些网格间距X,算法的一个可能的返回值将是这些红点的坐标(虚线仅用于说明目的):

网格间距x

对于网格间距X/2,算法的一个可能的返回值是这些红点的坐标(虚线仅用于说明目的):

网格间距x/2

对于任何感兴趣的人来说,我正在使用的无序点是大蛋白分子的原子坐标,就像你可以从.pdb文件中得到的那样.

Python是解决方案的首选,尽管伪代码也很好.

编辑:我认为我对我所需要的第一次描述可能有点模糊,所以我添加了一些约束和图像以澄清事情.

python algorithm vector bioinformatics cartesian

9
推荐指数
2
解决办法
2677
查看次数

解析一行(混淆?)Python

我正在阅读关于Stack Overflow(Python的禅宗)的另一个问题,我在Jaime Soriano的答案中遇到了这一行:

import this
"".join([c in this.d and this.d[c] or c for c in this.s])
Run Code Online (Sandbox Code Playgroud)

在Python shell中输入以上内容:

"The Zen of Python, by Tim Peters\n\nBeautiful is better than ugly.\nExplicit is
better than implicit.\nSimple is better than complex.\nComplex is better than 
complicated.\nFlat is better than nested.\nSparse is better than dense.
\nReadability counts.\nSpecial cases aren't special enough to break the rules.
\nAlthough practicality beats purity.\nErrors should never pass silently.
\nUnless explicitly silenced.\nIn the face of ambiguity, refuse the temptation to …
Run Code Online (Sandbox Code Playgroud)

python obfuscation execution control-flow

8
推荐指数
1
解决办法
890
查看次数

AttributeError:type object'numpy.ndarray'没有属性'__array_function__'

我将numpy升级到最新版本,现在我在导入numpy时遇到以下错误:

AttributeError:类型对象'numpy.ndarray'没有属性' array_function '

我正在使用numpy版本1.16.

python numpy python-3.x

8
推荐指数
2
解决办法
6028
查看次数

Python的`unittest`缺少`assertHasAttr`方法,我应该使用什么呢?

在许多许多断言方法的Python的标准unittest包装,.assertHasAttr()是好奇地缺席.在编写一些单元测试时,我遇到了一个案例,我想测试对象实例中是否存在属性.

丢失.assertHasAttr()方法的安全/正确替代方法是什么?

python unit-testing assert assertion python-unittest

7
推荐指数
2
解决办法
719
查看次数

Python中类似Excel的文本导入:自动解析固定宽度列

在Excel中,如果导入空格描述的文本,其中列不完美排列且数据可能丢失,例如

  pH             pKa/Em  n(slope) 1000*chi2      vdw0  
CYS-I0014_        >14.0                          0.00  
LYS+I0013_       11.827     0.781     0.440      0.18
Run Code Online (Sandbox Code Playgroud)

您可以选择将其视为固定宽度列,Excel可以自动计算出列宽,通常效果非常好.Python中是否有一个库可以以类似的自动方式分解格式不正确的固定宽度文本?

编辑: 这是固定宽度文本导入在Excel中的样子.在第一步中,您只需选中"固定宽度"单选按钮,然后在第二步中Excel已自动添加了分栏符.唯一不能正确执行的是当每行中的每个列中没有至少一个空格字符重叠时.

在Excel中导入固定宽度的文本

python excel parsing text fixed-width

6
推荐指数
1
解决办法
2484
查看次数

如何在Cython包装器中保留复杂的C++命名空间?

我正在为复杂的C++库编写Cython包装器.我想我大部分都想出了如何编写必要的.pxd和.pyx文件.我现在的问题是,尽管我的C++程序有大约100个单独的命名空间,但Cython编译的python库的命名空间完全是平的.

例如,如果我在.pxd文件中有这个:

cdef extern from "lm/io/hdf5/SimulationFile.h" namespace "lm::io::hdf5":
    cdef cppclass CppHdf5File "lm::io::hdf5::Hdf5File":
        ...
Run Code Online (Sandbox Code Playgroud)

这在我的.pyx文件中:

cdef class Hdf5File:
    cdef CppHdf5File* thisptr 
    ...
Run Code Online (Sandbox Code Playgroud)

然后Cython编译的Python库包含一个名为Hdf5File的类.理想情况下,我希望Python包含一个lm.io.hdf5.Hdf5File类(即lm.io.hdf5模块中的Hdf5File类).换句话说,如果有办法将C++ :: scoping运算符转换为Python,我会喜欢它.点运算符.

有没有办法让Cython与我现有的C++命名空间很好地配合?

c++ python namespaces wrapper cython

6
推荐指数
1
解决办法
624
查看次数

如何在不制作任何中间副本的情况下将多维h5py数据集复制到平面1D Python列表?

这个问题

如何将N x N x N x...h5py数据集中的数据复制到一维标准Python列表而不制作数据的中间副本?

我可以想到使用中间副本执行此操作的几种不同方法.例如:

import h5py
import numpy as np

# initialize list, put some initial data in it
myList = ['foo']

# open up an h5py dataset from a file on disk
myFile = h5py.File('/path-to-my-data', 'r')
myData = myFile['bar']
myData.shape        # returns, for example, (5,15,7)

# copy dataset over to a numpy array
arr = np.zeros(myData.shape)
myData.read_direct(arr)

# finally, add data from copied dataset to myList
myList.extend(arr.flatten())
Run Code Online (Sandbox Code Playgroud)

这可以在没有中间副本到numpy数组的情况下完成吗?

一些背景

(除非你很好奇,否则你绝对不必读这个)

我正在尝试通过他们的Python API将数据从HDF5文件复制到Protocol Buffers文件.这些都是用于编写自己的复杂可序列化数据结构的库/框架.就他们的Python …

python numpy hdf5 protocol-buffers h5py

5
推荐指数
1
解决办法
824
查看次数