直播课程 https://tianchi.aliyun.com/notebook-ai/detail?postId=95457
~拿到赛题,先阅读赛题。查看赛题背景和需要完成的任务。是否存在数据缺失,误报,飘移等情况。可能会包含处理数据需要的步骤。需要考虑模型的泛化能力。
~查看赛题,列名及描述。
~考虑显式特征和匿名特征。对于匿名特征做一些变换猜测特征的特点。考虑不同表之间的关联和匹配。
~考虑数据量,笔记本的承受能力。
这道赛题使用MAE评测标准。
不同评测指标对模型的判断标准不一样,会影响评分。最好是让训练评测标准和赛题标准一致。
评估指标是对于模型效果的数值型量化,可以使用sklearn.metrics中的函数进行评分计算。
分类:敏感度(accuracy_score)、Precision、Recall、F1-score、AUC-score
回归:MAE(平均绝对误差)、MSE(均方误差)、MAPE(平均绝对百分误差)、R2-score
注意提交的标准和格式。
这道题是典型的回归问题,主要有应用xgb、lgb、catboost以及pandas numpy seaborn sklearn等常用包和框架来挖掘。
使用sklearn的metrics来判断分类效果。
理解赛题是什么问题,需要完成什么。
对数据进行读取,了解数据分布。
根据赛题的评价指标,调整本地模型评价以及调整模型。
了解赛题背景里面隐藏的条件,比如数据缺失,异常等。
1 导入工具包
导入数据,查看数据特征,简单判断是否存在异常点。
2 数据查看
查看train和test对应位置的分布情况
3 特征工程
提取特征列,提取数据列,文本列进行处理,添加逻辑特征
构建训练测试样本
填补缺失值
4 模型训练
使用xgb进行模型调参
5 模型融合
通过各种方法,对所给的数据集进行熟悉,了解数据的特征,了解各个变量之间的关系,进行数据清洗数据梳理,以便于下一步选取特征工程进行建模,这一步骤可能会反复好多次,占据整个建模流程的大多数时间。
时序图,便于观察数据特点,周期性,震荡幅度
直方图,方便观察数据分布,
密度曲线图,连续的分布
箱型图,方便查看不同区间数据的分布以及查看异常情况
小提琴图,可看出值附近的频率
独立性分析:
导入各种库:
特征分为两种,一种是数字型特征,一种是类别型特征,对他们分开进行分析。
数字特征分析
相关性分析,使用corr()函数,先选取价格字段,与其他字段进行相关性排序;使用sns.heatmap 热度,分析不同字段相互的相关性。
偏度和峰值
每个数字特征得分布可视化
数字特征相互之间的关系可视化 sns.pairplot
多变量互相回归关系可视化。将变量和价格绘制成散点图,再使用sns函数拟合,
类型特征分析,查看数据分布情况
unique分布
类别特征箱形图可视化,使用sns.boxplot
类别特征的小提琴图可视化 sns.violinplot
类别特征的柱形图可视化类别
特征的每个类别频数可视化(count_plot)
用pandas_profiling生成数据报告
#导入warnings包,利用过滤器来实现忽略警告语句。
import warnings
warnings.filterwarnings('ignore')
import pandas as pd #导入各种常用包
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import missingno as msno
sorted_value(inplace=True) # 使用排序后得到的新数据集替换原来的数据集