transform的使用

来源:互联网 发布:线切割切圆怎么编程 编辑:程序博客网 时间:2024/06/05 07:25
from  sklearn.feature_extraction  import  DictVectorizer


DictVectorizer和fit_transform的使用:
v = DictVectorizer(sparse = False)#空白处为false
D  =  [{ 'F' : 'A' , 'B' : 'B' },{ 'F' : 'C' , 'B' : 'A' },{ 'F' : 'B' , 'B' : 'C' }] 
X  =  v .fit_transform (D)
print X
[[ 0.  1.  0.  1.  0.  0.]
 [ 1.  0.  0.  0.  0.  1.]
 [ 0.  0.  1.  0.  1.  0.]]
分析每一行的数据随机给出序列
第一行:A B
第二行:C A
第三行:B C
比较第一列有三种不同的数据ABC,存在的为1,不存在为0。
那么对应关系就是:
C A B B C A
0 1 0 1 0 0 --> A B
1 0 0 0 0 1 --> C A
0 0 1 0 1 0 --> B C


例子1:D  =  [{ 'F' : 'A' , 'B' : 'B' },{ 'F' : 'B' , 'B' : 'A' }] 
第一行:A B
第二行:B A
结果:[[ 0.  1.  1.  0.]
 [ 1.  0.  0.  1.]]
对应关系:
B A B A
0 1 1 0 -->A B
1 0 0 1 -->B A
例子12:D  =  [{ 'F' : 'A' , 'B' : 'B' },{ 'F' : 'B' , 'B' : 'C' },{ 'F' : 'C' , 'B' : 'A'}] 
第一行:A B
第二行:B C
第三行:C A
结果:[[ 0.  1.  0.  1.  0.  0.]
 [ 0.  0.  1.  0.  1.  0.]
 [ 1.  0.  0.  0.  0.  1.]]
对应关系:
C A B B C A
0 1 0 1 0 0 -->A B
0 0 1 0 1 0 -->B C
1 0 0 0 0 1 -->C A
原创粉丝点击