二手车交易价格预测学习笔记 -- Task3

Winema ·
更新时间:2024-11-14
· 730 次阅读

赛题:零基础入门数据挖掘 - 二手车交易价格预测
地址:https://tianchi.aliyun.com/competition/entrance/231784/introduction?spm=5176.12281957.1004.1.38b02448ausjSX

特征工程 常用方法 from operator import itemgetter 获取某位置的数据 pandas 提取行数据 pd.iloc() 或 pd.loc() 分位数 quantile() pandas 一维数组 pd.Series() numpy 创建等差数组 np.arange() 行或列的数量 arr.shape[0] 一维数组等价于 len(arr) 取数组中的数组1或数组2 arr_all[arr_low | arr_up] 格式化字符串 “数量是:{}”.format(number) pandas 时间数据 pd.to_datetime(errors = ‘coerce’) 去掉错误格式数据 pandas 时间格式为天数 datetime.dt.days 方法嵌套 data.apply(lambda x: str(x)[:-3]) 截取数据到倒数第四位 pandas 按某列分组 df.groupby() 字典转DataFrame,转置,增加序号列,改名“序号”为“品牌” pd.DataFrame().T.reset_index().rename(columns={“index”: “brand”}) pandas 分区间 pd.cut(bin) 区间 bin=[x,y,z] 创建列表 bin = [i*10 for i in range(n)] = [for i in range(0,10n,10)] = [0, 10, 20, …,10(n-1)] pandas 删除行或列 df.drop() 列 axis=1 行 axis=0 pandas 画直方图 df.plot.hist() sklearn 归一化 preprocessing.MinMaxScaler() pandas one-hot编码 pd.get_dummies() spearman相关系数 df.corr(method=‘spearman’) 自动特征选取 from mlxtend.feature_selection import SequentialFeatureSelector as SFS from sklearn.linear_model import LinearRegression sfs = SFS(LinearRegression(), k_features=10, forward=True, floating=False, scoring = 'r2', cv = 0) x = data.drop(['price'], axis=1) x = x.fillna(0) y = data['price'] sfs.fit(x, y) sfs.k_feature_names_ 特征选取可视化 from mlxtend.plotting import plot_sequential_feature_selection as plot_sfs import matplotlib.pyplot as plt fig1 = plot_sfs(sfs.get_metric_dict(), kind='std_dev') plt.grid() plt.show() 小结 “发动机功率” 的部分值异常,进行长尾截断; 把 “汽车注册日期” 转换为数值格式 “使用天数”,异常值待处理; 根据 “邮编” 的前三位转换为 “城市”; 按 “品牌” 进行分组统计; 把 “发动机功率” 的数据分区间; 删除不需要的数据(“汽车注册日期”"邮编"等); 把已构造好的特征数据喂给模型,不同模型可以构造新的特征; 特征归一化 类别特征进行one-hot编码 特征选取:
1)可以根据相关性系数选取;
2)可以导入mlxtend.feature_selection自动选取 基本内容

常见的特征工程包括:
1.异常处理:
通过箱线图(或 3-Sigma)分析删除异常值;
BOX-COX 转换(处理有偏分布);
长尾截断;
2.特征归一化/标准化:
标准化(转换为标准正态分布);
归一化(抓换到 [0,1] 区间);
针对幂律分布,可以采用公式:log((1+x)/(1+median));
3.数据分桶:
等频分桶;
等距分桶;
Best-KS 分桶(类似利用基尼指数进行二分类);
卡方分桶;
4.缺失值处理:
不处理(针对类似 XGBoost 等树模型);
删除(缺失数据太多);
插值补全,包括均值/中位数/众数/建模预测/多重插补/压缩感知补全/矩阵补全等;
分箱,缺失值一个箱;
5.特征构造:
构造统计量特征,报告计数、求和、比例、标准差等;
时间特征,包括相对时间和绝对时间,节假日,双休日等;
地理信息,包括分箱,分布编码等方法;
非线性变换,包括 log/ 平方/ 根号等;
特征组合,特征交叉;
6.特征筛选:
过滤式(filter):先对数据进行特征选择,然后在训练学习器,常见的方法有 Relief/方差选择法/相关系数法/卡方检验法/互信息法;
包裹式(wrapper):直接把最终将要使用的学习器的性能作为特征子集的评价准则,常见方法有 LVM(Las Vegas Wrapper) ;
嵌入式(embedding):结合过滤式和包裹式,学习器训练过程中自动进行了特征选择,常见的有 lasso 回归;
7.降维:
PCA/ LDA/ ICA;
——by 阿泽


作者:weixin_45727892



学习笔记 二手车 学习

需要 登录 后方可回复, 如果你还没有账号请 注册新账号