机器学习中机器不能理解单词,因此需要数值,以便机器更容易地处理数据。要对数据应用任何类型的算法,我们需要将分类数据转换为数字。为了实现这一点,可以采用One hot编码,因为它可以转换分类变量到binary vectors。
例:
假设我们有句“Can I eat the Pizza”。
我们可以直接说所有的单词都彼此不同,但在机器学习中机器是怎么知道的呢?
所以我们尝试应用One hot编码,即将类别转换为数字标签。
- 首先,将文本进行转换,按升序形式对单词进行排序,即A-Z。现在“can, eat, i, pizza, the”。
- 给一个数字标签,我们可以看到can在第0位,eat在第1位,分配值:can:0, i:2, eat:1, the:4, pizza:3。
- 转换为binary vectors。
![3918ce87bf3fc6d3efc9f38e4b366647.png](https://i-blog.csdnimg.cn/blog_migrate/21eddd1ac5525d44420af4f0c674772a.jpeg)
分类变量基本上是基于一些定性性质的固定值。比如个体的性别,可以是男性,女性。天气也是一个例子,因为它可以是晴天,多云,或下雨。
binary vectors只是包含0和1的值。
使用Numpy
import numpy as npdocs = "Can I eat the Pizza".lower().split()doc1 = set(docs)doc1 = sorted(doc1)print ("values: