5

我正在按照这个问题中的建议使用 scikit-learn 进行机器学习。令我惊讶的是,它似乎无法访问它训练的实际模型。例如,如果我创建一个 SVM、线性分类器甚至决策树,它似乎无法让我查看为实际训练模型选择的参数。

如果模型的创建部分是为了更清楚地了解它正在使用的功能(例如,决策树),那么查看实际模型很有用。如果想要使用 Python 来训练模型并使用其他代码来实际实现它,那么查看模型也是一个重要问题。

我是否在 scikit-learn 中遗漏了一些东西,或者有什么方法可以在 scikit-learn 中解决这个问题?如果没有,什么是好的免费机器学习工作台,不一定是 python,其中模型是透明可用的

4

1 回答 1

7

拟合的模型参数直接存储为模型实例的属性。这些拟合参数有一个特定的命名约定:它们都以尾随下划线结尾,而用户提供的构造函数参数(也称为超参数)则没有。

拟合属性的类型取决于算法。例如,对于内核支持向量机,您将拥有数组支持向量、对偶系数和截距,而对于随机森林和极端随机树,您将拥有二叉树的集合(在内存中内部表示为性能问题的连续 numpy 数组:结构数组表示)。

有关详细信息,请参阅每个模型的文档字符串的属性部分,例如 SVC:

http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC

对于基于树的模型,您还有一个辅助函数来生成学习树的 graphivz_export:

http://scikit-learn.org/stable/modules/tree.html#classification

要了解森林模型中特征的重要性,您还应该查看compute_importances参数,例如,请参见以下示例:

http://scikit-learn.org/stable/auto_examples/ensemble/plot_forest_importances.html#example-ensemble-plot-forest-importances-py

http://scikit-learn.org/stable/auto_examples/ensemble/plot_forest_importances_faces.html#example-ensemble-plot-forest-importances-faces-py

于 2012-06-08T09:15:44.513 回答