Как заставить SciKit-Learn распознавать мое ядро ​​в SVC? - PullRequest
0 голосов
/ 02 сентября 2018

Я использую 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)

Все еще не распознает ядро. Что я делаю не так?

1 Ответ

0 голосов
/ 02 сентября 2018

То, что вы делаете, должно работать в новейших версиях Python 2.7 и scikit-learn, не прибегая к ручному обращению с преобразованием строк, так что это звучит так, будто среда Python пошла не так.

Если вы используете conda для управления вашей средой, вы можете попробовать создать ее с нуля, выполнив следующие действия:

  1. Откройте Anaconda Prompt (или любую командную строку, из которой вы можете запустить conda).

  2. Запустите conda create --name py27sklearn, чтобы создать новую среду

  3. Активируйте эту среду, запустив activate py27sklearn (или conda activate py27sklearn)

  4. Установите Python 2.7, запустив conda install python=2.7.

  5. Установите scikit-learn, запустив conda install 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)
...