MCPcopy Create free account
hub / github.com/COLA-Laboratory/TransOPT / target_encoding

Function target_encoding

transopt/utils/encoding.py:3–27  ·  view source on GitHub ↗

计算给定列的目标编码。 参数: dataframe (pandas.DataFrame): 包含特征和目标列的DataFrame。 column_name (str): 需要进行目标编码的列名。 target_name (str): 目标变量的列名。 返回: dict: 包含每个唯一值及其目标编码的字典。

(df:pds.DataFrame, column_name, target_name)

Source from the content-addressed store, hash-verified

1import pandas as pds
2
3def target_encoding(df:pds.DataFrame, column_name, target_name):
4 """
5 计算给定列的目标编码。
6
7 参数:
8 dataframe (pandas.DataFrame): 包含特征和目标列的DataFrame。
9 column_name (str): 需要进行目标编码的列名。
10 target_name (str): 目标变量的列名。
11
12 返回:
13 dict: 包含每个唯一值及其目标编码的字典。
14 """
15 # 计算每个唯一值的目标均值
16 target_mean = df.groupby(column_name)[target_name].mean()
17 target_rank = target_mean.rank(method='average')
18
19 df[f'mean_encoding'] = df.groupby(column_name)[target_name].transform('mean')
20 df[f'rank_encoding'] = df[column_name].map(target_rank)
21 # target_rank = target_mean.rank
22 print(df[[column_name, target_name, f'mean_encoding', f'rank_encoding']].head(10))
23
24 encodings = {value: key for key, value in target_rank.to_dict().items()}
25
26 # 返回结果字典
27 return encodings
28
29def multitarget_encoding(df:pds.DataFrame, column_name, target_names):
30 encodings = {}

Callers 1

__init__Method · 0.90

Calls 2

transformMethod · 0.45
to_dictMethod · 0.45

Tested by

no test coverage detected