问题标签 [gplearn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
876 浏览

python - 如何将 gplearn 的输出导出为 sympy 表达式或其他可读格式?

尽管这听起来像是一项简单的任务,但通过文档我还没有遇到过这样做的方法。

运行任意例程后(例如这些示例之一,我得到类似

我如何(或者我什至可以)将其转换为可以在外部使用gplearn的表达式,例如sympy表达式?

0 投票
0 回答
477 浏览

python - 用于从给定数据集生成新数据行的 gplearn 库

我正在使用 gplearn 库(遗传编程)从给定的数据集生成新规则。目前,我有 11 行数据和 24 列(特征),我将它们作为 SymbolicRegressor 方法的输入来获取新规则。但是,我只得到一个规则。一般来说,如果我提供 11 行数据作为输入,我不应该得到 11 条新规则。如果我做错了,那么正确的做法是什么?

输出是:

X7/(X15*(-X16*X20 - X19 + X2))

0 投票
2 回答
264 浏览

python-3.x - symbolicRegressor 的 Y_train 值

我将我的数据集拆分为X_train、和Y_train,然后我使用了 symbolicRegressor ...X_testY_test

我已经将 Dataframe 中的字符串值转换为浮点值。但是通过应用symbolicRegressor我得到这个错误:

ValueError:无法将字符串转换为浮点数:'d'

其中“d”是来自 Y 的值。

由于我在Y_train和中的所有值Y_test都是字母字符,因为它们是“标签”,所以我不明白为什么要symbolicRegressor尝试获取浮点数..

任何的想法?

0 投票
1 回答
226 浏览

python - 安装 gplearn

我尝试安装 GPLearn 以在 Python 中运行。

我使用 pip 通过以下命令安装 GPLearn:

一切似乎都很好

在VS2019中启动一个新的python项目并运行代码时

这给出了错误 No module named 'gplearn'。

用 Scikit-learn 尝试了完全相同的方法,效果很好。

0 投票
0 回答
73 浏览

python - SymbolicTransformer 生成的新特征不符合规则?

我有相同的功能。我将它们放入 SymbolicTransformer,适合。这是 fit 的结果:

[sqrt(X145), log(div(add(div(div(X270, X568), sub(X177, X147)), 否定(sqrt(X3)))), sqrt(div(log(X240), sub(X32) ,X481))))),blablabla ...]

X145之列:

在此处输入图像描述

变换后,从 sqrt(X145) 生成的新特征的列(新特征的第一列)为:

在此处输入图像描述

我想列 sqrt(X145) 是:

[sqrt(0),sqrt(5),sqrt(2),sqrt(10),sqrt(15)]

显然,我对 SymbolicTransformer 关于生成特征有一些误解。如果我错了,请纠正我。

0 投票
1 回答
93 浏览

feature-engineering - 如何保证 gplearn 的 SymbolicTransformer 的 _best_programs 的输出不同?

我正在使用 gplearn 的 SymbolicTransformer 来生成一些自动化特征。问题是,当我在拟合后通过查看 _best_programs 来检查特征的表达时,我发现大多数特征都有相同的表达。我想知道是否有办法确保我们在拟合后使用 SymbolicTransformer 输出不同的特征?

0 投票
1 回答
72 浏览

real-time - 遗传编程、在线学习、gplearn

我最近发现了全科医生,发现它很吸引人。显式学习数学表达式与隐式学习神经网络完全不同!我对 GP 如何与在线学习一起工作很感兴趣,我想因为有一个进化过程,所以在线学习感觉很自然。但是,我不确定我是否完全掌握了所有细节,这让我怀疑我的直觉是否正确。所以,我认为如果一次输入一个数据点,算法应该更新数学表达式,也许一次几个数据点可能会产生更好的结果。我认为 max_samples 参数gplearn允许我指定一次查看的数据点百分比,但是所有数据点都必须可用吗?如果所有数据点都不可用怎么办?下面的循环会做什么?

每次运行 est_gp.fit 时,该方法都会遍历 N 个可能的函数并在每一代期间修改函数。但是,如果它对一个数据点这样做,当引入一个新的数据点时,它是否会从之前的数据点中取出获胜模型并将其投入到新的群体中?

(注意:在GitHub 上提出了相同的问题)。

0 投票
2 回答
131 浏览

genetic-algorithm - 如何为符号回归选择特征

如何为符号回归选择特征?我有 30 个特征,我只想对符号回归使用最敏感的特征。

例如,可以使用这个数据集,它类似于我的数据集。https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_boston.html