【问题标题】:listing subpackages and functions installed in sklearn列出安装在 sklearn 中的子包和功能
【发布时间】:2020-10-07 23:29:34
【问题描述】:

我真的在为此苦苦挣扎。我正在尝试打开 sklearn 模块以查看安装的版本,因为我遇到了包和代码问题。具体来说,xgboostfrom sklearn import impute.KNNImputer 等。我的系统:

System:
    python: 3.7.4 (default, Aug  9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)]
executable: C:\ProgramData\Anaconda3\python.exe
   machine: Windows-10-10.0.18362-SP0

Python deps:
       pip: 19.2.3
setuptools: 41.4.0
   sklearn: 0.21.3
     numpy: 1.16.5
     scipy: 1.3.1
    Cython: 0.29.13
    pandas: 0.25.1

而且更新不是那么容易,因为我正在使用办公室笔记本,所以我无权随意更新/安装软件包。所以:

-如何获取 sklearn 子包和版本的列表?喜欢查看以下所有可能性/包和功能:

from sklearn.subpackage import function1, function2 # this is my definition os subpackage and function, correct me if I'm wrong
from sklearn.subpackage2 import function10, function20, function30
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report
from sklearn.pipeline import FeatureUnion, make_pipeline
  • 通过上面的列表,我是否知道from sklearn import impute.KNNImputer 相同/相似的功能对于旧版本的 sklearn 是什么? Here 你可以看到sklearn.impute.KNNImputer0.22 sklearn 版本,我有0.21。 (所以我愿意在该列表中找到类似的功能)

  • xgboost 同上,因为它是一个单独安装的包,所以默认情况下必须使用 sklearn 安装一些 sklearn.xgboost,使用上面的列表我将能够知道我能够使用哪个 xgboost 功能/模块使用。

所以,我正在寻找一个类似的函数/方法:

sklearn.list_subpackages()
output: package (version 1.2), package2 (version 2.3), model_selection (version 5.1), metrics (version 10.1), pipeline (version 2.1)

package2.list_functions()
output: function10, function20, function30

model_selection.list_functions()    
output: train_test_split

有什么建议吗?

【问题讨论】:

  • 你能跑conda prompt吗?
  • 如果你的意思是 Anaconda 终端,是的,我可以

标签: python scikit-learn module package


【解决方案1】:

你必须浏览你的 python 包目录,打开 sklearn 文件夹,找到子包文件并右键单击它并通过 sublime text 或其他文本编辑器或 ide 编辑它....等等,不要编辑!大多数模块和包的版本号和描述都以字符串或注释行的形式出现,例如:

"""
This is the subpackage, version number blah blah and more information..
"""
from example import example

但是你可以将它们存储在子包的变量中,就像看到这个来自keras的__init__.py文件(只看最后一行),里面的代码就像:


try:
    from tensorflow.keras.layers.experimental.preprocessing import RandomRotation
except ImportError:
    raise ImportError(
        'Keras requires TensorFlow 2.2 or higher. '
        'Install TensorFlow via `pip install tensorflow`')

from . import utils
from . import activations
from . import applications
from . import backend
from . import datasets
from . import engine
from . import layers
from . import preprocessing
from . import wrappers
from . import callbacks
from . import constraints
from . import initializers
from . import metrics
from . import models
from . import losses
from . import optimizers
from . import regularizers

# Also importable from root
from .layers import Input
from .models import Model
from .models import Sequential

__version__ = '2.4.3'

正如你在最后一行看到的..__version__ = '2.4.3'你可以对你想要的子包做同样的事情,从注释行中读取,并制作一个可变版本,存储版本号,然后你可以轻松访问子包' 导入函数后的变量。

【讨论】:

  • 如何找到 sklearn 文件夹?我用 anaconda 安装它,当我浏览它的文件夹时,有大约 40 个文件夹和子文件夹,与“packages”、“library”等非常相似。
猜你喜欢
  • 1970-01-01
  • 2017-10-24
  • 1970-01-01
  • 2017-06-06
  • 1970-01-01
  • 1970-01-01
  • 2014-08-09
  • 2017-06-18
  • 2018-11-11
相关资源
最近更新 更多