Как использовать кадры данных polars с scikit-learn?

Я не могу использовать кадры данных polars с scikitlearn для обучения машинному обучению.

В настоящее время я выполняю всю предварительную обработку фрейма данных в полярах, и во время обучения модели я преобразовываю его в панд, чтобы он работал.

Есть ли способ напрямую использовать фрейм данных polars, как для обучения ML, не меняя его на pandas?

Можете ли вы добавить небольшой пример того, чего вы хотите достичь?

ritchie46 11.11.2022 10:23

Во время операций подгонки и преобразования sklearn не принимает полярные кадры данных.

RKCH 11.11.2022 12:17

Вы должны сделать пример. См.: stackoverflow.com/help/how-to-ask

ritchie46 11.11.2022 12:53
14 Задание: Типы данных и структуры данных Python для DevOps
14 Задание: Типы данных и структуры данных Python для DevOps
проверить тип данных используемой переменной, мы можем просто написать: your_variable=100
Python PyPDF2 - запись метаданных PDF
Python PyPDF2 - запись метаданных PDF
Python скрипт, который будет записывать метаданные в PDF файл, для этого мы будем использовать PDF ридер из библиотеки PyPDF2 . PyPDF2 - это...
Переменные, типы данных и операторы в Python
Переменные, типы данных и операторы в Python
В Python переменные используются как место для хранения значений. Пример переменной формы:
Почему Python - идеальный выбор для проекта AI и ML
Почему Python - идеальный выбор для проекта AI и ML
Блог, которым поделился Harikrishna Kundariya в нашем сообществе Developer Nation Community.
Как автоматически добавлять котировки в заголовки запросов с помощью PyCharm
Как автоматически добавлять котировки в заголовки запросов с помощью PyCharm
Как автоматически добавлять котировки в заголовки запросов с помощью PyCharm
Анализ продукта магазина на Tokopedia
Анализ продукта магазина на Tokopedia
Tokopedia - это место, где продавцы могут продавать свои товары. Товар должен быть размещен на витрине, чтобы покупателям было легче найти товар...
1
3
503
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы должны вызывать to_numpy при передаче DataFrame в sklearn. Хотя иногда sklearn может работать с полярами Series, преобразование в тип, ожидаемый основной библиотекой, является хорошей гигиеной типов.

import polars as pl
from sklearn.linear_model import LinearRegression

data = pl.DataFrame(
    np.random.randn(100, 5)
)

x = data.select([
    pl.all().exclude("column_0"),
])

y = data.select(pl.col("column_0").alias("y"))


x_train = x[:80]
y_train = y[:80]

x_test = x[80:]
y_test = y[80:]


m = LinearRegression()

m.fit(X=x_train.to_numpy(), y=y_train.to_numpy())
m.predict(x_test.to_numpy())

Спасибо. Мне просто нужна еще одна вещь во время кодирования категориальных функций с использованием одного горячего кодирования sklearn или любых других методов, что мне делать тогда. Он не кодируется.

RKCH 11.11.2022 13:47

Кроме того, если я конвертирую x_train или x_test в многомерные массивы numpy, то я хочу знать, используется ли больше памяти или нет (я имею в виду некоторую память для полярного кадра данных + некоторую память для массива numpy). Если он занимает дополнительную память, это будет проблемой, если в моей системе меньше оперативной памяти.

RKCH 11.11.2022 14:01
encoding_transformer1 = ColumnTransformer(
    [("Normalizer", Normalizer(), ['Age', 'Fare']),
     ("One-hot encoder",
      OneHotEncoder(dtype=int, handle_unknown='infrequent_if_exist'),
      ['Pclass', 'Sex', 'SibSp', 'Parch', 'Embarked'])],
    n_jobs=-1,
    verbose=True,
    verbose_feature_names_out=True)

encoding_transformer1.fit(xtrain)
train_data = encoding_transformer1.transform(xtrain).tocsr()
test_data = encoding_transformer1.transform(xtest).tocsr()

Я получаю эту ошибку:

ValueError: Specifying the columns using strings is only supported for pandas DataFrames

что я должен делать?

Я нашел одну горячую кодировку методом to_dummies, но как же нам сделать другие методы кодирования.

RKCH 11.11.2022 14:34

Другие вопросы по теме