Spec-Zone.ru › scikit-learn

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.

Возвращает:
dataBunch

Объект, подобный словарю, со следующими атрибутами.

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 (категориальная целевая переменная).

Примечания

Парсеры "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

Примеры из галереи

Создание признаков, связанных со временем

Удаление шума с изображений с помощью ядерного PCA

ColumnTransformer для смешанных типов данных

Влияние преобразования целевых значений в модели регрессии

Поддержка категориальных признаков в градиентном бустинге

Признаки в деревьях гистограммного градиентного бустинга

Прогнозирование уровня CO2 для набора данных Мауна-Лоа с помощью регрессии на основе гауссовских процессов (GPR)

Распространённые ошибки при интерпретации коэффициентов линейных моделей

Графики частичной зависимости и индивидуального условного ожидания

Важность на основе перестановок и важность признаков случайного леса (MDI)

Регрессия Пуассона и ненормальная функция потерь

Ранняя остановка стохастического градиентного спуска

Классификация MNIST с помощью мультиномиальной логистической регрессии и L1

Регрессия Твиди для страховых претензий

Визуализация с помощью объектов отображения

Оценка оценивателей для обнаружения выбросов

Знакомство с API set_output

Настройка порога принятия решения для обучения с учётом стоимости ошибок

Апостериорная настройка точки отсечения функции принятия решения

Обзор метаоценивателей для обучения многоклассовых моделей

Многометочная классификация с помощью цепочки классификаторов

Приближённый поиск ближайших соседей в TSNE

Визуализация весов MLP на MNIST

Сравнение TargetEncoder с другими кодировщиками

Основные нововведения scikit-learn 0.22

Основные нововведения scikit-learn 1.1

Основные нововведения scikit-learn 1.2

Основные нововведения scikit-learn 1.4

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API