ML之FE:基于BigMartSales数据集利用Featuretools工具实现自动特征工程之详细攻略daiding

简介: ML之FE:基于BigMartSales数据集利用Featuretools工具实现自动特征工程之详细攻略daiding

 

目录

基于BigMartSales数据集利用Featuretools工具实现自动特征工程

设计思路

输出结果

核心代码


 

 

 

 

基于BigMartSales数据集利用Featuretools工具实现自动特征工程

设计思路

更新……

 

 

 

输出结果

1. train.shape: (500, 12)
2. test.shape: (200, 11)
3. after drop, train.shape: (500, 11)
4. data_all.shape: (700, 11)
5. -------------------data_all_CountNull: Item_Identifier                0
6. Item_Weight                  136
7. Item_Fat_Content               0
8. Item_Visibility                0
9. Item_Type                      0
10. Item_MRP                       0
11. Outlet_Identifier              0
12. Outlet_Establishment_Year      0
13. Outlet_Size                  202
14. Outlet_Location_Type           0
15. Outlet_Type                    0
16. dtype: int64
17. -------------------after fillna,data_all_CountNull: 
18.  Item_Identifier              0
19. Item_Weight                  0
20. Item_Fat_Content             0
21. Item_Visibility              0
22. Item_Type                    0
23. Item_MRP                     0
24. Outlet_Identifier            0
25. Outlet_Establishment_Year    0
26. Outlet_Size                  0
27. Outlet_Location_Type         0
28. Outlet_Type                  0
29. dtype: int64
30. -------------------Item_Fat_Content feature value_count: 
31.  Low Fat    436
32. Regular    221
33. LF          23
34. low fat     12
35. reg          8
36. Name: Item_Fat_Content, dtype: int64
37. ----------data_all.shape: (700, 11)
38. Entityset: sales
39.   Entities:
40.     bigmart [Rows: 700, Columns: 7]
41.     outlet [Rows: 10, Columns: 5]
42.   Relationships:
43.     bigmart.Outlet_Identifier -> outlet.Outlet_Identifier

 

核心代码

1. #2、利用Featuretools工具实现自动特征工程
2. #(1)、创建一个实体集EntitySet:实体集是一种包含多个数据帧及其之间关系的结构。
3. es = ft.EntitySet(id = 'sales') 
4. es.entity_from_dataframe(entity_id = 'bigmart', dataframe = data_all, index = 'id')   # adding a dataframe 
5. 
6. 
7. #(2)、规范化实体集:数据中包含两个级别的信息,即 item商品级别和 outlet门店级别。
8. #Featuretools能把一个数据集拆分成多个表格。我们根据outlet ID Outlet_Identifier从BigMart表中创建一个新表“outlet”。
9. es.normalize_entity(base_entity_id='bigmart', 
10.                     new_entity_id='outlet', 
11.                     index = 'Outlet_Identifier', 
12.                     additional_variables =   
13.                     ['Outlet_Establishment_Year', 'Outlet_Size',  
14. 'Outlet_Location_Type', 'Outlet_Type'])
15. print(es)  
16. '''
17. 输出实体集EntitySet的组成
18. 它包含两个实体,为bigmart和outlet。这两个表之间也形成了一种关系,用Outlet_Identifier连接。
19. 这种关系将在生成新特征中发挥关键作用。
20. '''
21. 
22. 
23. #(3)、使用DFS来自动创建新特征:DFS使用特征基元和实体集中给出的多个表来创建特征。
24. '''
25. target_entity只是创建新特征的实体ID,这种情况下为实体“bigmart”。
26. 参数max_depth控制着通过堆叠基元生成的要素复杂性。
27. 参数n_jobs通过使用多个内核来辅助并行特征计算。
28. 这就是使用Featuretools的过程,它已经产生了许多新特征。
29. '''
30. feature_matrix, feature_names = ft.dfs(entityset=es,target_entity = 'bigmart', 
31.                                        max_depth = 2,verbose = 1, n_jobs = -1)
32. print(feature_matrix.columns)
33. print(feature_matrix.head())

 


