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)[source]
-
Получение набора данных из 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, список или None, по умолчанию=’default-target’
-
Укажите имя столбца в данных, который будет использоваться в качестве целевого. Если ‘default-target’, используется стандартный целевой столбец, хранящийся на сервере. Если
None, все столбцы возвращаются как данные, а цель —None. Если список (строк), все столбцы с этими именами возвращаются как многоцелевые (Примечание: не все классификаторы 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: Значение по умолчанию
as_frameизменено сFalseна'auto'в 0.24. - n_retriesint, по умолчанию=3
-
Количество попыток повторной загрузки при возникновении ошибок HTTP или тайм-аутах сети. Ошибки со статусом кода 412 не будут повторно загружаться, так как они представляют общие ошибки OpenML.
- delayfloat, по умолчанию=1.0
-
Количество секунд между повторными попытками.
- parser{“auto”, “pandas”, “liac-arff”}, по умолчанию=”auto”
-
Парсер, используемый для загрузки файла ARFF. Реализованы два парсера:
-
"pandas": это наиболее эффективный парсер. Однако для него требуется установка pandas, и он может открывать только плотные наборы данных. -
"liac-arff": это чистый Python-парсер ARFF, который намного менее эффективен с точки зрения памяти и ЦП. Он обрабатывает разреженные наборы данных ARFF.
Если
"auto", парсер выбирается автоматически так, что"liac-arff"выбирается для разреженных наборов данных 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_namesсписок
-
Имена столбцов набора данных.
- target_names: список
-
Имена целевых столбцов.
Добавлена в версии 0.22.
- categoriesсловарь или None
-
Сопоставляет каждое имя категориального признака со списком значений, так что значение, закодированное как i, — это i-е в списке. Если
as_frameравно True, это None. - detailsсловарь
-
Дополнительные метаданные из 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"вместо этого определяет, соответствуют ли эти числовые признаки целым числам, и использует расширенный тип данных целых чисел 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–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.datasets.fetch_openml.html