我正在尝试将特征从字符串特征转换为整数二进制数组(一次编码),以便可以使用该特征来训练模型。
我正在复制here中的教程,只是带有我自己的数据。
到目前为止,我收到的错误消息与需要二进制或Unicode字符串有关,或者我需要将该功能设置为dict而不是列表。
def preprocess_targets(apps_dataframe): output_targets = pd.DataFrame()
genres = set() # {"Art","Games","Productivity",...}
targets = apps_dataframe["genres"]
for genre in targets:
genres.add(genre)
encoded_targets = []
for genre in targets:
encoded_target = []
for g in genres:
if g == genre:
encoded_target.append(1.0)
else:
encoded_target.append(0.0)
encoded_targets.append(encoded_target)
output_targets["genres"] = encoded_targets
return output_targets
错误:
TypeError: Expected binary or unicode string, got [0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]