python 中具有多种特征类型的机器学习
Machine learning with multiple feature types in python
我能够在 Python 中使用 scikit-learn 和 NLTK 模块进行一些简单的机器学习。但是在使用具有不同值类型(数字、字符串列表、yes/no 等)的多个特征进行训练时,我遇到了问题。在下面的数据中,我有一个 word/phrase 列,我在其中提取信息并创建相关列(例如,长度列是 'word/phrase' 的字符长度)。标签栏是标签。
Word/phrase Length '2-letter substring' 'First letter' 'With space?' Label
take action 10 ['ta', 'ak', 'ke', 'ac', 'ct', 'ti', 'io', 'on'] t Yes A
sure 4 ['su', 'ur', 're'] s No A
That wasn't 10 ['th', 'ha', 'at', 'wa', 'as', 'sn', 'nt'] t Yes B
simply 6 ['si', 'im', 'mp', 'pl', 'ly'] s No C
a lot of 6 ['lo', 'ot', 'of'] a Yes D
said 4 ['sa', 'ai', 'id'] s No B
我是否应该将它们制作成一本字典,然后使用 sklearn 的 DictVectorizer
将它们保存在工作记忆中?然后在训练 ML 算法时将这些特征视为一个 X 向量?
大多数机器学习算法都使用数字,因此您可以将分类值和字符串转换为数字。
热门 python 机器学习库 scikit-learn 有 whole chapter dedicated to preprocessing of the data。使用 'yes/no' 一切都很简单 - 只需输入 0/1 即可。
在许多其他重要事项中,它解释了 categorical data preprocessing using their OneHotEncoder 的过程。
当您处理文本时,您还必须以合适的方式转换数据。一种常见的文本特征提取策略是 tf-idf score, and I wrote a tutorial here.
我能够在 Python 中使用 scikit-learn 和 NLTK 模块进行一些简单的机器学习。但是在使用具有不同值类型(数字、字符串列表、yes/no 等)的多个特征进行训练时,我遇到了问题。在下面的数据中,我有一个 word/phrase 列,我在其中提取信息并创建相关列(例如,长度列是 'word/phrase' 的字符长度)。标签栏是标签。
Word/phrase Length '2-letter substring' 'First letter' 'With space?' Label
take action 10 ['ta', 'ak', 'ke', 'ac', 'ct', 'ti', 'io', 'on'] t Yes A
sure 4 ['su', 'ur', 're'] s No A
That wasn't 10 ['th', 'ha', 'at', 'wa', 'as', 'sn', 'nt'] t Yes B
simply 6 ['si', 'im', 'mp', 'pl', 'ly'] s No C
a lot of 6 ['lo', 'ot', 'of'] a Yes D
said 4 ['sa', 'ai', 'id'] s No B
我是否应该将它们制作成一本字典,然后使用 sklearn 的 DictVectorizer
将它们保存在工作记忆中?然后在训练 ML 算法时将这些特征视为一个 X 向量?
大多数机器学习算法都使用数字,因此您可以将分类值和字符串转换为数字。
热门 python 机器学习库 scikit-learn 有 whole chapter dedicated to preprocessing of the data。使用 'yes/no' 一切都很简单 - 只需输入 0/1 即可。
在许多其他重要事项中,它解释了 categorical data preprocessing using their OneHotEncoder 的过程。
当您处理文本时,您还必须以合适的方式转换数据。一种常见的文本特征提取策略是 tf-idf score, and I wrote a tutorial here.