最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【R機(jī)器學(xué)習(xí):mlr3verse技術(shù)手冊】III 特征工程① 缺失值插補(bǔ)

2022-12-01 18:33 作者:張敬信老師  | 我要投稿


3 特征工程

機(jī)器學(xué)習(xí)中的數(shù)據(jù)預(yù)處理,通常也統(tǒng)稱為特征工程,主要包括:缺失值插補(bǔ)、特征變換,目的是提升模型性能。

3.1 特征工程概述

用?mlr3pipelines?包實(shí)現(xiàn)特征工程:

  • 選擇特征工程步相應(yīng)的?PipeOp;

  • 多個(gè)特征工程步通過管道符%>>%連接;

  • 很多PipeOp都支持affect_columns參數(shù),接受Selector選擇器函數(shù)(接受Task)以選擇該PipeOp影響的列:

  • selector_all(): 選擇所有特征;

  • selector_none(): 不選擇任何特征;

  • selector_type(types): 根據(jù)類型來選擇特征:"logical", "integer", "numeric", "character", "factor", "ordered", "POSIXct";

  • selector_grep(pattern): 根據(jù)正則表達(dá)式匹配(特征名字)選擇特征;

  • selector_name(feature_names): 根據(jù)特征名字選擇特征;

  • selector_invert(selector): 選擇某選擇器的反選特征;

  • selector_intersect/union/setdiff(selector_x, selector_y): 選擇兩個(gè)選擇器特征的交/并/差集;

  • selector_missing(): 選擇包含缺失值的特征;

  • selector_cardinality_greater_than(min_cardinality): 選擇分類特征的基數(shù)大于指定閾值的特征。

幫助:?PipeOp

以“標(biāo)準(zhǔn)化”管道為例,其$train()方法接受訓(xùn)練數(shù)據(jù),做標(biāo)準(zhǔn)化處理輸出變換后的數(shù)據(jù),同時(shí)訓(xùn)練好了“標(biāo)準(zhǔn)化”參數(shù)(均值、標(biāo)準(zhǔn)差)將作為狀態(tài)$state保存下來;其$predict()方法,用保存好的狀態(tài)參數(shù)對新數(shù)據(jù)做同樣的變換。

下面看一個(gè)具體的例子:

特征工程管道的兩種用法:

(1) 調(diào)試:查看特征工程步對輸入數(shù)據(jù)做了什么

  • 訓(xùn)練特征工程管道:提供任務(wù),訪問特征工程之后的數(shù)據(jù):

將訓(xùn)練好的特征工程管道,用于新數(shù)據(jù):

(2) 用于機(jī)器學(xué)習(xí):再接一個(gè)學(xué)習(xí)器,轉(zhuǎn)化成圖學(xué)習(xí)器(和普通學(xué)習(xí)器一樣使用)

3.2 缺失值插補(bǔ)

目前支持的插補(bǔ)方法:

3.2.1 簡單插補(bǔ)

  • 用某常數(shù)、均值、中位數(shù)、眾數(shù)插補(bǔ)

3.2.2 隨機(jī)抽樣插補(bǔ)

  • 通過從非缺失的訓(xùn)練數(shù)據(jù)中隨機(jī)抽樣來插補(bǔ)特征

3.2.3 直方圖法插補(bǔ)

  • 用直方圖法插補(bǔ)數(shù)值特征

3.2.4 學(xué)習(xí)器插補(bǔ)

  • 通過為每個(gè)特征擬合一個(gè)學(xué)習(xí)器來插補(bǔ)特征

使用參數(shù)context_columns所指示的特征作為特征來訓(xùn)練插補(bǔ)學(xué)習(xí)器。注意該參數(shù)是PipeOpImpute基類的一部分。

此外,只有學(xué)習(xí)器支持的特征可以被插補(bǔ);即regr類型的學(xué)習(xí)器只能插補(bǔ)整數(shù)和數(shù)值特征,而classif可以插補(bǔ)因子、有序因子和邏輯值特征。

