将python字符串转换为sklearn分类器对象

时间:2018-05-16 14:09:44

标签: python scikit-learn

如果我有一个字符串:

"ExtraTreesClassifier(bootstrap=False, class_weight=None, max_depth=None, max_features=11, min_samples_leaf=2, min_samples_split=8, n_estimators=20, criterion="gini", n_jobs=4, random_state=12)"

将它转换为sklearn分类器的最佳方法是什么,以便我可以将数据集放入其中?

期望的输出:

<class 'sklearn.ensemble.forest.ExtraTreesClassifier'>

修改

在我的情况下,字符串没有用连字符包裹(理解没有超级我将能够调用sklearn函数),而是变量是string类型。

我设法通过首先将参数提取到字典表单,然后将其放在sklearn估算器中来解决它:

import ast

ExtraTreesClassifier(**ast.literal_eval("{"+i.split("(", 1)[1][:-1].replace("=",":")+"}"))

i.split("(", 1)[1][:-1]从字符串中删除"ExtraTreesClassifier("")"

要将字符串格式化为与字典相同的语法,请使用: .replace("=",":")然后换行括号"{"

因为这仍然是字典的字符串表示形式,要将其作为参数传递给sklearn估算器,需要将其包含在字典中: **ast.literal_eval() - &gt;请参阅this链接

0 个答案:

没有答案
相关问题