ML之FE:基于BigMartSales数据集利用Featuretools工具(1个dataframe表结构切为2个Entity表结构)实现自动特征工程之详细攻略
ML之FE:基于BigMartSales數(shù)據(jù)集利用Featuretools工具(1個(gè)dataframe表結(jié)構(gòu)切為2個(gè)Entity表結(jié)構(gòu))實(shí)現(xiàn)自動(dòng)特征工程之詳細(xì)攻略
?
?
?
目錄
基于BigMartSales數(shù)據(jù)集利用Featuretools工具(1個(gè)dataframe表結(jié)構(gòu)切為2個(gè)Entity表結(jié)構(gòu))實(shí)現(xiàn)自動(dòng)特征工程之詳細(xì)攻略
設(shè)計(jì)思路
輸出結(jié)果
1、結(jié)果輸出
2、FE后的字段
3、衍生字段案例具體實(shí)現(xiàn)過(guò)程
T1、選擇的基字段(1個(gè))
(1)、生成的所有衍生字段
(2)、父衍生字段—outlet.COUNT(bigmart)
(3)、子衍生字段的具體字段分析
T2、選擇的基字段(2個(gè))
核心代碼
?
?
相關(guān)文章
ML之FE:基于BigMartSales數(shù)據(jù)集利用Featuretools工具(1個(gè)dataframe表結(jié)構(gòu)切為2個(gè)Entity表結(jié)構(gòu))實(shí)現(xiàn)自動(dòng)特征工程之詳細(xì)攻略
ML之FE:基于BigMartSales數(shù)據(jù)集利用Featuretools工具(1個(gè)dataframe表結(jié)構(gòu)切為2個(gè)Entity表結(jié)構(gòu))實(shí)現(xiàn)自動(dòng)特征工程之詳細(xì)攻略實(shí)現(xiàn)
?
基于BigMartSales數(shù)據(jù)集利用Featuretools工具(1個(gè)dataframe表結(jié)構(gòu)切為2個(gè)Entity表結(jié)構(gòu))實(shí)現(xiàn)自動(dòng)特征工程之詳細(xì)攻略
設(shè)計(jì)思路
?
?
?
輸出結(jié)果
1、結(jié)果輸出
?
2、FE后的字段
| Item_Identifier | Item_Weight | Item_Fat_Content | Item_Visibility | Item_Type | Item_MRP |
| Outlet_Identifier | Outlet_Establishment_Year | Outlet_Size | Outlet_Location_Type | Outlet_Type | id |
?
?
3、衍生字段案例具體實(shí)現(xiàn)過(guò)程
T1、選擇的基字段(1個(gè))
['id','Item_Identifier','Item_Weight','Outlet_Identifier','Outlet_Establishment_Year', 'Outlet_Size']
?
(1)、生成的所有衍生字段
| id | Item_Identifier | Item_Weight | ? |
| ? | Outlet_Identifier | outlet.Outlet_Establishment_Year | outlet.Outlet_Size |
| outlet.COUNT(bigmart) | outlet.MODE(bigmart.Item_Identifier) | outlet.NUM_UNIQUE(bigmart.Item_Identifier) | ? |
| ? | outlet.MAX(bigmart.Item_Weight) | outlet.MEAN(bigmart.Item_Weight) | outlet.MIN(bigmart.Item_Weight) |
| ? | outlet.SKEW(bigmart.Item_Weight) | outlet.STD(bigmart.Item_Weight) | outlet.SUM(bigmart.Item_Weight) |
?
?
(2)、父衍生字段—outlet.COUNT(bigmart)
outlet.COUNT(bigmart)字段意義:是根據(jù)Outlet_Identifier字段內(nèi)10個(gè)子類別的整體個(gè)數(shù),分別進(jìn)行填充設(shè)計(jì)。
outlet.COUNT(bigmart)字段內(nèi)容:根據(jù)該字段的下拉列表可知,標(biāo)記為1550的個(gè)數(shù)有4650個(gè),是因?yàn)樵贠utlet_Identifier字段內(nèi),OUT035、OUT046、OUT049三個(gè)子類別均有1550個(gè),所以,以上結(jié)果比較巧。
?
(3)、子衍生字段的具體字段分析
outlet.MODE(bigmart.Item_Identifier)?? ?字段的分析過(guò)程
?
?
T2、選擇的基字段(2個(gè))
['Item_Identifier','Item_Weight','Item_Fat_Content','Outlet_Identifier','Outlet_Establishment_Year', 'Outlet_Size']
| id | Item_Identifier | Item_Weight | Item_Fat_Content | ? | ? |
| ? | Outlet_Identifier | outlet.Outlet_Establishment_Year | outlet.Outlet_Size | ? | ? |
| outlet.COUNT(bigmart) | outlet.MODE(bigmart.Item_Identifier) | outlet.NUM_UNIQUE(bigmart.Item_Identifier) | ? | ? | ? |
| outlet.MAX(bigmart.Item_Fat_Content) | outlet.MEAN(bigmart.Item_Fat_Content) | outlet.MIN(bigmart.Item_Fat_Content) | outlet.SKEW(bigmart.Item_Fat_Content) | outlet.STD(bigmart.Item_Fat_Content) | outlet.SUM(bigmart.Item_Fat_Content) |
| outlet.MAX(bigmart.Item_Weight) | outlet.MEAN(bigmart.Item_Weight) | outlet.MIN(bigmart.Item_Weight) | outlet.SKEW(bigmart.Item_Weight) | outlet.STD(bigmart.Item_Weight) | outlet.SUM(bigmart.Item_Weight) |
?
?
核心代碼
#2.2、特征衍生 #(1)、創(chuàng)建一個(gè)實(shí)體集EntitySet:實(shí)體集是一種包含多個(gè)數(shù)據(jù)幀及其之間關(guān)系的結(jié)構(gòu)。 ftES = ft.EntitySet(id = 'sales') #(2)、規(guī)范化實(shí)體集: ftES.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',])#(3)、利用dfs函數(shù)自動(dòng)創(chuàng)建新特征并輸出 feature_matrix, feature_names = ft.dfs(entityset=ftES,target_entity = 'bigmart', max_depth = 2, # verbose = 1, n_jobs = -1,) print('feature_names: \n',len(feature_names),feature_names) print('feature_matrix:',feature_matrix.shape,type(feature_matrix),'\n',feature_matrix.iloc[:,:10].head()) feature_matrix.to_csv('%sfeature_matrix.csv'%date)feature_matrix = feature_matrix.reindex(index=data_all['id']) # reindex()函數(shù),重新把列/行根據(jù)columns/index參數(shù)指定字段順序整理一遍 feature_matrix = feature_matrix.reset_index() # reset_index()函數(shù),重新設(shè)置dataframe的index,范圍為0~len(df) feature_matrix.to_csv('%sfeature_matrix2reset_index01.csv'%date)?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的ML之FE:基于BigMartSales数据集利用Featuretools工具(1个dataframe表结构切为2个Entity表结构)实现自动特征工程之详细攻略的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 成功解决KeyError: “Passi
- 下一篇: 成功解决_catboost.CatBoo