fetch_openml
- sklearn.datasets.fetch_openml(name:str|None=None, *, version:str|int='active', data_id:int|None=None, data_home:str|PathLike|None=None, target_column:str|List|None='default-target', cache:bool=True, return_X_y:bool=False, as_frame:str|bool='auto', n_retries:int=3, delay:float=1.0, parser:str='auto', read_csv_kwargs:Dict|None=None)[исходный код]
-
Загрузить набор данных из OpenML по имени или идентификатору набора данных.
Наборы данных однозначно идентифицируются либо целочисленным идентификатором, либо сочетанием имени и версии (например, может существовать несколько версий набора данных ‘iris’). Укажите имя или data_id (но не оба параметра). Если указано имя, также можно указать версию.
Подробнее см. в руководстве пользователя.
Добавлено в версии 0.20.
Примечание
ЭКСПЕРИМЕНТАЛЬНЫЙ ИНТЕРФЕЙС
API является экспериментальным (в частности, структура возвращаемого значения), и в будущих выпусках могут быть внесены небольшие обратно несовместимые изменения без уведомления или предупреждения.
- Параметры:
-
- namestr, по умолчанию=None
-
Строковый идентификатор набора данных. Обратите внимание, что в OpenML может быть несколько наборов данных с одинаковым именем.
- versionint или ‘active’, по умолчанию=’active’
-
Версия набора данных. Можно указать, только если также задан
name. Если указано ‘active’, используется самая старая из активных версий. Поскольку у набора данных может быть несколько активных версий, которые могут принципиально отличаться друг от друга, настоятельно рекомендуется указать конкретную версию. - data_idint, по умолчанию=None
-
Идентификатор набора данных в OpenML. Наиболее точный способ получения набора данных. Если data_id не указан, для получения набора данных используются имя и, при необходимости, версия.
- data_homestr или объект, подобный пути, по умолчанию=None
-
Укажите другую папку для загрузки и кэширования наборов данных. По умолчанию все данные scikit-learn хранятся во вложенных папках ‘~/scikit_learn_data’.
- target_columnstr, list или None, по умолчанию=’default-target’
-
Укажите имя столбца данных, который будет использоваться в качестве целевой переменной. Если указано ‘default-target’, используется стандартный целевой столбец, сохранённый на сервере. Если указано
None, все столбцы возвращаются как данные, а целевая переменная —None. Если указано list (из строк), все столбцы с этими именами возвращаются как несколько целевых переменных (Примечание: не все классификаторы scikit-learn могут обрабатывать все типы сочетаний нескольких выходных переменных). - cachebool, по умолчанию=True
-
Определяет, следует ли кэшировать загруженные наборы данных в
data_home. - return_X_ybool, по умолчанию=False
-
Если True, возвращает
(data, target)вместо объекта Bunch. Дополнительные сведения об объектахdataиtargetсм. ниже. - as_framebool или ‘auto’, по умолчанию=’auto’
-
Если True, данные представлены в виде pandas DataFrame со столбцами соответствующих типов (числовыми, строковыми или категориальными). Целевая переменная представлена в виде pandas DataFrame или Series в зависимости от количества целевых столбцов. Объект Bunch будет содержать атрибут
frameс целевой переменной и данными. Еслиreturn_X_yимеет значение True, тогда(data, target)будут объектами pandas DataFrame или Series, как описано выше.Если
as_frameимеет значение ‘auto’, данные и целевая переменная будут преобразованы в DataFrame или Series так же, как если быas_frameимел значение True, если только набор данных не хранится в разреженном формате.Если
as_frameимеет значение False, данные и целевая переменная будут массивами NumPy, аdataбудет содержать только числовые значения, когдаparser="liac-arff"; категории при этом указаны в атрибутеcategoriesэкземпляраBunch. Еслиparser="pandas", порядковое кодирование не выполняется.Изменено в версии 0.24: В версии 0.24 значение
as_frameпо умолчанию изменено сFalseна'auto'. - n_retriesint, по умолчанию=3
-
Количество повторных попыток при возникновении ошибок HTTP или тайм-аутов сети. Ошибка с кодом состояния 412 не приводит к повторной попытке, поскольку такие ошибки являются общими ошибками OpenML.
- delayfloat, по умолчанию=1.0
-
Количество секунд между повторными попытками.
- parser{“auto”, “pandas”, “liac-arff”}, по умолчанию=”auto”
-
Парсер, используемый для загрузки файла ARFF. Реализованы два парсера:
-
"pandas": это наиболее эффективный парсер. Однако для его работы требуется установленный pandas, и он может открывать только плотные наборы данных. -
"liac-arff": это парсер ARFF на чистом Python, который значительно менее эффективен с точки зрения использования памяти и процессора. Он работает с разреженными наборами данных ARFF.
Если указано
"auto", парсер выбирается автоматически: для разреженных наборов данных ARFF выбирается"liac-arff", в остальных случаях —"pandas".Добавлено в версии 1.2.
Изменено в версии 1.4: Значение
parserпо умолчанию изменено с"liac-arff"на"auto". -
- read_csv_kwargsdict, по умолчанию=None
-
Аргументы-ключевые слова, передаваемые в
pandas.read_csvпри загрузке данных из файла ARFF с помощью парсера pandas. Это позволяет переопределить некоторые параметры по умолчанию.Добавлено в версии 1.3.
- Возвращает:
-
-
data
Bunch -
Объект, подобный словарю, со следующими атрибутами.
- datanp.array, scipy.sparse.csr_matrix с числами с плавающей точкой или pandas DataFrame
-
Матрица признаков. Категориальные признаки кодируются порядковыми числами.
- targetnp.array, pandas Series или DataFrame
-
Целевая переменная регрессии или метки классов, если применимо. Тип данных — float для числовых значений и object для категориальных. Если
as_frameимеет значение True,targetявляется объектом pandas. - DESCRstr
-
Полное описание набора данных.
- feature_nameslist
-
Имена столбцов набора данных.
- target_names: list
-
Имена целевых столбцов.
Добавлено в версии 0.22.
- categoriesdict или None
-
Сопоставляет имя каждого категориального признака со списком значений, так что значение, закодированное как i, находится в списке на позиции i. Если
as_frameимеет значение True, здесь указано None. - detailsdict
-
Дополнительные метаданные из OpenML.
- framepandas DataFrame
-
Присутствует только при
as_frame=True. DataFrame сdataиtarget.
-
(data, target)кортеж, если
return_X_yимеет значение True -
Примечание
ЭКСПЕРИМЕНТАЛЬНЫЙ ИНТЕРФЕЙС
Этот интерфейс является экспериментальным, и в последующих выпусках атрибуты могут изменяться без уведомления (хотя изменения
dataиtargetдолжны быть лишь незначительными).Пропущенные значения в ‘data’ представлены как NaN. Пропущенные значения в ‘target’ представлены как NaN (числовая целевая переменная) или None (категориальная целевая переменная).
-
data
Примечания
Парсеры
"pandas"и"liac-arff"могут приводить к разным типам данных в выходных данных. Основные различия:- Парсер
"liac-arff"всегда кодирует категориальные признаки как объектыstr. В отличие от него, парсер"pandas"определяет тип при чтении, и числовые категории по возможности преобразуются в целые числа. - Парсер
"liac-arff"использует float64 для кодирования числовых признаков, помеченных в метаданных как ‘REAL’ и ‘NUMERICAL’. Парсер"pandas"вместо этого определяет, соответствуют ли эти числовые признаки целым числам, и использует расширенный тип Integer в pandas. - В частности, наборы данных для классификации с целочисленными категориями обычно загружаются как
(0, 1, ...)с парсером"pandas", тогда как"liac-arff"принудительно использует строковые метки классов, такие как"0","1"и так далее. - Парсер
"pandas"не удаляет одинарные кавычки — то есть'— из строковых столбцов. Например, строка'my string'будет сохранена без изменений, тогда как парсер"liac-arff"удалит одинарные кавычки. Для категориальных столбцов одинарные кавычки удаляются из значений.
Кроме того, при использовании
as_frame=Falseпарсер"liac-arff"возвращает данные, закодированные порядковыми числами; категории указаны в атрибутеcategoriesэкземпляраBunch. Напротив,"pandas"возвращает массив NumPy, в котором категории не закодированы.Примеры
>>> from sklearn.datasets import fetch_openml >>> adult = fetch_openml("adult", version=2) >>> adult.frame.info() <class 'pandas.core.frame.DataFrame'> RangeIndex: 48842 entries, 0 to 48841 Data columns (total 15 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 age 48842 non-null int64 1 workclass 46043 non-null category 2 fnlwgt 48842 non-null int64 3 education 48842 non-null category 4 education-num 48842 non-null int64 5 marital-status 48842 non-null category 6 occupation 46033 non-null category 7 relationship 48842 non-null category 8 race 48842 non-null category 9 sex 48842 non-null category 10 capital-gain 48842 non-null int64 11 capital-loss 48842 non-null int64 12 hours-per-week 48842 non-null int64 13 native-country 47985 non-null category 14 class 48842 non-null category dtypes: category(9), int64(6) memory usage: 2.7 MB
Примеры из галереи
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.datasets.fetch_openml.html