NGram

class pyspark.ml.feature.NGram(n=2, inputCol=None, outputCol=None)

将输入的字符串数组转换为 n-gram 数组的特征转换器。 输入数组中的空值将被忽略。 它返回一个 n-gram 数组,其中每个 n-gram 由空格分隔的单词字符串表示。 当输入为空时,返回一个空数组。 当输入数组长度小于 n(每 n-gram 的元素数)时,不返回 n-gram

默认n=2

01.初始化:

from pyspark.sql import SparkSession
spark = SparkSession.builder.config("spark.Driver.host","192.168.1.4")\.config("spark.ui.showConsoleProgress","false")\.appName("NGram").master("local[*]").getOrCreate()

02.从Row创建含列名的DF数据

from pyspark.sql.types import Row
df = spark.createDataFrame([Row(inputTokens=["a", "b", "c", "d", "e"])])
df.show()
df.printSchema()

​ 输出结果:

+---------------+
|    inputTokens|
+---------------+
|[a, b, c, d, e]|
+---------------+root|-- inputTokens: array (nullable = true)|    |-- element: string (containsNull = true)

03.使用NGram,查看连续的组合

from pyspark.ml.feature import NGram
ngram = NGram(inputCol="inputTokens",outputCol="res")
ngram.transform(df).show()

​ 输出结果:

+---------------+--------------------+
|    inputTokens|                 res|
+---------------+--------------------+
|[a, b, c, d, e]|[a b, b c, c d, d e]|
+---------------+--------------------+

04.重新设置参数,并输入结果:

ngram.setParams(n=3)
ngram.transform(df).show()
ngram.transform(df).head(1)

​ 输出结果:

+---------------+--------------------+
|    inputTokens|                 res|
+---------------+--------------------+
|[a, b, c, d, e]|[a b c, b c d, c ...|
+---------------+--------------------+[Row(inputTokens=['a', 'b', 'c', 'd', 'e'], res=['a b c', 'b c d', 'c d e'])]

Pyspark特征工程--NGram相关推荐

  1. 推荐算法工程笔记:PySpark特征工程入门总结

    PySpark Feature Tool 1. 数据准备 我们定义了一些测试数据,方便验证函数的有效性:同时对于大多数初学者来说,明白函数的输入是什么,输出是什么,才能更好的理解特征函数和使用特征: ...

  2. pyspark特征工程常用方法(一)

    本文记录特征工程中常用的五种方法:MinMaxScaler,Normalization,OneHotEncoding,PCA以及QuantileDiscretizer 用于分箱 原有数据集如下图: 1 ...

  3. Pyspark特征工程--MinHashLSH

    MinHashLSH class pyspark.ml.feature.MinHashLSH(inputCol=None, outputCol=None, seed=None, numHashTabl ...

  4. 【推荐系统】特征工程技巧(kaggle比赛技巧、tx的做法)

    内容总结 前面6点均是常见的特征工程基础知识,第7点时kaggle比赛中常用特征交叉.特征筛选等技巧,第8点从特征提取(数值型.类别型.embedding特征).特征选择(过滤式.封装式.嵌入式).特 ...

  5. pyspark做movielens推荐模型特征工程

    重磅推荐专栏: <Transformers自然语言处理系列教程> 手把手带你深入实践Transformers,轻松构建属于自己的NLP智能应用! 前面文章讲了如何使用pyspark做特征工 ...

  6. Pyspark让pandas特征工程代码在集群上飞起来——天猫复购率baseline

    Pyspark让pandas特征工程代码在集群上飞起来--天猫复购率baseline 环境与数据准备 导包 创建spark应用 第一种特征工程方式:pyspark.pandas.dataframe 第 ...

  7. 百面机器学习之特征工程

    1.为什么需要对数值类型的特征做归一化? 为了消除数据特征之间的量纲影响,我们需要对特征进行归一化处理,使得不同指标之间具有可比性. 对数值类型的特征做归一化可以将所有的特征都统一到一个大致相同的数值 ...

  8. 基于Spark的大规模推荐系统特征工程

    分享嘉宾:陈迪豪 第四范式 架构师 编辑整理:刘璐 出品平台:第四范式天枢.DataFunTalk 导读:特征工程在推荐系统中有着举足轻重的作用,大规模特征工程处理的效率极大的影响了推荐系统线上的性能 ...

  9. 特征工程学习,19 项实践 Tips!代码已开源!

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 随着我们在机器学习.数据建模.数据挖掘分析这条发展路上越走越远,其实越会感觉到特征工程 ...

最新文章

  1. 无线信标功能调试-2021-3-9-输出功率恒定限制
  2. 全能系统监控工具dstat
  3. 通过PageSpeed优化网站性能
  4. 银行推出一年存1万连着存5年,利率4.5%,能存吗?
  5. Android 系统性能优化(79)---提升Android应用的启动速度与设计
  6. rabbitmq接收不到消息_SpringBoot2.x系列教程63--SpringBoot整合消息队列之RabbitMQ详解
  7. 【LeetCode】【字符串】题号:*434. 字符串中的单词数
  8. 杂谈(13)第二期办公技能交流分享活动深层次总结
  9. 计算机应用基础综合测试题b卷,10级《计算机应用基础》期末试卷B卷
  10. xlsxwriter去掉网格线_python 中 xlsxwriter 模块的使用
  11. 吴22名广西农民工广东讨薪 返途被追砍(转载)
  12. 材料科学基础考研计算机,2017年西安工业大学计算机学院805材料科学基础考研仿真模拟题...
  13. 支付回答——如何理解借记和贷记
  14. Android 5.1 Lollipop Phone工作流程浅析(十三)__InCallActivity启动Performance浅析
  15. OpenCV读取图片和保存图片全黑
  16. fdgfhfghfghgf
  17. [乡土民间故事_徐苟三传奇]第卅三回_考学问哄走夺馆人
  18. echarts词云图形状_使用pyecharts绘制词云图-淘宝商品评论展示
  19. 获取京东商品信息报错error pdos_captcha
  20. 怎么准备年终总结谈话

热门文章

  1. “NetSarang的Xmanager和Xshell多种产品被植入后门事件”分析报告
  2. 初窥Linux神秘面纱(叁):基本指令讲解(下)及疑难解惑(精)
  3. apache2.4 + django + windows10 自动化部署
  4. 研发项目经理需要具备的7大核心素质特征
  5. python学多久可以考二级建造师吗_怎么样才能从零基础考到二级建造师?
  6. 平台的理解,讨论如何构建企业系统平台
  7. 使用GitLab Pages托管静态网站
  8. 小米林斌:印度粉丝比国内还疯狂
  9. MEXGroup:美联储利率决议在即,市场变得谨慎
  10. lua语言开发esp8266接入巴法云,mqtt和tcp协议