ML之FE:基于BigMartSales数据集利用Featuretools工具实现自动特征工程之详细攻略daiding
生活随笔
收集整理的這篇文章主要介紹了
ML之FE:基于BigMartSales数据集利用Featuretools工具实现自动特征工程之详细攻略daiding
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ML之FE:基于BigMartSales數據集利用Featuretools工具實現自動特征工程之詳細攻略daiding
?
?
目錄
基于BigMartSales數據集利用Featuretools工具實現自動特征工程
設計思路
輸出結果
核心代碼
?
?
?
?
基于BigMartSales數據集利用Featuretools工具實現自動特征工程
設計思路
更新……
?
?
?
輸出結果
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工具實現自動特征工程 #(1)、創建一個實體集EntitySet:實體集是一種包含多個數據幀及其之間關系的結構。 es = ft.EntitySet(id = 'sales') es.entity_from_dataframe(entity_id = 'bigmart', dataframe = data_all, index = 'id') # adding a dataframe #(2)、規范化實體集:數據中包含兩個級別的信息,即?item商品級別和?outlet門店級別。 #Featuretools能把一個數據集拆分成多個表格。我們根據outlet ID Outlet_Identifier從BigMart表中創建一個新表“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) ''' 輸出實體集EntitySet的組成 它包含兩個實體,為bigmart和outlet。這兩個表之間也形成了一種關系,用Outlet_Identifier連接。 這種關系將在生成新特征中發揮關鍵作用。 '''#(3)、使用DFS來自動創建新特征:DFS使用特征基元和實體集中給出的多個表來創建特征。 ''' target_entity只是創建新特征的實體ID,這種情況下為實體“bigmart”。 參數max_depth控制著通過堆疊基元生成的要素復雜性。 參數n_jobs通過使用多個內核來輔助并行特征計算。 這就是使用Featuretools的過程,它已經產生了許多新特征。 ''' 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())?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的ML之FE:基于BigMartSales数据集利用Featuretools工具实现自动特征工程之详细攻略daiding的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Paper:《A Few Useful
- 下一篇: Py之matplotlib.pyplot