特征处理:least frequent value 代码实现

6 篇文章 0 订阅
4 篇文章 1 订阅

训练集df_train, 测试集df_test

离散型特征集cat_features = [a, b, c, d, e, f, g]

策略:"unseen labels" df_test里的未见的离散型特征的value值请取代成 df_train里相同特征里的最不常见的值 least frequent value

代码实现:

import pandas as pd
import numpy as np

df_train = pd.DataFrame([['a', 'b', 'a', 'a', 'a', 'a']
    , ['female', 'male', 'male', 'male', 'female', 'male']])
df_train = df_train.transpose()
df_train.columns = ['type', 'gender']
df_test = pd.DataFrame([['b', 'c', 'a'], ['boy', 'female', 'female']])
df_test = df_test.transpose()
df_test.columns = df_train.columns

df_train
df_test

def replace_lfq(col, train, test):
    freq = train[[col]].groupby(col).size()
    labels = freq.index
    least_value = freq.index[np.argmin(freq.values)]
    test.loc[~test[col].isin(labels), col] = least_value
    # 取反,不包含在上面

for i in df_test.columns:
    replace_lfq(i, df_train, df_test)
      
df_test   

 

所以面试表现与日后工作表现的相关性到底有多少?柠檬。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值