如何查看SymbolicTransformer生成的新特征的公式
时间: 2024-06-11 09:05:23 浏览: 131
基于符号回归(遗传算法)的特征生成原理及代码
SymbolicTransformer生成的新特征的公式可以通过访问属性"transformer_.expression_"来查看。具体步骤如下:
1. 导入所需库和数据
```python
from sklearn.datasets import load_boston
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import Pipeline
from gplearn.genetic import SymbolicTransformer
# 加载数据
boston = load_boston()
X, y = boston.data, boston.target
# 定义列变换器
preprocess = ColumnTransformer(
transformers=[
('num', StandardScaler(), list(range(13)))
]
)
```
2. 定义SymbolicTransformer模型
```python
# 定义SymbolicTransformer模型
gp = SymbolicTransformer(generations=20, population_size=2000,
hall_of_fame=100, n_components=10,
function_set=('add', 'sub', 'mul', 'div', 'sqrt', 'log', 'abs', 'neg', 'inv', 'max', 'min'),
parsimony_coefficient=0.0005, random_state=0,
verbose=1)
```
3. 构建Pipeline
```python
# 构建Pipeline
pipeline = Pipeline([
('preprocess', preprocess),
('gp', gp)
])
```
4. 训练模型
```python
# 训练模型
pipeline.fit(X, y)
```
5. 查看新特征的公式
```python
# 查看新特征的公式
print(pipeline.named_steps['gp'].transformer_.expression_)
```
输出结果将显示生成的新特征的公式。
阅读全文