使用 Spark 关联非数字数据
Using Spark to correlate non-numeric data
我正在尝试使用Spark/MLlib来获取一组数据中多个列之间的相关系数。我对数字列没有问题,我已经成功地计算了 Pearson 相关性。但是,我不知道如何关联字符串和其他非数字数据。文档指出 Spearman 相关性通常用于此目的,但我看到的所有示例似乎都使用数值数据,即使在 Spearman 案例中也是如此。
您必须将数据同态 "encrypt" 转换为数字格式以获得相关性。在一般情况下,您将决定要关联的 特征 集,然后对数据进行预处理,使其仅由这些特征表示。
如果您正在处理文本数据(文章甚至是通过符号关联的单词),您可以使用 tokenizer/vectorizer/MinHashLSH 方法。 example. Here is a good 中详细描述了如何使用 RegexTokenizer 预处理数据。得到散列特征后,可以将它们进行一定程度的缩减(很难理解100维领域的相关性)并进行正常处理。
对于某些数据类型,答案可能是散列,但它不代表特征,只代表唯一值。
如果您可以提供示例数据,我们可以想出不太通用的解决方案。
我正在尝试使用Spark/MLlib来获取一组数据中多个列之间的相关系数。我对数字列没有问题,我已经成功地计算了 Pearson 相关性。但是,我不知道如何关联字符串和其他非数字数据。文档指出 Spearman 相关性通常用于此目的,但我看到的所有示例似乎都使用数值数据,即使在 Spearman 案例中也是如此。
您必须将数据同态 "encrypt" 转换为数字格式以获得相关性。在一般情况下,您将决定要关联的 特征 集,然后对数据进行预处理,使其仅由这些特征表示。
如果您正在处理文本数据(文章甚至是通过符号关联的单词),您可以使用 tokenizer/vectorizer/MinHashLSH 方法。 example. Here is a good
对于某些数据类型,答案可能是散列,但它不代表特征,只代表唯一值。
如果您可以提供示例数据,我们可以想出不太通用的解决方案。