Zac*_*she 16 python-2.7 scikit-learn
我正在尝试遵循scikit-learn(线性回归)教程.
我已经安装了scikit pip install -U scikit-learn,我使用的是python 2.7和Ubuntu 13.04
当我尝试运行第一行代码时,我得到一个错误,每当我尝试使用scikit-learn运行任何东西时都会发生错误.
import pylab as pl
import numpy as np
from sklearn import datasets, linear_model
# Load the diabetes dataset
diabetes = datasets.load_diabetes()
Run Code Online (Sandbox Code Playgroud)
我得到以下内容:
AttributeError: 'module' object has no attribute 'load_diabetes'
Run Code Online (Sandbox Code Playgroud)
当我尝试:
regr = linear_model.LinearRegression()
Run Code Online (Sandbox Code Playgroud)
我明白了:
AttributeError: 'module' object has no attribute 'LinearRegression'
Run Code Online (Sandbox Code Playgroud)
在我看来,我要么使用错误的包(但我已经从他们的教程中复制了),或者我安装了错误的东西(但是包装已成功加载).
有人可以帮忙吗?
Rok*_*jic 19
这个问题的另一个原因(不是OP代码的问题) - 但是让我感到困惑的是 - python不会自动导入子包或模块,除非包开发人员明确地完成.并且sklearn不会自动导入其子包,所以如果你有
import sklearn
diabetes = sklearn.datasets.load_diabetes()
Run Code Online (Sandbox Code Playgroud)
那你会得到的
AttributeError: module 'sklearn' has no attribute 'datasets'
Run Code Online (Sandbox Code Playgroud)
这是一个非常误导性的错误消息,因为sklearn它有一个名为的子包datasets - 您只需要显式导入它
import sklearn.datasets
diabetes = sklearn.datasets.load_diabetes()
Run Code Online (Sandbox Code Playgroud)
Zac*_*she 17
好的..最后找到它.发布它在这里万一有人会遇到同样的问题.
我在另一个目录中有另一个版本的sklearn(可能是因为apt-get install).它部分安装,但它是一个加载的.
确保查看pip脚本的输出以查看它安装包的位置,以及从python加载它时,检查它从sklearn.__path__哪里获取它.
| 归档时间: |
|
| 查看次数: |
38727 次 |
| 最近记录: |