在sklearn和skmultilearn中以离线模式加载数据集

问题描述 投票:1回答:1

我想在我的蟒蛇项目(python 3.6.5)中使用数据集:情绪,场景和酵母。我使用了以下代码:

from skmultilearn.dataset import load_dataset
X_train, y_train, feature_names, label_names = load_dataset('emotions', 'train')

当我连接到互联网后,它可以成功运行,但是当我离线时,它不起作用!我已经将上述所有3个命名数据集都下载到了这样的文件夹中:

H:\ Projects \ Datasets

离线时如何使用此文件夹作为源数据集?(我正在使用Windows 10)

我下载了数据集的扩展名是:.rar像这样:motions.rar,scene.rar和酵母.rar,我已经从以下网站下载了它们:http://mulan.sourceforge.net/datasets-mlc.html

python multilabel-classification
1个回答
0
投票

您可以,但是首先需要知道数据集存储到的路径。为此,您可以加载一次并获取路径。该路径永远不会改变,因此您只需执行一次以下操作即可获得所需的路径。接下来,知道路径后,您可以根据需要离线加载。

示例

from sklearn.datasets import load_iris
import pandas as pd, os

#get the path
path = load_iris()['filename']
print(path)

#offline load
df = pd.read_csv(path)

#the path: THIS IS WHAT YOU NEED
main_path_with_datasets = os.path.dirname(path)

[一旦获得main_path_with_datasets,即通过执行main_path_with_datasets = os.path.dirname(path),您现在将拥有路径。您可以使用它来加载所有可用的下载数据集。

os.listdir(main_path_with_datasets)

['digits.csv.gz',
 'wine_data.csv',
 'diabetes_target.csv.gz',
 'iris.csv',
 'breast_cancer.csv',
 'diabetes_data.csv.gz',
 'linnerud_physiological.csv',
 'linnerud_exercise.csv',
 'boston_house_prices.csv']

为skmultilearn编辑

from skmultilearn.dataset import load_dataset_dump

path = 'C:\Users\myname\scikit_ml_learn_data\'

X, y, feature_names, label_names = load_dataset_dump(path + 'emotions-train.scikitml.bz2')
© www.soinside.com 2019 - 2024. All rights reserved.