【发布时间】:2019-05-17 16:28:39
【问题描述】:
我有 220 GB 的数据。我已将其作为 2 列读入 spark 数据框:JournalID 和 Text。现在我的数据框中缺少 27 行。
使用 NGram 类,我在数据框中添加了另外两列 Unigram 和 Bigram,其中包含 Text 列中存在的 unigrams 和 bigrams。然后我使用 TF 和 IDF 类的 pyspark 在 unigram 和 bigram 列上计算 TFIDF,并将其添加为数据框中的另一列。
现在我在数据框中的每一行都有 journalID 和 TFIDF 向量。我想将 SVM 与所有类型的内核一起应用,其中 TFIDF 向量作为特征,JournalID 作为标签。由于 pyspark 的 ML 包中不存在多类 SVM,因此我将不得不使用 Sklearn 的 SVM 实现。
下一步的最佳方式是什么。我应该将这个大数据框转换为熊猫数据框,然后在熊猫数据框的列上应用 sklearn 算法还是有更好的方法。
【问题讨论】:
-
SVM 的大多数实现不支持incremental learning,您可以在其中将数据分成多个部分并对其进行学习。也许这就是为什么它不在 pyspark 中的原因。而且 scikit-learn 的 SVM 实现也不支持。
标签: pandas apache-spark dataframe scikit-learn pyspark