特征工程

这几天学习特征工程,主要是了解工具的使用
首先导入各种模块

import pandas as pd
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import seaborn as sns
from operator import itemgetter

今天遇到一个问题就是路径中使用了一个path变量,但是导入的时候出现了路径错误,那就是要在导入文件的时候,把路径与文件名称之间假如两个反斜杠转译一下,不然会造成一个路径错误。

Train_data = pd.read_csv('C:\\Users\\acer\\Desktop\\used_car_train_20200313.csv', sep=' ')
Test_data = pd.read_csv('C:\\Users\\acer\\Desktop\\used_car_testA_20200313.csv', sep=' ')
print(Train_data.shape)
print(Test_data.shape)
print(Train_data.head())
print(Train_data.columns)

展示文件中的数据
这里定义一个函数用来删除一些异常值(函数来源于天池,目前我尚未全部理解)

ef outliers_proc(data, col_name, scale=3):
    def box_plot_outliers(data_ser, box_scale):
        iqr = box_scale * (data_ser.quantile(0.75) - data_ser.quantile(0.25))
        val_low = data_ser.quantile(0.25) - iqr
        val_up = data_ser.quantile(0.75) + iqr
        rule_low = (data_ser < val_low)
        rule_up = (data_ser > val_up)
        return (rule_low, rule_up), (val_low, val_up)
     data_n = data.copy()
    data_series = data_n[col_name]
    rule, value = box_plot_outliers(data_series, box_scale=scale)
    index = np.arange(data_series.shape[0])[rule[0] | rule[1]]
    print("Delete number is: {}".format(len(index)))
    data_n = data_n.drop(index)
    data_n.reset_index(drop=True, inplace=True)
    print("Now column number is: {}".format(data_n.shape[0]))
    index_low = np.arange(data_series.shape[0])[rule[0]]
    outliers = data_series.iloc[index_low]
    print("Description of data less than the lower bound is:")
    print(pd.Series(outliers).describe())
    index_up = np.arange(data_series.shape[0])[rule[1]]
    outliers = data_series.iloc[index_up]
    print("Description of data larger than the upper bound is:")
    print(pd.Series(outliers).describe())
    
    fig, ax = plt.subplots(1, 2, figsize=(10, 7))
    sns.boxplot(y=data[col_name], data=data, palette="Set1", ax=ax[0])
    sns.boxplot(y=data_n[col_name], data=data_n, palette="Set1", ax=ax[1])
    return data_n

Train_data = outliers_proc(Train_data, 'power', scale=3)

对数据进行删除处理可以使我们得到的结果更加准确,特征工程还有特征构造和特征筛选。
特征构造使用的包比较多,所需要的知识比较广泛,由于所学知识的限制,没法全部理解。继续加油。
come from大一的小白

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值