Issue 1:
Description

Some OpenML datasets cannot be fetched due to an IndexError when converting the arff data.

Steps/Code to Reproduce

This happens for multiple datasets, e.g. dataset ids 25, 46, 62.

Code to reproduce for colic:

from sklearn.datasets import fetch_openml
fetch_openml(data_id=25)

Expected Results

Dataset Bunch is returned, e.g. for colic:

{'data': array([[5., 2., 4., ..., 2., 3., 5.],
[5., 2., 9., ..., 3., 2., 1.],
[0., 2., 8., ..., 3., 2., 3.],
...,
[2., 2., 4., ..., 0., 1., 2.],
[3., 3., 4., ..., 7., 4., 2.],
[5., 2., 4., ..., 4., 1., 2.]]),
'target': array(['p', 'e', 'e', ..., 'e', 'p', 'e'], dtype=object),
'feature_names': ['cap-shape',
'cap-surface',
'cap-color',
'bruises%3F',
'odor',
'gill-attachment',
'gill-spacing',
'gill-size',
'gill-color',
'stalk-shape',
'stalk-root',
'stalk-surface-above-ring',
'stalk-surface-below-ring',
'stalk-color-above-ring',
'stalk-color-below-ring',
'veil-type',
'veil-color',
'ring-number',
'ring-type',
'spore-print-color',
'population',
'habitat'],
'DESCR': "**Author**: [Jeff Schlimmer](Jeffrey.Schlimmer@a.gp.cs.cmu.edu) \n**Source**: [UCI](https://archive.ics.uci.edu/ml/datasets/mushroom) - 1981 \n**Please cite**: The Audubon Society Field Guide to North American Mushrooms (1981). G. H. Lincoff (Pres.), New York: Alfred A. Knopf \n\n\n### Description\n\nThis dataset describes mushrooms in terms of their physical characteristics. They are classified into: poisonous or edible.\n\n### Source\n```\n(a) Origin: \nMushroom records are drawn from The Audubon Society Field Guide to North American Mushrooms (1981). G. H. Lincoff (Pres.), New York: Alfred A. Knopf \n\n(b) Donor: \nJeff Schlimmer (Jeffrey.Schlimmer '@' a.gp.cs.cmu.edu)\n```\n\n### Dataset description\n\nThis dataset includes descriptions of hypothetical samples corresponding to 23 species of gilled mushrooms in the Agaricus and Lepiota Family. Each species is identified as definitely edible, definitely poisonous, or of unknown edibility and not recommended. This latter class was combined with the poisonous one. The Guide clearly states that there is no simple rule for determining the edibility of a mushroom; no rule like ``leaflets three, let it be'' for Poisonous Oak and Ivy.\n\n### Attributes Information\n```\n1. cap-shape: bell=b,conical=c,convex=x,flat=f, knobbed=k,sunken=s \n2. cap-surface: fibrous=f,grooves=g,scaly=y,smooth=s \n3. cap-color: brown=n,buff=b,cinnamon=c,gray=g,green=r, pink=p,purple=u,red=e,white=w,yellow=y \n4. bruises?: bruises=t,no=f \n5. odor: almond=a,anise=l,creosote=c,fishy=y,foul=f, musty=m,none=n,pungent=p,spicy=s \n6. gill-attachment: attached=a,descending=d,free=f,notched=n \n7. gill-spacing: close=c,crowded=w,distant=d \n8. gill-size: broad=b,narrow=n \n9. gill-color: black=k,brown=n,buff=b,chocolate=h,gray=g, green=r,orange=o,pink=p,purple=u,red=e, white=w,yellow=y \n10. stalk-shape: enlarging=e,tapering=t \n11. stalk-root: bulbous=b,club=c,cup=u,equal=e, rhizomorphs=z,rooted=r,missing=? \n12. stalk-surface-above-ring: fibrous=f,scaly=y,silky=k,smooth=s \n13. stalk-surface-below-ring: fibrous=f,scaly=y,silky=k,smooth=s \n14. stalk-color-above-ring: brown=n,buff=b,cinnamon=c,gray=g,orange=o, pink=p,red=e,white=w,yellow=y \n15. stalk-color-below-ring: brown=n,buff=b,cinnamon=c,gray=g,orange=o, pink=p,red=e,white=w,yellow=y \n16. veil-type: partial=p,universal=u \n17. veil-color: brown=n,orange=o,white=w,yellow=y \n18. ring-number: none=n,one=o,two=t \n19. ring-type: cobwebby=c,evanescent=e,flaring=f,large=l, none=n,pendant=p,sheathing=s,zone=z \n20. spore-print-color: black=k,brown=n,buff=b,chocolate=h,green=r, orange=o,purple=u,white=w,yellow=y \n21. population: abundant=a,clustered=c,numerous=n, scattered=s,several=v,solitary=y \n22. habitat: grasses=g,leaves=l,meadows=m,paths=p, urban=u,waste=w,woods=d\n```\n\n### Relevant papers\n\nSchlimmer,J.S. (1987). Concept Acquisition Through Representational Adjustment (Technical Report 87-19). Doctoral disseration, Department of Information and Computer Science, University of California, Irvine. \n\nIba,W., Wogulis,J., & Langley,P. (1988). Trading off Simplicity and Coverage in Incremental Concept Learning. In Proceedings of the 5th International Conference on Machine Learning, 73-79. Ann Arbor, Michigan: Morgan Kaufmann. \n\nDuch W, Adamczak R, Grabczewski K (1996) Extraction of logical rules from training data using backpropagation networks, in: Proc. of the The 1st Online Workshop on Soft Computing, 19-30.Aug.1996, pp. 25-30, [Web Link] \n\nDuch W, Adamczak R, Grabczewski K, Ishikawa M, Ueda H, Extraction of crisp logical rules using constrained backpropagation networks - comparison of two new approaches, in: Proc. of the European Symposium on Artificial Neural Networks (ESANN'97), Bruge, Belgium 16-18.4.1997.\n\nDownloaded from openml.org.",
'details': {'id': '24',
'name': 'mushroom',
'version': '1',
'format': 'ARFF',
'upload_date': '2014-04-06T23:21:11',
'licence': 'Public',
'url': 'https://www.openml.org/data/v1/download/24/mushroom.arff',
'file_id': '24',
'default_target_attribute': 'class',
'version_label': '1',
'tag': ['mythbusting_1',
'OpenML100',
'study_1',
'study_123',
'study_14',
'study_144',
'study_15',
'study_190',
'study_20',
'study_34',
'study_37',
'study_41',
'study_50',
'study_70',
'trivial',
'uci'],
'visibility': 'public',
'status': 'active',
'processing_date': '2019-07-09 15:24:03',
'md5_checksum': 'c8e898e453167e76d617eff67d198579'},
'categories': {'cap-shape': ['b', 'c', 'f', 'k', 's', 'x'],
'cap-surface': ['f', 'g', 's', 'y'],
'cap-color': ['b', 'c', 'e', 'g', 'n', 'p', 'r', 'u', 'w', 'y'],
'bruises%3F': ['f', 't'],
'odor': ['a', 'c', 'f', 'l', 'm', 'n', 'p', 's', 'y'],
'gill-attachment': ['a', 'd', 'f', 'n'],
'gill-spacing': ['c', 'd', 'w'],
'gill-size': ['b', 'n'],
'gill-color': ['b', 'e', 'g', 'h', 'k', 'n', 'o', 'p', 'r', 'u', 'w', 'y'],
'stalk-shape': ['e', 't'],
'stalk-root': ['b', 'c', 'e', 'r', 'u', 'z'],
'stalk-surface-above-ring': ['f', 'k', 's', 'y'],
'stalk-surface-below-ring': ['f', 'k', 's', 'y'],
'stalk-color-above-ring': ['b', 'c', 'e', 'g', 'n', 'o', 'p', 'w', 'y'],
'stalk-color-below-ring': ['b', 'c', 'e', 'g', 'n', 'o', 'p', 'w', 'y'],
'veil-type': ['p', 'u'],
'veil-color': ['n', 'o', 'w', 'y'],
'ring-number': ['n', 'o', 't'],
'ring-type': ['c', 'e', 'f', 'l', 'n', 'p', 's', 'z'],
'spore-print-color': ['b', 'h', 'k', 'n', 'o', 'r', 'u', 'w', 'y'],
'population': ['a', 'c', 'n', 's', 'v', 'y'],
'habitat': ['d', 'g', 'l', 'm', 'p', 'u', 'w']},
'url': 'https://www.openml.org/d/24'}

