我無法將 Polars 資料幀與 scikitlearn 一起用于 ML 訓練。
目前,我正在極地進行所有資料幀預處理,在模型訓練期間,我將其轉換為 pandas 以使其正常作業。
有沒有什么方法可以直接使用 polars 資料框進行 ML 訓練而不將其更改為 pandas?
uj5u.com熱心網友回復:
to_numpy將 a 傳遞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())
uj5u.com熱心網友回復:
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
我應該怎么辦?
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/533070.html
上一篇:對分類任務進行投票
下一篇:將分類特征轉換為數值
