首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JCIM | 基于条件VAE的多目标分子优化

注释矩阵(×,为原子的数量,为原子类型的数量)中的每一行为原子的one-hot编码,邻接矩阵(×)则用于描述每一行和每一列对应的连接键。...MGCVAE 模型架构如图 2 所示,它会将分子图重构为初始图矩阵,并将条件向量一同输入编码器,编码器将其转换为潜在空间的向量。然后,潜在向量与条件向量经过解码器生成了新分子的初始图矩阵。...MGCVAE 模型的架构 数据集 该研究从 ZINC 数据库中选择了 1363452 个具有 16 个或更少原子(节点)的分子,如图 3所示。...它通过将多个目标属性分配给该模型中的条件向量,以此来控制这些目标属性,从而让模型生成了具有所需特性(ClogP 和 CMR)的分子。...将该模型的评估结果与 MGVAE 进行比较,当 ClogP 接近 3,CMR 接近 60 时, MGCVAE 生成了 32.78%的有效分子,而MGVAE 只生成了 9.01% 。

1K30

变分自编码器:金融间序的降维与指标构建(附代码)

使用变分自动编码器的降维 在本节中,我们将讨论: 创建几何移动平均数据集 使用随机模拟扩充数据 构建变分自动编码器模型 获取预测 ▍创建几何移动平均数据集 为了比较各种价格区间的时间序列,我们选择计算收益的几何移动平均时间序列...我们选择d=5,因为它代表了一周的交易日。 本文使用的数据集包含从2016年1月4日到2019年3月1日期间的423个几何移动平均时间序列。 类似于这样: ?...然后,刚刚构建的dataframe可以分为两个等长的时间段,仅在第一阶段内转置一个。第1阶段从2016年1月12日到2017年8月4日。第2阶段从2017年8月7日到2019年3月1日。...我们遵循以下步骤操作: 1、使用第一阶段dataframe,随机选择100只股票代码; 2、对于所选的每只股票代码,计算一个对数收益的向量,以便: ?...解码器模型具有: 一个二维输入向量(从潜在变量中采样) 一个长度为300的中间层,具有整流线性单元(ReLu)激活功能 具有S形激活函数的长度为388的解码向量。 ?