Actual Results

IndexError is raised in sklearn.datasets.openml._convert_arff_data:

---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-199-4b570313a12d> in <module>
----> 1 fetch_openml(data_id=25)

~/anaconda3/envs/cross/lib/python3.7/site-packages/sklearn/datasets/openml.py in fetch_openml(name, version, data_id, data_home, target_column, cache, return_X_y)
641 k in data_columns + target_column}
642
--> 643 X, y = _convert_arff_data(arff['data'], col_slice_x, col_slice_y, shape)
644
645 is_classification = {col_name in nominal_attributes

~/anaconda3/envs/cross/lib/python3.7/site-packages/sklearn/datasets/openml.py in _convert_arff_data(arff_data, col_slice_x, col_slice_y, shape)
246 dtype='float64', count=count)
247 data = data.reshape(*shape)
--> 248 X = data[:, col_slice_x]
249 y = data[:, col_slice_y]
250 return X, y

IndexError: index 27 is out of bounds for axis 1 with size 27

Versions

System:

python: 3.7.5 (default, Oct 25 2019, 15:51:11) [GCC 7.3.0]

executable: /home/wendling/anaconda3/envs/cross/bin/python

machine: Linux-4.15.0-69-generic-x86_64-with-debian-buster-sid

Python deps:

pip: 19.3.1

