web-dev-qa-db-fra.com

Existe-t-il des exemples de jeux de données pour Python?

Pour des tests rapides, le débogage, la création d'exemples portables et l'analyse comparative, R dispose d'un grand nombre d'ensembles de données (dans le package Base R datasets). La commande library(help="datasets") à l'invite R décrit près de 100 jeux de données historiques, chacun ayant des descriptions et des métadonnées associées.

Y a-t-il quelque chose comme ça pour Python?

20
a different ben

Vous pouvez utiliser le package rpy2 pour accéder à tous les jeux de données R à partir de Python.

Configurez l'interface:

>>> from rpy2.robjects import r, pandas2ri
>>> def data(name): 
...    return pandas2ri.ri2py(r[name])

Ensuite, appelez data() avec le nom de n'importe quel ensemble de données des ensembles de données disponibles (comme dans R)

>>> df = data('iris')
>>> df.describe()
       Sepal.Length  Sepal.Width  Petal.Length  Petal.Width
count    150.000000   150.000000    150.000000   150.000000
mean       5.843333     3.057333      3.758000     1.199333
std        0.828066     0.435866      1.765298     0.762238
min        4.300000     2.000000      1.000000     0.100000
25%        5.100000     2.800000      1.600000     0.300000
50%        5.800000     3.000000      4.350000     1.300000
75%        6.400000     3.300000      5.100000     1.800000
max        7.900000     4.400000      6.900000     2.500000

Pour voir une liste des jeux de données disponibles avec une description pour chacun d'eux:

>>> print(r.data())


Remarque: rpy2 nécessite une installation de R avec la variable R_HOME, Et pandas doit également être installé.

MISE À JOUR:

Je viens de créer PyDataset , qui est un module simple pour rendre le chargement d'un ensemble de données à partir de Python aussi simple que R (et il ne nécessite pas R installation, seulement pandas).

Pour commencer à l'utiliser, installez le module:

$ pip install pydataset

puis il vous suffit de charger tout jeu de données que vous souhaitez (actuellement environ 757 jeux de données disponibles):

from pydataset import data

titanic = data('titanic')
40
Aziz Alto

Il existe également des jeux de données disponibles dans la bibliothèque Scikit-Learn .

from sklearn import datasets

Il existe plusieurs jeux de données dans ce package. Certains des jeux de données jouets sont:

load_boston()          Load and return the boston house-prices dataset (regression).
load_iris()            Load and return the iris dataset (classification).
load_diabetes()        Load and return the diabetes dataset (regression).
load_digits([n_class]) Load and return the digits dataset (classification).
load_linnerud()        Load and return the linnerud dataset (multivariate regression).
14
tmthydvnprt

J'ai initialement posté cela à la question connexe Exemples de jeux de données dans Pandas , mais comme il est pertinent en dehors de pandas je l'inclus ici également.

Il existe de nombreuses façons d'accéder aux exemples d'ensembles de données en Python. Personnellement, j'ai tendance à m'en tenir à n'importe quel paquet que j'utilise déjà (généralement seaborn ou pandas). Si vous avez besoin d'un accès hors ligne, l'installation de l'ensemble de données avec Quilt semble être la seule option.

Seaborn

Le brillant package de traçage seaborn possède plusieurs exemples de jeux de données intégrés.

import seaborn as sns

iris = sns.load_dataset('iris')
iris.head()
   sepal_length  sepal_width  petal_length  petal_width species
0           5.1          3.5           1.4          0.2  setosa
1           4.9          3.0           1.4          0.2  setosa
2           4.7          3.2           1.3          0.2  setosa
3           4.6          3.1           1.5          0.2  setosa
4           5.0          3.6           1.4          0.2  setosa

Pandas

Si vous ne souhaitez pas importer seaborn, mais souhaitez tout de même accéder à ses exemples de jeux de données , vous pouvez lire les données d'exemple seaborn à partir de son URL:

iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')

Notez que les exemples de jeux de données contenant des colonnes catégorielles ont leur type de colonne modifié par sns.load_dataset() et le résultat peut ne pas être le même en le récupérant directement à partir de l'URL. Les exemples d'ensembles d'iris et de conseils sont également disponibles dans le pandas github repo ici .

Exemples de jeux de données R

Étant donné que tout ensemble de données peut être lu via pd.read_csv(), il est possible d'accéder à tous les exemples de jeux de données de R en copiant les URL de ce référentiel de jeux de données R .

D'autres moyens de charger les exemples de jeux de données R incluent statsmodel

import statsmodels.api as sm

iris = sm.datasets.get_rdataset('iris').data

et PyDataset

from pydataset import data

iris = data('iris')

scikit-learn

scikit-learn Renvoie des exemples de données sous forme de tableaux numpy plutôt que d'une trame de données pandas.

from sklearn.datasets import load_iris

iris = load_iris()
# `iris.data` holds the numerical values
# `iris.feature_names` holds the numerical column names
# `iris.target` holds the categorical (species) values (as ints)
# `iris.target_names` holds the unique categorical names

Courtepointe

Quilt est un gestionnaire de jeux de données créé pour faciliter la gestion des jeux de données. Il comprend de nombreux exemples de jeux de données courants, tels que plusieurs du référentiel d'exemples uciml . La page de démarrage rapide montre comment installer et importer l'ensemble de données iris:

# In your terminal
$ pip install quilt
$ quilt install uciml/iris

Après avoir installé un ensemble de données, il est accessible localement, c'est donc la meilleure option si vous souhaitez travailler avec les données hors ligne.

import quilt.data.uciml.iris as ir

iris = ir.tables.iris()
   sepal_length  sepal_width  petal_length  petal_width        class
0           5.1          3.5           1.4          0.2  Iris-setosa
1           4.9          3.0           1.4          0.2  Iris-setosa
2           4.7          3.2           1.3          0.2  Iris-setosa
3           4.6          3.1           1.5          0.2  Iris-setosa
4           5.0          3.6           1.4          0.2  Iris-setosa

Quilt prend également en charge la gestion des versions des jeux de données et inclut un description courte de chaque jeu de données.

7
joelostblom

Suite au commentaire de Joran, j'ai depuis trouvé le module statsmodels , qui fournit son propre package datasets. documentation en ligne montre un exemple de la façon d'importer des jeux de données disponibles dans R:

import statsmodels.api as sm
duncan_prestige = sm.datasets.get_rdataset("Duncan", "car")
print duncan_prestige.__doc__
4
a different ben

MyMVPA est un autre module qui fournit un accès facile aux bases de données. Vous pouvez consulter le lien ci-dessous.

>>> from mvpa2.tutorial_suite import *
>>> data = [[  1,  1, -1],
...         [  2,  0,  0],
...         [  3,  1,  1],
...         [  4,  0, -1]]
>>> ds = Dataset(data)
>>> ds.shape
(4, 3)
>>> len(ds)
4

Exemple du lien

http://www.pymvpa.org/tutorial_datasets.html

1
Ekta

Concrètement, en utilisant l'exemple @tmthydvnprt:

from sklearn import datasets
iris = datasets.load_iris()

L'ensemble de données réel peut être appelé en faisant iris.data.

http://scikit-learn.org/stable/datasets/

En cours d'exécution Python 3,5

0
sedeh