2.2K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Pandas高级数据处理:自定义函数

    在Pandas中,我们可以将自定义函数应用于DataFrame或Series对象,以实现更复杂的数据处理逻辑。例如,对某一列的数据进行特定格式的转换,或者根据多列数据计算出新的结果等。...问题描述当我们在自定义函数中引用外部变量时,可能会遇到作用域的问题。如果外部变量没有正确传递给自定义函数,就会导致报错或者结果不符合预期。2. 解决方案使用函数参数显式地将外部变量传递给自定义函数。...特别是当我们使用apply方法逐行或逐列应用自定义函数时,这种影响更加明显。2. 解决方案向量化操作:尽量利用Pandas提供的向量化操作来替代循环结构。...报错原因当我们尝试访问DataFrame或Series中不存在的列名或索引时,就会触发KeyError。这可能是由于拼写错误、数据结构不一致等原因造成的。2. 解决方法检查列名或索引是否正确。...报错原因ValueError通常发生在数据类型不匹配或者输入值不符合函数的要求时。例如,尝试将非数值类型的值传递给一个只能处理数值的函数。2. 解决方法在自定义函数中添加数据类型检查。

    10310

    小蛇学python(8)pandas库之DataFrame

    1.png 我们可以看到,姓名,薪酬,工作是作为列的,而自动生成的索引是作为行的。这是python中pandas约定俗称的格式。 我们可以对该表格,进行矩阵运算。比如矩阵转置。...比如当我们得到一大堆已经存储在数据库中数据,我们想对它进行索引。当我们不想使用默认的数字来当作索引时(比如上课老师点名,你觉得是点学号好,还是点姓名好呢?),我们可以通过转置来改变索引。...3.png 我们可以看到,在是否有女朋友那一栏全部自动生成了NaN, 表示这一列数据为空。这里我们也可以得到启发,就是表格的index(索引)也是可以改变的,不一定就非要是数字。比如。...5.png 可当我们把索引代码稍微改一下,程序就会报错。 frame = frame.iloc[2:3, '是否有女朋友'] ? 6.png 这是因为我的行索引为数字,而列索引是字符串导致的。...其实我对它的最大感悟就是,它使得我在for循环时解决索引溢出问题方便多了。 表格也可以进行广播操作。

    1.1K20

    Pandas图鉴(三):DataFrames

    如果简单地在Jupyter单元中写df的结果恰好太长(或太不完整),可以尝试以下方法: df.head(5) 或 df[:5] 显示前五行。 df.dtypes返回列的类型。...下一个选择是用NumPy向量的dict或二维NumPy数组构造一个DataFrame: 请注意第二种情况下,人口值是如何被转换为浮点数的。实际上,这发生在构建NumPy数组的早期。...DataFrame有两种可供选择的索引模式:loc用于通过标签进行索引,iloc用于通过位置索引进行索引。 在Pandas中,引用多行/列是一种复制,而不是一种视图。...,你必须使用方法而不是运算符,你可以看到如下: 由于这个有问题的决定,每当你需要在DataFrame和类似列的Series之间进行混合操作时,你必须在文档中查找它(或记住它): add, sub,...它首先丢弃在索引中的内容;然后它进行连接;最后,它将结果从0到n-1重新编号。

    44420

    高逼格使用Pandas加速代码,向for循环说拜拜!

    Pandas是为一次性处理整个行或列的矢量化操作而设计的,循环遍历每个单元格、行或列并不是它的设计用途。所以,在使用Pandas时,你应该考虑高度可并行化的矩阵运算。...在上面的代码中,我们创建了一个基本函数,它使用If-Else语句根据花瓣的长度选择花的类。我们编写了一个for循环,通过循环dataframe对每一行应用函数,然后测量循环的总时间。...在上一节中编写for循环时,我们使用了 range() 函数。然而,当我们在Python中对大范围的值进行循环时,生成器往往要快得多。...请始终记住,当使用为向量操作设计的库时,可能有一种方法可以在完全没有for循环的情况下最高效地完成任务。 为我们提供此功能的Pandas功能是 .apply() 函数。...apply()函数接受另一个函数作为输入,并沿着DataFrame的轴(行、列等)应用它。在传递函数的这种情况下,lambda通常可以方便地将所有内容打包在一起。

    5.5K21

    20个能够有效提高 Pandas数据分析效率的常用函数,附带解释和例子

    Insert 当我们想要在 dataframe 里增加一列数据时,默认添加在最后。当我们需要添加在任意位置,则可以使用 insert 函数。...Sample Sample方法允许我们从DataFrame中随机选择数据。当我们想从一个分布中选择一个随机样本时,这个函数很有用。...因此,行标签是从0开始向上的整数。与iloc一起使用的行位置也是从0开始的整数。 下述代码实现选择前三行前两列的数据(iloc方式): df.iloc[:3,:2] ?...infer_objects尝试为对象列推断更好的数据类型。考虑以下数据: ?...Replace 顾名思义,它允许替换dataframe中的值。第一个参数是要替换的值,第二个参数是新值。 df.replace('A', 'A_1') ? 我们也可以在同一个字典中多次替换。

    5.7K30

    python数据科学系列:pandas入门详细教程

    自带正则表达式的字符串向量化操作,对pandas中的一列字符串进行通函数操作,而且自带正则表达式的大部分接口 丰富的时间序列向量化处理接口 常用的数据分析与统计功能,包括基本统计量、分组统计分析等 集成...正因如此,可以从两个角度理解series和dataframe: series和dataframe分别是一维和二维数组,因为是数组,所以numpy中关于数组的用法基本可以直接应用到这两个数据结构,包括数据创建...自然毫无悬念 dataframe:无法访问单个元素,只能返回一列、多列或多行:单值或多值(多个列名组成的列表)访问时按列进行查询,单值访问不存在列名歧义时还可直接用属性符号" ....尤为强大的是,除了常用的字符串操作方法,str属性接口中还集成了正则表达式的大部分功能,这使得pandas在处理字符串列时,兼具高效和强力。例如如下代码可用于统计每个句子中单词的个数 ?...pandas集成了matplotlib中的常用可视化图形接口,可通过series和dataframe两种数据结构面向对象的接口方式简单调用。

    14.9K20

    MolFlow: 高效3D分子生成方法

    训练模型vθt (xt )来回归向量场,而其他公式则训练模型以估计分布pθ1∣t(·∣xt),该分布从噪声数据中重建干净数据。...然而,与之前的分子生成模型不同,Semla并不区分分子坐标和等变特征向量,而是将它们视为单一的可学习表示(称之为坐标集)。坐标集类似于其他等变架构中的3D几何等变向量集。...作者假设这允许坐标集学习不同长度尺度的等变特征,从而帮助克服不同大小的分子被归一化为相同平均向量范数的问题。 尺度最优传输 对于分子分布,原子坐标与分子中心之间的平均长度随着原子数量N增加。...在聚合物理论中,已证明自排斥聚合物链中的原子坐标标准偏差随√N缩放,这被称为Flory半径。然而,分子生成模型通常从单位高斯分布中采样坐标噪声,这并不能反映分子大小的差异。...与之相反,作者从方差依赖于N的高斯分布中采样,其中N是x1中的原子数量。

    13210

    IEEE Trans 2006 使用K-SVD构造超完备字典以进行稀疏表示(稀疏分解)

    第二步根据得到的系数矩阵和观测向量来不断更新字典。 设D∈R n×K,包含了K个信号原子列向量的原型{dj}j=1K,y∈R n的信号可以表示成为这些原子的稀疏线性结合。...第Ⅲ部分讲解的是初始字典的选择。给定集合 ? 存在字典D,对于每一个yk,通过求解公式(1)中的问题,我们能得到它的稀疏表示xk。 A K-means泛化 稀疏表示和聚类(向量量化)有相似之处。...其中xi=ei,选择第j个索引时,只有第j项非零,其他项都为0,第j个索引的选择表示如下: ? 是在极端情况下的选择表示,即yi仅有一个原子表示,并且原子所对应的系数为1。yi的均方误差定义为 ?...在字典的更新中,每次迭代过程中只更新矩阵的一列。基本思想是固定其他所有列的值不变,除了当前要更新的列dk,找到一个新列dk~使得它的系数式MSE最小。第三部分中所描述的方法保持X不变以此来更新D。...D 从K-SVD回到K-means 当T0=1时,回到了gain-shape VQ的情况,K-SVD变成了代码本训练的问题。当T0=1时,矩阵X每列只有一个非零项,则式(23)中 ?

    2.7K91

    基于Spark的机器学习实践 (八) - 分类算法

    在内部,它使用OWLQN优化器优化铰链损耗 代码 iris数据集特征三列,所以报错 只是用2列 计算结果 5 决策树算法 5.1 决策树介绍 ◆ 决策树因其进行决策判断的结构与数据结构中的树相同...例如,DataFrame可以具有存储文本,特征向量,真实标签和预测的不同列. 它较之 RDD,包含了 schema 信息,更类似传统数据库中的二维表格。它被 ML Pipeline 用来存储源数据。...DataFrame 可以被用来保存各种类型的数据,如我们可以把特征向量存储在 DataFrame 的一列中,这样用起来是非常方便的。...这些阶段按顺序运行,输入DataFrame在通过每个阶段时进行转换。 对于Transformer阶段,在DataFrame上调用transform()方法。...HashingTF.transform()方法将单词列转换为要素向量,将包含这些向量的新列添加到DataFrame。

    1.1K20

    基于Spark的机器学习实践 (八) - 分类算法

    在内部,它使用OWLQN优化器优化铰链损耗 [1240] 代码 [1240] iris数据集特征三列,所以报错 [1240] 只是用2列 [1240] 计算结果 [1240] 5 决策树算法 5.1 决策树介绍...例如,DataFrame可以具有存储文本,特征向量,真实标签和预测的不同列. 它较之 RDD,包含了 schema 信息,更类似传统数据库中的二维表格。它被 ML Pipeline 用来存储源数据。...DataFrame 可以被用来保存各种类型的数据,如我们可以把特征向量存储在 DataFrame 的一列中,这样用起来是非常方便的。...这些阶段按顺序运行,输入DataFrame在通过每个阶段时进行转换。 对于Transformer阶段,在DataFrame上调用transform()方法。...HashingTF.transform()方法将单词列转换为要素向量,将包含这些向量的新列添加到DataFrame。

    1.8K31

    盘一盘 Python 系列 4 - Pandas (下)

    列索引 = [行业, 价格, 交易量],名称是特征 stack: 列索引 → 行索引 列索引 (特征) 变成了行索引,原来的 DataFrame df 变成了两层 Series (第一层索引是代号,第二层索引是特征...unstack: 行索引 → 列索引 行索引 (代号) 变成了列索引,原来的 DataFrame df 也变成了两层 Series (第一层索引是特征,第二层索引是代号)。...c2i_Series.unstack() c2i_Series 的最后一层 (看上面它的 MultiIndex) 就是 [行业, 价格, 交易量],从行索引转成列索引得到上面的 DataFrame。...基于层来 unstack() 时,选择第一层 (参数放 0) c2i_Series.unstack(0) c2i_Series 的第一层 (看上面它的 MultiIndex) 就是 [JD, AAPL...从长到宽 (pivot) 当我们做数据分析时,只关注不同股票在不同日期下的 Adj Close,那么可用 pivot 函数可将原始 data「透视」成一个新的 DataFrame,起名 close_price

    4.8K40

    三个你应该注意的错误

    在Pandas的DataFrame上进行索引非常有用,主要用于获取和设置数据的子集。 我们可以使用行和列标签以及它们的索引值来访问特定的行和标签集。 考虑我们之前示例中的促销DataFrame。...因此,我们尝试更新的值可能会更新,也可能不会更新。 进行此操作的更好(且有保证的)方法是使用loc方法,它保证直接在DataFrame上执行操作。...这些方法用于从DataFrame中选择子集。 loc:按行和列的标签进行选择 iloc:按行和列的位置进行选择 默认情况下,Pandas将整数值(从0开始)分配为行标签。...让我们在我们的促销DataFrame上做一个简单的示例。虽然它很小,但足够演示我即将解释的问题。 考虑一个需要选择前4行的情况。...当我们使用loc方法时,我们多了一行。 原因是使用loc方法时,上限是包含的,因此最后一行(具有标签4的行)被包括在内。 当使用iloc方法时,上限是不包含的,因此索引为4的行不包括在内。

    9110

    pandas | 使用pandas进行数据处理——DataFrame篇

    我们创建了一个dict,它的key是列名,value是一个list,当我们将这个dict传入DataFrame的构造函数的时候,它将会以key作为列名,value作为对应的值为我们创建一个DataFrame...当我们在jupyter输出的时候,它会自动为我们将DataFrame中的内容以表格的形式展现。...如果是一些比较特殊格式的,也没有关系,我们使用read_table,它可以从各种文本文件中读取数据,通过传入分隔符等参数完成创建。...对于数据量很大的DataFrame,我们一般不会直接这样输出展示,而是会选择展示其中的前几条或者是后几条数据。这里就需要用到两个api。...通过它我们可以查看DataFrame最后指定条数的数据: ? 列的增删改查 前面我们曾经提到过,对于DataFrame而言,它其实相当于Series组合成的dict。

    3.5K10

    Pandas 的Merge函数详解

    在日常工作中,我们可能会从多个数据集中获取数据,并且希望合并两个或多个不同的数据集。这时就可以使用Pandas包中的Merge函数。...pd.merge(customer, order) 默认情况下,merge函数是这样工作的: 将按列合并,并尝试从两个数据集中找到公共列,使用来自两个DataFrame(内连接)的列值之间的交集。...当我们按索引和列合并时,DataFrame结果将由于合并(匹配的索引)会增加一个额外的列。 合并类型介绍 默认情况下,当我们合并数据集时,merge函数将执行Inner Join。...在Inner Join中,根据键之间的交集选择行。匹配在两个键列或索引中找到的相同值。...默认情况下它查找最接近匹配的已排序的键。在上面的代码中,与delivery_date不完全匹配的order_date试图在delivery_date列中找到与order_date值较小或相等的键。

    32330

    基于Spark的机器学习实践 (二) - 初识MLlib

    从较高的层面来说,它提供了以下工具: ML算法:常见的学习算法,如分类,回归,聚类和协同过滤 特征化:特征提取,转换,降维和选择 管道:用于构建,评估和调整ML管道的工具 持久性:保存和加载算法,模型和管道...公告:基于DataFrame的API是主要的API 基于MLlib RDD的API现在处于维护模式。 从Spark 2.0开始,spark.mllib包中基于RDD的API已进入维护模式。...MLlib支持密集矩阵,其入口值以列主序列存储在单个双阵列中,稀疏矩阵的非零入口值以列主要顺序存储在压缩稀疏列(CSC)格式中 与向量相似,本地矩阵类型为Matrix , 分为稠密与稀疏两种类型。...分布式矩阵具有长类型的行和列索引和双类型值,分布式存储在一个或多个RDD中。选择正确的格式来存储大型和分布式矩阵是非常重要的。将分布式矩阵转换为不同的格式可能需要全局shuffle,这是相当昂贵的。...RowMatrix是没有有意义的行索引的行向分布式矩阵,例如特征向量的集合。它由其行的RDD支持,其中每行是局部向量。

    2.8K20

    基于Spark的机器学习实践 (二) - 初识MLlib

    从较高的层面来说,它提供了以下工具: ML算法:常见的学习算法,如分类,回归,聚类和协同过滤 特征化:特征提取,转换,降维和选择 管道:用于构建,评估和调整ML管道的工具 持久性:保存和加载算法,模型和管道...公告:基于DataFrame的API是主要的API 基于MLlib RDD的API现在处于维护模式。 从Spark 2.0开始,spark.mllib包中基于RDD的API已进入维护模式。...MLlib支持密集矩阵,其入口值以列主序列存储在单个双阵列中,稀疏矩阵的非零入口值以列主要顺序存储在压缩稀疏列(CSC)格式中 与向量相似,本地矩阵类型为Matrix , 分为稠密与稀疏两种类型。...分布式矩阵具有长类型的行和列索引和双类型值,分布式存储在一个或多个RDD中。选择正确的格式来存储大型和分布式矩阵是非常重要的。将分布式矩阵转换为不同的格式可能需要全局shuffle,这是相当昂贵的。...RowMatrix是没有有意义的行索引的行向分布式矩阵,例如特征向量的集合。它由其行的RDD支持,其中每行是局部向量。

    3.5K40

    解决AttributeError: DataFrame object has no attribute tolist

    这个错误通常出现在我们尝试将DataFrame对象转换为列表(list)时。...因为DataFrame是Pandas库中的一个二维数据结构,它的数据类型和操作方法与列表不同,所以没有直接的​​.tolist()​​方法。 在下面的文章中,我们将讨论如何解决这个错误。...但是,当我们运行这段代码时,会抛出​​AttributeError: 'DataFrame' object has no attribute 'tolist'​​的错误。...当我们在进行数据分析时,有时候需要将Pandas的DataFrame对象转换为列表以进行后续处理。...在Pandas中,DataFrame是一个二维数据结构,可以类比为电子表格或数据库中的表格数据。它由一列或多列不同数据类型的数据组成,并且具有索引和列标签。 ​​​

    1.3K30
    领券