Make training pipeline

將數(shù)據(jù)集中的features 劃分為數(shù)值型和object型

因?yàn)閜andas 只有 object 型 和int float數(shù)值型

(1)創(chuàng)建處理管道(processing pipeline)

對(duì)數(shù)據(jù)進(jìn)行預(yù)處理

num_transformer = Pipeline(

? ? steps=[("imputer", SimpleImputer(strategy="median")), ("scaler", StandardScaler())]

)

cate_transformer = Pipeline(

? ? steps=[

? ? ? ? ("imputer", SimpleImputer(strategy="constant", fill_value="missing")),

? ? ? ? ("onehot", OneHotEncoder(handle_unknown="error", drop="first")),

? ? ]

)

SimpleImputer提供了填充缺失值的基本策略。缺失值可以用常量值或使用缺失值所在列的統(tǒng)計(jì)信息(平均值、中位數(shù)或最頻繁)進(jìn)行填充。上述填充的是中位數(shù)(median)

StandardScaler(),標(biāo)準(zhǔn)化,將數(shù)據(jù)集處理為均值為0,方差為一的數(shù)據(jù)

OneHotEncoder(獨(dú)熱編碼),這種表示方式將每一個(gè)分類特征變量的m個(gè)可能的取值轉(zhuǎn)變成m個(gè)二值特征,對(duì)于每一條數(shù)據(jù)這m個(gè)值中僅有一個(gè)特征值為1,其他的都為0。


transformations = ColumnTransformer(

? ? transformers=[

? ? ? ? ("num", numeric_transformer, numerical),

? ? ? ? ("cat", categorical_transformer, categorical),

? ? ]

)

ColumnTransformer()在Python的機(jī)器學(xué)習(xí)庫scikit-learn中,可以選擇地進(jìn)行數(shù)據(jù)轉(zhuǎn)換。例如,它允許將特定的轉(zhuǎn)換或轉(zhuǎn)換序列僅應(yīng)用于數(shù)字列,而將單獨(dú)的轉(zhuǎn)換序列僅應(yīng)用于類別列。


(2)預(yù)測(cè)管道

clf = Pipeline(

? ? steps=[("preprocessor", transformations), ("classifier", LGBMClassifier())]

)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容