相关文章
|
7月前
|
机器学习/深度学习 JSON 数据格式
CatBoost模型部署与在线预测教程
CatBoost模型部署与在线预测教程【2月更文挑战第16天】
163 2
|
机器学习/深度学习 存储 数据可视化
【PyTorch基础教程23】可视化网络和训练过程
为了更好确定复杂网络模型中,每一层的输入结构,输出结构以及参数等信息,在Keras中可以调用一个叫做model.summary()的API能够显示我们的模型参数,输入大小,输出大小,模型的整体参数等。
1664 0
【PyTorch基础教程23】可视化网络和训练过程
|
2月前
|
机器学习/深度学习 数据挖掘 Serverless
手把手教你全面评估机器学习模型性能:从选择正确评价指标到使用Python与Scikit-learn进行实战演练的详细指南
【10月更文挑战第10天】评估机器学习模型性能是开发流程的关键,涉及准确性、可解释性、运行速度等多方面考量。不同任务(如分类、回归)采用不同评价指标,如准确率、F1分数、MSE等。示例代码展示了使用Scikit-learn库评估逻辑回归模型的过程,包括数据准备、模型训练、性能评估及交叉验证。
84 1
|
5月前
|
数据采集 机器学习/深度学习 数据可视化
关于Python数据分析项目的简要概述:从CSV加载数据,执行数据预处理,进行数据探索,选择线性回归模型进行训练,评估模型性能并优化,最后结果解释与可视化。
【7月更文挑战第5天】这是一个关于Python数据分析项目的简要概述:从CSV加载数据,执行数据预处理(填充缺失值,处理异常值),进行数据探索(可视化和统计分析),选择线性回归模型进行训练,评估模型性能并优化,最后结果解释与可视化。此案例展示了数据科学的典型流程。
76 2
|
机器学习/深度学习 算法 PyTorch
机器学习之PyTorch和Scikit-Learn第6章 学习模型评估和超参数调优的最佳实践Part 2
本节中,我们来看两个非常简单但强大的诊断工具,可帮助我们提升学习算法的性能:学习曲线和验证曲线,在接下的小节中,我们会讨论如何使用学习曲线诊断学习算法是否有过拟合(高方差)或欠拟合(高偏置)的问题。另外,我们还会学习验证曲线,它辅助我们处理学习算法中的常见问题。
361 0
机器学习之PyTorch和Scikit-Learn第6章 学习模型评估和超参数调优的最佳实践Part 2
|
机器学习/深度学习 存储 数据采集
机器学习之PyTorch和Scikit-Learn第6章 学习模型评估和超参数调优的最佳实践Part 1
在前面的章节中,我们学习了用于分类的基本机器学习算法以及如何在喂给这些算法前处理好数据。下面该学习通过调优算法和评估模型表现来构建良好机器学习模型的最佳实践了。本章中,我们将学习如下内容: 评估机器学习模型表现 诊断机器学习算法常见问题 调优机器学习模型 使用不同的性能指标评估预测模型 通过管道流程化工作流
294 0
机器学习之PyTorch和Scikit-Learn第6章 学习模型评估和超参数调优的最佳实践Part 1
|
机器学习/深度学习 存储 算法
【机器学习实战项目】10分钟学会Python怎么用LDA线性判别模型进行分类预测(五)
【机器学习实战项目】10分钟学会Python怎么用LDA线性判别模型进行分类预测(五)
370 0
|
机器学习/深度学习 算法 数据处理
ML之FE:数据处理—特征工程之稀疏特征的简介、如何处理、案例应用之详细攻略
ML之FE:数据处理—特征工程之稀疏特征的简介、如何处理、案例应用之详细攻略
ML之FE:数据处理—特征工程之稀疏特征的简介、如何处理、案例应用之详细攻略
|
机器学习/深度学习 人工智能 算法
机器学习之PyTorch和Scikit-Learn第6章 学习模型评估和超参数调优的最佳实践Part 3
在前面的章节中,我们使用预测准确率来评估各机器学习模型,通常这是用于量化模型表现很有用的指标。但还有其他几个性能指标可以用于衡量模型的相关性,例如精确率、召回率、F1分数和马修斯相关系数(MCC)等。
354 0
|
存储 数据采集 机器学习/深度学习
Prophet模型的简介以及案例分析(下)
Prophet模型的简介以及案例分析(下)