用于插補(bǔ)的學(xué)習(xí)器是在所有的context_columns上訓(xùn)練的;如果這些列包含缺失值,學(xué)習(xí)器通常需要能夠自己處理缺失值,或者需要做自我插補(bǔ)。

  • 決策樹插補(bǔ)

  • KNN 插補(bǔ),訓(xùn)練 KNN 學(xué)習(xí)器時(shí),先用直方圖法插補(bǔ)

3.2.5 超出范圍插補(bǔ)

通過增加一個(gè)新的水平 ".MISSING" 來插補(bǔ)因子特征。

通過使用min(x)?offset?multiplier?diff(range(x)max(x) + offset + multiplier * diff(range(x)),移到最小值以下或最大值以上的常量值插補(bǔ)數(shù)值特征。

該插補(bǔ)法在基于樹的模型中尤其合理。


另外,跟缺失值相關(guān)的特征工程還有po("missind"):在任務(wù)中增加是否缺失指示列(刪除原始特征),通常與PipeOpFeatureUnion和各插補(bǔ)PipeOps結(jié)合使用。

注意,affect_columns是用selector_invert(selector_type(c("factor", "ordered", "character"))初始化的,因?yàn)橐蜃恿械娜笔е低ǔJ怯贸龇秶牟逖a(bǔ)(PipeOpImputeOOR)。

注:當(dāng)然也可以在mlr3框架外面,單獨(dú)對數(shù)據(jù)做缺失值插補(bǔ),再用來創(chuàng)建任務(wù)。

參考文獻(xiàn)

  1. Marc Becker et al. mlr3book. 2022.

  2. Marc Becker et al. mlr3 Gallery. 2021.

  3. Bernd Bischl et al. Machine Learning Pipelines in R. 2021.

  4. Martin Binder et al. mlr3pipelines: Preprocessing Operators and Pipelines for mlr3. 2022.

我正在寫一本《R機(jī)器學(xué)習(xí):基于mlr3verse》的書,其中的mlr3verse技術(shù)篇草稿,歡迎您的閱讀品鑒和轉(zhuǎn)發(fā)擴(kuò)散(但禁止用于任何出版)!

想提前學(xué)習(xí)本書內(nèi)容,也可以關(guān)注我的?2023年寒假“R機(jī)器學(xué)習(xí)(基于mlr3verse)”培訓(xùn)班,邀請函鏈接:提取碼:xxul

https://pan.baidu.com/s/1_SaYPebqhnXoxDT8W9tjJA?pwd=xxul

另外,我在第15屆中國R會上做的報(bào)告,相當(dāng)于是?mlr3verse技術(shù)手冊?的整體略講:

張敬信 第15屆R會報(bào)告-R機(jī)器學(xué)習(xí):mlr3verse核心工作流https://www.zhihu.com/zvideo/1579758441576534016
講座 PPT?以及?R機(jī)器學(xué)習(xí):mlr3verse技術(shù)手冊,可到我的 Gitee/Github下載:

https://gitee.com/zhjx19/rconf15

https://github.com/zhjx19/RConf15


【R機(jī)器學(xué)習(xí):mlr3verse技術(shù)手冊】III 特征工程① 缺失值插補(bǔ)的評論 (共 條)

分享到微博請遵守國家法律
广饶县| 秦安县| 湛江市| 共和县| 古交市| 枣强县| 英吉沙县| 苏州市| 武功县| 秭归县| 阳谷县| 基隆市| 泽州县| 比如县| 庆云县| 济南市| 桐梓县| 广宗县| 崇仁县| 丰宁| 五华县| 东至县| 林州市| 正宁县| 广水市| 贵港市| 灵山县| 肇东市| 伊川县| 漳平市| 义乌市| 闻喜县| 勃利县| 唐海县| 托克逊县| 吐鲁番市| 桃江县| 偃师市| 南皮县| 贵港市| 昆明市|