Databricks机器学习运行时的特征工程技术
在处理大量数据时,特征工程是机器学习和深度学习中至关重要的一环。像Spark SQL和MLlib这样的工具在特征工程中非常有效,Databricks Runtime ML还包含了一些第三方库,如scikit - learn,可用于从数据中提取特征。下面将详细介绍一些常见的特征工程技术及其在PySpark中的实现。
1. 分词器(Tokenizer)
分词是将输入的字符串转换为标记数组的过程。这些标记通常是单个单词,但也可以是一定数量的字符或称为n - gram的单词组合。分词过程可视为特征工程的一项任务,标记的识别基于传递给解析器的特定模式。
在PySpark中,可以使用简单的 Tokenizer
类对字符串输入序列进行分词。以下是将句子拆分为单词序列的代码示例:
from pyspark.ml.feature import Tokenizer
sentenceDataFrame = sqlContext.createDataFrame([
(0, "Spark is great for Data Science"),
(0, "Also for data engineering"),
(1, "Logistic regression models are neat")
], ["label", "sentence"])
tokenizer = Tokenizer(inputCol="sentence", outputCol="words")
wordsDataFrame = tokenizer.transf