fetch_mldata: ¿cómo configurar manualmente el conjunto de datos MNIST cuando el servidor de origen está inactivo?

Necesito ejecutar un código que contenga estas líneas:

from sklearn.datasets import fetch_mldata mnist = fetch_mldata('MNIST original') 

Parece que hay un problema con ejecutarlo.

TimeoutError: [WinError 10060] Falló un bash de conexión porque la parte conectada no respondió correctamente después de un período de tiempo, o falló la conexión establecida porque el host conectado no respondió

A medida que el código intenta descargar algo de algún lugar y mi conexión a Internet funciona bien, asumo que el servidor al que quiere acceder no funciona.

¿Cómo puedo configurarlo manualmente?

fetch_mldata verificará por defecto los datos en `’~ / scikit_learn_data / mldata’ para ver si el conjunto de datos ya está descargado o no.

Según el código fuente

  # if the file does not exist, download it if not exists(filename): urlname = MLDATA_BASE_URL % quote(dataname) 

Así que en tu caso, comprobará la ubicación.

 ~/scikit_learn_data/mldata/mnist-original.mat 

y si no se encuentra, se descargará de

 http://mldata.org/repository/data/download/matlab/mnist-original.mat 

que actualmente está abajo como sospechabas.

Entonces, lo que puede hacer es descargar el conjunto de datos desde cualquier otra ubicación como esta:

 https://github.com/amplab/datascience-sp14/blob/master/lab7/mldata/mnist-original.mat 

y mantener eso en la carpeta anterior.

Después de eso, cuando ejecute fetch_mldata() , debería elegir el conjunto de datos descargado sin conectar mldata.org.

Actualizar:

Aquí ~ refiere a la carpeta de inicio del usuario. Puede usar el siguiente código para conocer la ubicación predeterminada de esa carpeta de acuerdo con su sistema.

 from sklearn.datasets import get_data_home print(get_data_home())