首页 > 其他分享 >汽车交易情况分析及价格预测2_特征工程

汽车交易情况分析及价格预测2_特征工程

时间:2023-05-13 10:47:13浏览次数:37  
标签:info kind 预测 power 特征 price 汽车交易 data brand

一、特征构造

# 训练集和测试集放在一起,方便构造特征
train['train']=1
test_data['train']=0
data = pd.concat([train, test_data], ignore_index=True, sort=False)

增加新特征:使用时间

data['used_time'] = (pd.to_datetime(data['creatDate'], format='%Y%m%d', errors='coerce') -pd.to_datetime(data['regDate'], format='%Y%m%d', errors='coerce')).dt.days

增加新特征:城市

data['city'] = data['regionCode'].apply(lambda x : str(x)[:-3])

 

增加新特征:某品牌的销售统计量

train_gb = train_data.groupby("brand")
all_info = {}
for kind, kind_data in train_gb:
info = {}
kind_data = kind_data[kind_data['price'] > 0]
info['brand_amount'] = len(kind_data)
info['brand_price_max'] = kind_data.price.max()
info['brand_price_median'] = kind_data.price.median()
info['brand_price_min'] = kind_data.price.min()
info['brand_price_sum'] = kind_data.price.sum()
info['brand_price_std'] = kind_data.price.std()
info['brand_price_average'] = round(kind_data.price.sum() / (len(kind_data) + 1), 2)
all_info[kind] = info
brand_fe = pd.DataFrame(all_info).T.reset_index().rename(columns={"index": "brand"})
data = data.merge(brand_fe, how='left', on='brand')

 

数据分桶

bin = [i*10 for i in range(31)]
data['power_bin'] = pd.cut(data['power'], bin, labels=False)
data[['power_bin', 'power']].head()

 

# 删掉原始数据
data = data.drop(['SaleID','creatDate', 'regDate', 'regionCode'], axis=1)

print(data.shape)
data.columns

 

二、数据导出

不同模型对数据集的要求不同

用于树模型

data.to_csv('data_for_tree.csv', index=0)

用于LR NN 之类的模型

#观察power的分布

data['power'].plot.hist()

 #对其取 log,做归一化

from sklearn import preprocessing
min_max_scaler = preprocessing.MinMaxScaler()
data['power'] = np.log(data['power'] + 1)
data['power'] = ((data['power'] - np.min(data['power'])) / (np.max(data['power']) - np.min(data['power'])))
data['power'].plot.hist()

 

# 对km做归一化
data['kilometer'] = ((data['kilometer'] - np.min(data['kilometer'])) /
(np.max(data['kilometer']) - np.min(data['kilometer'])))
data['kilometer'].plot.hist()

 

 

# 对类别特征进行 OneEncoder
data = pd.get_dummies(data, columns=['model', 'brand', 'bodyType', 'fuelType',
'gearbox', 'notRepairedDamage', 'power_bin'])

# 这份数据给 LR 使用
data.to_csv('data_for_lr.csv', index=0)

 

标签:info,kind,预测,power,特征,price,汽车交易,data,brand
From: https://www.cnblogs.com/0chenxian0/p/17396835.html

相关文章

  • 汽车交易情况分析及价格预测1_EDA
    一、数据简介二手车交易记录,训练集数据15万条,测试集数据5万条。包括交易ID、汽车交易名称、汽车注册日期、车型编码、汽车品牌、车身类型、汽车已行驶公里、报价类型、二手车交易价格等信息。同时会对name、model、brand和regionCode等信息进行脱敏。name-汽车编码regDate......
  • 面向对象特征三:多态性
    对象的多态性多态性,是面向对象中最重要的概念,在Java中的体现:对象的多态性:父类的引用指向子类的对象格式:(父类类型:指子类继承的父类类型,或者实现的接口类型)父类类型变量名=子类对象;举例Personp=newStudent();Objecto=newPerson();//Object类型的变量o,指向Person类......
  • Python爱彼迎Airbnb新用户体验数据XGBoost、随机森林预测
    全文链接:http://tecdat.cn/?p=32380原文出处:拓端数据部落公众号分析师:ZhuhuaHuang在多项用户数据中寻找与预测值相关的属性。查看各个特征的分布与特征之间的关联。分析用户数据,查看特定人群的使用习惯进行产品优化。最后选择合适的模型与参数来进行预测。解决方案任务/目标......
  • m基于HOG特征提取和GA优化GRNN网络的交通标志检测和识别算法matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:       2.算法涉及理论知识概要2.1遗传算法       遗传算法GA把问题的解表示成“染色体”,在算法中也即是以二进制编码的串。并且,在执行遗传算法之前,给出一群“染色体”,也即是假设解。然后,把这些假设解置于......
  • 挣值分析与预测技术
    挣值分析三指标计划价值(PV)是计划工作分配的经批准的预算,为完成某活动或工作分解结构(WBS)组成部分而准备的一份经批准的预算,不包括管理储备。翻译:当前观测点计划工作量的预算价值(要干的活)挣值(EV)对已完成的工作量的测量值,用该工作的批准预算来表示,是已完成工......
  • LSSVM,SSA-LSSVM,VMD-LSSVM,VMD-SSA-LSSVM四种算法做短期电力负荷预测,做对比。
    LSSVM,SSA-LSSVM,VMD-LSSVM,VMD-SSA-LSSVM四种算法做短期电力负荷预测,做对比。结果分析-lssvm均方根误差(RMSE):0.79172平均绝对误差(MAE):0.4871平均相对百分误差(MAPE):13.079%结果分析-ssa-lssvm均方根误差(RMSE):0.64591平均绝对误差(MAE):0.44097平均相对百分误差(MAPE):10.4219%结果分析-vmd-......
  • 使用幂法求解矩阵的最大特征值及对应的特征向量
    使用幂法求解矩阵的最大特征值及对应的特征向量幂法简介幂法(PowerMethod)是一种迭代算法,主要用于求解矩阵的最大特征值及其对应的特征向量。这种方法特别适合于求解大型稀疏矩阵的最大特征值和特征向量。其主要步骤包括:选择一个初始向量\(v^{(0)}\)。迭代计算\(v^{(k+1)}=......
  • 连续特征的embeding
    目前常见的连续特征处理可以概括为三种:NoEmbedding、FieldEmbedding、Descretization。接下来将为大家一一介绍。   之前离散化的不足尽管离散化在工业界广泛引用,但仍然有以下三方面的缺点:TPP(Two-Phase Problem):将特征分桶的过程一般使用启发式的规则(如EDD、EFD)或......
  • VMD-SSA-LSSVM,基于VMD分解的SSA优化LSSVM做短期电力负荷预测,预测精度非常高!
    VMD-SSA-LSSVM,基于VMD分解的SSA优化LSSVM做短期电力负荷预测,预测精度非常高!结果分析均方根误差(RMSE):0.17332平均绝对误差(MAE):0.12619平均相对百分误差(MAPE):2.0976%ID:46200697697328495......
  • LSTM与CNN-LSTM做时间序列预测,变步长预测,可实现多输入单输出,多输入多输出预测,两种算法
    LSTM与CNN-LSTM做时间序列预测,变步长预测,可实现多输入单输出,多输入多输出预测,两种算法做对比。ID:27100683511247388......