one-hot 编码器实现 pandas.get_dummies,如何阅读语法
one-hot encoder implementation pandas.get_dummies, how to read syntax
我正在阅读 pandas 文档以了解 pandas.get_dummies
>>> import pandas as pd
>>> l = list('abca')
>>> print l
['a', 'b', 'c', 'a']
>>> s = pd.Series(l)
>>> print s
0 a
1 b
2 c
3 a
我创建了一个系列,如上所示。
当我在这个系列上调用 get_dummies 时,输出如下
>>> pd.get_dummies(s)
a b c
0 1 0 0
1 0 1 0
2 0 0 1
3 1 0 0
什么意思我没看懂。
我们可以说条目的新值如下吗?
a --> 100
b --> 010
c --> 001
a --> 100
还有,它们是十进制的还是二进制的?
这是单热编码。
a b c
0 1 0 0 <-- a, not b, not c in row 0
1 0 1 0 <-- not a, b, not c in row 1
2 0 0 1 <-- not a, not b, c in row 2
3 1 0 0 <-- a, not b, not c in row 3
考虑阅读 this 以获取另一个示例。
dummy
变量是二进制特征。就像一个单独的列,说明每一行是否是某物。当我们有一个包含多个值(超过 1 个)的现有列时。我们可以将这些值拆分为每个唯一值的单个列。每个新列要么是一,表示该行具有该唯一值,要么是零,表示该行没有该唯一值。
由于 s
的每一行只有一个值,按理说,每行零和一的值在 header 列下只有 one-one对于 s
中的相应行
a b c
0 1 0 0 # 1 is under `a` which was the value in `s` for this row.
1 0 1 0
2 0 0 1
3 1 0 0
换句话说,将新的 a
列视为告诉您 a
在 s
.
中的位置
我正在阅读 pandas 文档以了解 pandas.get_dummies
>>> import pandas as pd
>>> l = list('abca')
>>> print l
['a', 'b', 'c', 'a']
>>> s = pd.Series(l)
>>> print s
0 a
1 b
2 c
3 a
我创建了一个系列,如上所示。
当我在这个系列上调用 get_dummies 时,输出如下
>>> pd.get_dummies(s)
a b c
0 1 0 0
1 0 1 0
2 0 0 1
3 1 0 0
什么意思我没看懂。
我们可以说条目的新值如下吗?
a --> 100
b --> 010
c --> 001
a --> 100
还有,它们是十进制的还是二进制的?
这是单热编码。
a b c
0 1 0 0 <-- a, not b, not c in row 0
1 0 1 0 <-- not a, b, not c in row 1
2 0 0 1 <-- not a, not b, c in row 2
3 1 0 0 <-- a, not b, not c in row 3
考虑阅读 this 以获取另一个示例。
dummy
变量是二进制特征。就像一个单独的列,说明每一行是否是某物。当我们有一个包含多个值(超过 1 个)的现有列时。我们可以将这些值拆分为每个唯一值的单个列。每个新列要么是一,表示该行具有该唯一值,要么是零,表示该行没有该唯一值。
由于 s
的每一行只有一个值,按理说,每行零和一的值在 header 列下只有 one-one对于 s
a b c
0 1 0 0 # 1 is under `a` which was the value in `s` for this row.
1 0 1 0
2 0 0 1
3 1 0 0
换句话说,将新的 a
列视为告诉您 a
在 s
.