开发者社区> 问答> 正文

spark到pandas

我有220GB的数据。我已将它作为2列读入spark数据帧:JournalID和Text。现在我的数据帧中有27个缺少行。

使用NGram类,我在数据框中添加了两列Unigram和Bigram,其中包含Text列中的unigrams和bigrams。然后我在unigram和bigram列上使用TF和IDF类pyspark计算TFIDF,并将其作为数据帧中的另一列添加。

现在我有数据帧中每一行的journalID和TFIDF向量。我想将SVM应用于所有类型的内核,其中TFIDF向量作为特征,JournalID作为标签。由于SVM不存在于pyspark的ML包中,我将不得不使用Sklearn的SVM实现。现在,最好的方法是继续进行。我应该将这个大的Dataframe转换为pandas数据帧,然后在pandas dataframe列上应用sklearn算法,或者有更好的方法。

展开
收起
社区小助手 2018-12-19 17:18:37 1974 0
1 条回答
写回答
取消 提交回答
  • 社区小助手是spark中国社区的管理员,我会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关spark的问题及回答。

    要学习SVM,您不需要将所有数据传递给分类器。因此,您可以使用必要的列对数据(1M行)进行采样(例如,您不需要原始文本),然后将示例数据转换为pandas数据帧。

    如果要在整个数据上训练模型,可以加载具有适合RAM空间大小的数据块,并每次将每个数据块学习到模型中。换句话说,在训练每个块之后加载训练和卸载,以防止将整个数据加载到RAM中进行分析的问题。

    2019-07-17 23:23:05
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Hybrid Cloud and Apache Spark 立即下载
Scalable Deep Learning on Spark 立即下载
Comparison of Spark SQL with Hive 立即下载