如何保存sklearn FeatureUnion?

2024-03-29 09:05:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用径向基函数功能进行强化学习,我决定使用sklearn生成这些功能,如下所示:

https://github.com/dennybritz/reinforcement-learning/blob/master/PolicyGradient/Continuous%20MountainCar%20Actor%20Critic%20Solution.ipynb

使用以下工具,我的工作进展顺利:

featurizer = sklearn.pipeline.FeatureUnion([
        ("rbf1", RBFSampler(gamma=5.0, n_components=50)),
        ("rbf2", RBFSampler(gamma=2.0, n_components=50)),
        ("rbf3", RBFSampler(gamma=1.0, n_components=50)),
        ("rbf4", RBFSampler(gamma=0.5, n_components=50))
        ])

featurizer.fit(scaler.transform(observation_examples))

def featurise_state(state):
    scaled = scaler.transform([state])
    featurised = featurizer.transform(scaled)
    return featurised[0]

问题是,我希望能够保存模型以供以后分析和使用,但我似乎无法确定如何保存和加载稍后使用的FeatureUnion/管道

有什么建议吗


Tags: 函数https功能componentstransformsklearnstategamma
1条回答
网友
1楼 · 发布于 2024-03-29 09:05:09

你可以用泡菜:

import pickle

# Save (serialize)
pickle.dump(featurizer, open( "featurizer.p", "wb" ) )

# Load
featurizer = pickle.load( open( "featurizer.p", "rb" ) )

使用dump将对象featurizer保存在二进制文件中。 然后您将能够使用load再次加载它

相关问题 更多 >