`# Convert string column to integer
def str_column_to_int(dataset, column):
class_values = [row[column] for row in dataset]
unique = set(class_values)
lookup = dict()
for i, value in enumerate(unique):
lookup[value] = i
for row in dataset:
row[column] = lookup[row[column]]
return lookup`
上面的代码是将一列字符串转换为整数(或一个热编码)的最基本的机器学习代码片段。然而,我很难理解这段代码,尤其是class_values = [row[column] for row in dataset]
unique = set(class_values)
这两行代码做了什么使它做了一个热编码?你知道吗
所以
class_values = [row[column] for row in dataset]
就是所谓的列表理解。这是用python创建列表的简写方法。这句话相当于说:这些在Python中非常常见,所以一定要阅读并使用它们进行练习。他们使你的代码更干净,节省时间。你知道吗
集合可以准备在这里:Sets
简言之,它们是一个独特的分组。因此,如果你做了一组列表,你会得到一个包含列表中所有唯一值的对象
相关问题 更多 >
编程相关推荐