独热编码 (One Hot Encoding)
独热编码函数用于将分类数据转换为机器学习库可用的数值格式。
独热编码示例
独热编码将返回一个长度等于 可用值 (available values) 长度的列表。在列表中,选定值 (selected values) 由 1 表示,未选定值 (unselected values) 由 0 表示。
以下代码将在硬编码列表上运行该算法
RETURN gds.util.oneHotEncoding(['Chinese', 'Indian', 'Italian'], ['Italian']) AS value
| 值 |
|---|
[0,0,1] |
以下代码将创建一个示例图
CREATE (french:Cuisine {name:'French'}),
(italian:Cuisine {name:'Italian'}),
(indian:Cuisine {name:'Indian'}),
(zhen:Person {name: "Zhen"}),
(praveena:Person {name: "Praveena"}),
(michael:Person {name: "Michael"}),
(arya:Person {name: "Arya"}),
(praveena)-[:LIKES]->(indian),
(zhen)-[:LIKES]->(french),
(michael)-[:LIKES]->(french),
(michael)-[:LIKES]->(italian)
以下代码将为每个用户及其喜欢的菜系返回一个独热编码
MATCH (cuisine:Cuisine)
WITH cuisine
ORDER BY cuisine.name
WITH collect(cuisine) AS cuisines
MATCH (p:Person)
RETURN p.name AS name, gds.util.oneHotEncoding(cuisines, [(p)-[:LIKES]->(cuisine) | cuisine]) AS value
ORDER BY name
| 名称 (name) | 值 |
|---|---|
Arya |
[0,0,0] |
Michael |
[1,0,1] |
Praveena |
[0,1,0] |
Zhen |
[1,0,0] |
| 名称 | 类型 | 默认 | 可选 | 描述 |
|---|---|---|---|---|
|
list |
null |
是 |
可用值。如果为 null,该函数将返回一个空列表。 |
|
list |
null |
是 |
选定值。如果为 null,该函数将返回一个全为 0 的列表。 |
| 类型 | 描述 |
|---|---|
|
选定值的独热编码。 |