2016-07-10 2 views
-1

Я установил scikit learn и другие зависимости в снежинки среды конды.Название 'Ridge' не определено в Python Spyder

я печатаю следующий стартовый код

import numpy as np 
import sklearn 
from sklearn import linear_model 
clf = linear_model.Ridge (alpha = .5) 
clf.fit ([[0, 0], [0, 0], [1, 1]], [0, .1, 1]) 
Ridge(alpha=0.5, copy_X=True, fit_intercept=True, max_iter=None, 
     normalize=False, random_state=None, solver='auto', tol=0.001) 

clf.predict([1,1]) 

Это дает ошибку

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/home/sridhar/anaconda3/lib/python3.5/site-packages/spyderlib/widgets/externalshell/sitecustomize.py", line 714, in runfile 
    execfile(filename, namespace) 
    File "/home/sridhar/anaconda3/lib/python3.5/site-packages/spyderlib/widgets/externalshell/sitecustomize.py", line 89, in execfile 
    exec(compile(f.read(), filename, 'exec'), namespace) 
    File "/home/sridhar/anaconda3/envs/snowflakes/Test/test.py", line 6, in <module> 
    Ridge(alpha=0.5, copy_X=True, fit_intercept=True, max_iter=None, 
NameError: name 'Ridge' is not defined 

Что мне сделать это? У меня есть все зависимости, установленные как список conda, который показывает их все.

+0

Выполнение этого дает /home/sridhar/anaconda3/lib/python3.5/site-packages/sklearn/utils/validation.py:386: Отказ. Предупреждение. Передача 1-го массива в качестве данных устарела в 0,17 и присваивает значение ValueError в 0.19. Измените свои данные либо с помощью X.reshape (-1, 1), если у ваших данных есть одна функция или X.resape (1, -1), если она содержит один образец. DeprecationWarning) >>> Но я havent использовал 1-й массив? –

+0

Infact есть предупреждающая метка, указывающая, что sklearn импортирован, но не используется –

ответ

2

Для меня, это прекрасно работает:

In [4]: import numpy as np 

In [5]: import sklearn 

In [6]: from sklearn import linear_model 

In [7]: clf = linear_model.Ridge (alpha = .5) 

In [8]: clf.fit ([[0, 0], [0, 0], [1, 1]], [0, .1, 1]) 
Out[8]: 
Ridge(alpha=0.5, copy_X=True, fit_intercept=True, max_iter=None, 
    normalize=False, random_state=None, solver='auto', tol=0.001) 

In [9]: clf.predict([[1,1]]) 
Out[9]: [ 0.82727273] 

Кажется, что вы должны быть скопированы этот код из записной IPython, где он печатает вывод автоматически, если существует.

Следовательно, он выдает ошибку, так как Ridge не указано в операторах импорта.

Если вы действительно хотите запустить это в Spyder, я считаю, что используйте print(clf.fit ([[0, 0], [0, 0], [1, 1]], [0, .1, 1])) и полностью удаляем приведенные ниже строки.

+0

После добавления из sklearn.linear_model import Ridge я получаю /home/sridhar/anaconda3/lib/python3.5/site-packages/sklearn/utils/validation.py: 386: Отказ. Предупреждение. Передача 1-го массива, поскольку данные устарели в 0,17 и вызывают ValueError в 0,19. Измените свои данные либо с помощью X.reshape (-1, 1), если у ваших данных есть одна функция или X.resape (1, -1), если она содержит один образец. DeprecationWarning)> –

+0

на самом деле есть предупреждающий символ, который говорит, что sklearn импортирован, но не используется! –

Смежные вопросы