【问题标题】:How to get SciKit-Learn to recognize my kernel in SVC?如何让 SciKit-Learn 在 SVC 中识别我的内核?
【发布时间】:2019-02-07 13:34:01
【问题描述】:

我正在使用 python 2.7。 SVC 的文档。

当我尝试以下操作时:

from sklearn.svm import SVC
base_learner = SVC(random_state=4,probability=True)

它会抛出以下错误:

TypeError: Argument 'kernel' has incorrect type (expected str, got unicode)

所以我想我会试试这个:

from builtins import str
from sklearn.svm import SVC
base_learner = SVC(kernel=str('rbf'), random_state=4,probability=True)

仍然无法识别内核。我做错了什么?

【问题讨论】:

  • 我无法在只有 Python 2.7.15 和 scikit-learn 0.19.1 的 conda 环境中重现此问题。你是如何安装 scikit-learn 的;通过 Anaconda?

标签: python string python-2.7 scikit-learn python-unicode


【解决方案1】:

您所做的应该可以在最新版本的 Python 2.7 和 scikit-learn 中工作,而不必求助于手动处理字符串转换,所以这听起来像是 Python 环境出了问题。

如果您使用 conda 来管理您的环境,您可以尝试通过以下步骤从头开始创建一个:

  1. 打开 Anaconda 提示符(或任何可以运行 conda 的命令提示符)。

  2. 运行conda create --name py27sklearn创建新环境

  3. 通过运行activate py27sklearn(或conda activate py27sklearn)激活该环境

  4. 通过运行 conda install python=2.7 安装 Python 2.7。

  5. 通过运行 conda install scikit-learn 安装 scikit-learn。

  6. 通过运行 python 来运行 Python 解释器。

  7. 验证您的代码是否按预期运行。

您应该会看到如下内容:

(py27sklearn) $ python
Python 2.7.15 |Anaconda, Inc.| (default, May  1 2018, 18:37:09) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from sklearn.svm import SVC
>>> SVC(random_state=4, probability=True)
SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
  decision_function_shape='ovr', degree=3, gamma='auto', kernel='rbf',
  max_iter=-1, probability=True, random_state=4, shrinking=True, tol=0.001,
  verbose=False)

【讨论】:

    猜你喜欢
    • 2015-03-10
    • 2021-01-23
    • 2017-04-26
    • 2015-04-05
    • 1970-01-01
    • 2014-12-11
    • 2014-02-18
    • 2015-10-28
    • 2013-07-07
    相关资源
    最近更新 更多