ML之FE:基于BigMartSales数据集利用Featuretools工具实现自动特征工程之详细攻略daiding
生活随笔
收集整理的這篇文章主要介紹了
ML之FE:基于BigMartSales数据集利用Featuretools工具实现自动特征工程之详细攻略daiding
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
ML之FE:基于BigMartSales數(shù)據(jù)集利用Featuretools工具實(shí)現(xiàn)自動(dòng)特征工程之詳細(xì)攻略daiding
?
?
目錄
基于BigMartSales數(shù)據(jù)集利用Featuretools工具實(shí)現(xiàn)自動(dòng)特征工程
設(shè)計(jì)思路
輸出結(jié)果
核心代碼
?
?
?
?
基于BigMartSales數(shù)據(jù)集利用Featuretools工具實(shí)現(xiàn)自動(dòng)特征工程
設(shè)計(jì)思路
更新……
?
?
?
輸出結(jié)果
train.shape: (500, 12) test.shape: (200, 11) after drop, train.shape: (500, 11) data_all.shape: (700, 11) -------------------data_all_CountNull: Item_Identifier 0 Item_Weight 136 Item_Fat_Content 0 Item_Visibility 0 Item_Type 0 Item_MRP 0 Outlet_Identifier 0 Outlet_Establishment_Year 0 Outlet_Size 202 Outlet_Location_Type 0 Outlet_Type 0 dtype: int64 -------------------after fillna,data_all_CountNull: Item_Identifier 0 Item_Weight 0 Item_Fat_Content 0 Item_Visibility 0 Item_Type 0 Item_MRP 0 Outlet_Identifier 0 Outlet_Establishment_Year 0 Outlet_Size 0 Outlet_Location_Type 0 Outlet_Type 0 dtype: int64 -------------------Item_Fat_Content feature value_count: Low Fat 436 Regular 221 LF 23 low fat 12 reg 8 Name: Item_Fat_Content, dtype: int64 ----------data_all.shape: (700, 11) Entityset: salesEntities:bigmart [Rows: 700, Columns: 7]outlet [Rows: 10, Columns: 5]Relationships:bigmart.Outlet_Identifier -> outlet.Outlet_Identifier?
核心代碼
#2、利用Featuretools工具實(shí)現(xiàn)自動(dòng)特征工程 #(1)、創(chuàng)建一個(gè)實(shí)體集EntitySet:實(shí)體集是一種包含多個(gè)數(shù)據(jù)幀及其之間關(guān)系的結(jié)構(gòu)。 es = ft.EntitySet(id = 'sales') es.entity_from_dataframe(entity_id = 'bigmart', dataframe = data_all, index = 'id') # adding a dataframe #(2)、規(guī)范化實(shí)體集:數(shù)據(jù)中包含兩個(gè)級(jí)別的信息,即?item商品級(jí)別和?outlet門店級(jí)別。 #Featuretools能把一個(gè)數(shù)據(jù)集拆分成多個(gè)表格。我們根據(jù)outlet ID Outlet_Identifier從BigMart表中創(chuàng)建一個(gè)新表“outlet”。 es.normalize_entity(base_entity_id='bigmart', new_entity_id='outlet', index = 'Outlet_Identifier', additional_variables = ['Outlet_Establishment_Year', 'Outlet_Size', 'Outlet_Location_Type', 'Outlet_Type']) print(es) ''' 輸出實(shí)體集EntitySet的組成 它包含兩個(gè)實(shí)體,為bigmart和outlet。這兩個(gè)表之間也形成了一種關(guān)系,用Outlet_Identifier連接。 這種關(guān)系將在生成新特征中發(fā)揮關(guān)鍵作用。 '''#(3)、使用DFS來自動(dòng)創(chuàng)建新特征:DFS使用特征基元和實(shí)體集中給出的多個(gè)表來創(chuàng)建特征。 ''' target_entity只是創(chuàng)建新特征的實(shí)體ID,這種情況下為實(shí)體“bigmart”。 參數(shù)max_depth控制著通過堆疊基元生成的要素復(fù)雜性。 參數(shù)n_jobs通過使用多個(gè)內(nèi)核來輔助并行特征計(jì)算。 這就是使用Featuretools的過程,它已經(jīng)產(chǎn)生了許多新特征。 ''' feature_matrix, feature_names = ft.dfs(entityset=es,target_entity = 'bigmart', max_depth = 2,verbose = 1, n_jobs = -1) print(feature_matrix.columns) print(feature_matrix.head())?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的ML之FE:基于BigMartSales数据集利用Featuretools工具实现自动特征工程之详细攻略daiding的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Paper:《A Few Useful
- 下一篇: Py之matplotlib.pyplot