python import sklearn包出错 ImportError: No module named nose.tools

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python import sklearn包出错 ImportError: No module named nose.tools相关的知识,希望对你有一定的参考价值。

单独import sklearn 可以。从这里面import就不行 如图。但文件夹里面确实有feature_extraction这个文件夹 为什么import 不了 求大神解答

看报错信息:testing.py第36行,没有nose.tools这个包或者模块追问

我直接下载的exe安装的 为什会少呢 如何解决?

追答

你这样,打开IDEL,执行from nose.tools import assert_equal
如果报错和上图一样,就说明nose.tools 有问题,检查nose这个包下面是否有tools这个包或者模块

参考技术A 你好:
说明不存在feature_extraction这个包!追问

sklearn 文件夹里面 有feature_extraction 这个文件夹

追答

那么这个文健健下面有没有一个py文件:
__init__.py?

追问

有的

追答

那能用import sklearn
然后:sklearn.feature_extraction吗?

追问

谢谢

在 sklearn python 中使用高斯过程回归时出错

【中文标题】在 sklearn python 中使用高斯过程回归时出错【英文标题】:Error in using Gaussian Process regression in sklearn python 【发布时间】:2020-10-25 17:22:58 【问题描述】:

我开始学习 python 并尝试使用 Sklearn 库实现高斯回归。对于我自己的数据点,我尝试按照here 提供的示例进行操作。但是,当我尝试运行 y_pred, std = model.predict(X_te, return_std=True) 这行代码时,我得到了以下示例。我得到的错误'XA 和 XB 必须具有相同的列数(即特征维度。)'

我不知道我在哪里犯了错误,请帮助并提前感谢。

输入输出数据样本如下

X_tr= [10.8204  7.67418 7.83013 8.30996 8.1567  6.94831 14.8673 7.69338 7.67702 12.7542 11.847] 
y_tr= [1965.21  854.386 909.126 1094.06 1012.6  607.299 2294.55 866.316 822.948 2255.32 2124.67]
X_te= [7.62022  13.1943 7.76752 8.36949 7.86459 7.16032 12.7035 8.99822 6.32853 9.22345 11.4751]

X_tr, y_trX_te 是训练数据点,是整形值,类型为 'Array of float64'

这是我的代码示例:

import sklearn.gaussian_process as gp

kernel = gp.kernels.ConstantKernel(1.0, (1e-1, 1e3)) * gp.kernels.RBF(10.0, (1e-3, 1e3))

model = gp.GaussianProcessRegressor(kernel=kernel, n_restarts_optimizer=10, alpha=0.1, normalize_y=True)

# data reshape
X_tr = X_tr.values.reshape(1,-1)
y_tr = y_tr.values.reshape(1,-1)

model.fit(X_tr, y_tr)
params = model.kernel_.get_params()

X_te = X_te.values.reshape(1,-1)

y_pred, std = model.predict(X_te, return_std=True)

【问题讨论】:

【参考方案1】:

这行得通。我将您的数据从 pandas 更改为 numpy 数组,并修复了导致您的错误的 reshapeing 问题。

import numpy as np

X_tr= np.array([10.8204,  7.67418, 7.83013, 8.30996, 8.1567,  6.94831, 14.8673, 7.69338, 7.67702, 12.7542, 11.847])
y_tr= np.array([1965.21,  854.386, 909.126, 1094.06, 1012.6,  607.299, 2294.55, 866.316, 822.948, 2255.32, 2124.67])
X_te= np.array([7.62022, 13.1943, 7.76752, 8.36949, 7.86459, 7.16032, 12.7035, 8.99822, 6.32853, 9.22345, 11.4751])

import sklearn.gaussian_process as gp

kernel = gp.kernels.ConstantKernel(1.0, (1e-1, 1e3)) * gp.kernels.RBF(10.0, (1e-3, 1e3))

model = gp.GaussianProcessRegressor(kernel=kernel, n_restarts_optimizer=10, alpha=0.1, normalize_y=True)

# data reshape
X_tr = X_tr.reshape(-1,1)
y_tr = y_tr

model.fit(X_tr, y_tr)
params = model.kernel_.get_params()

X_te = X_te.reshape(-1,1)

y_pred, std = model.predict(X_te, return_std=True)

【讨论】:

谢谢它的工作,但它没有给出预期的结果。您能否建议如何针对此问题进行超参数优化。这段代码似乎没有做优化。 对于超参数调整,您可以使用GridSearchCV,查看scikit-learn.org/stable/auto_examples/model_selection/… 或***.com/questions/30102973/…。但这是一个不同的话题。如果您对此感兴趣,请提出另一个问题。

以上是关于python import sklearn包出错 ImportError: No module named nose.tools的主要内容,如果未能解决你的问题,请参考以下文章

python怎么用sklearn包进行聚类

python机器学习使用sklearn模块出错,求解答

用Python,在 import sklearn 总是报错怎么办

在R中使用带有网格包的Python - 找不到Numpy

导入 sklearn 时出错

python中模块包无法导入import问题