setuptools: 41.6.0.post20191030

sklearn: 0.21.3

numpy: 1.17.2

scipy: 1.3.1

Cython: 0.29.13

pandas: 0.25.1

Issue 2:
OpenML 'zoo' dataset fails to load.

>>> import sklearn.datasets
>>> sklearn.datasets.fetch_openml( 'zoo')
/usr/lib/python3.7/site-packages/sklearn/datasets/openml.py:305: UserWarning: Multiple active versions of the dataset matching the name zoo exist. Versions may be fundamentally different, returning version 1.
" {version}.".format(name=name, version=res[0]['version']))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.7/site-packages/sklearn/datasets/openml.py", line 643, in fetch_openml
X, y = _convert_arff_data(arff['data'], col_slice_x, col_slice_y, shape)
File "/usr/lib/python3.7/site-packages/sklearn/datasets/openml.py", line 249, in _convert_arff_data
y = data[:, col_slice_y]
IndexError: index 17 is out of bounds for axis 1 with size 17

First reported as openml/OpenML#989

Versions

>>> import sklearn; sklearn.show_versions()
/tmp/env/lib/python3.7/site-packages/numpy/distutils/system_info.py:639: UserWarning:
Atlas (http://math-atlas.sourceforge.net/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [atlas]) or by setting
the ATLAS environment variable.
self.calc_info()

System:
python: 3.7.3 (default, Jun 24 2019, 04:54:02) [GCC 9.1.0]
executable: /tmp/env/bin/python
machine: Linux-5.1.16-arch1-1-ARCH-x86_64-with-arch

BLAS:
macros: NO_ATLAS_INFO=1, HAVE_CBLAS=None
lib_dirs: /usr/lib64
cblas_libs: cblas

Python deps:
pip: 19.0.3
setuptools: 40.8.0
sklearn: 0.21.2
numpy: 1.16.4
scipy: 1.3.0
Cython: None
pandas: 0.24.2