KNIME数据预处理

KNIME数据预处理问题的提出泰坦尼克号 Titanic 的故事众人皆知 我们拿到了泰坦尼克号上的乘客数据的一部分 训练集 train csv 数据描述这个数据集包含以下特征 Feature PassengerId gt 乘客编号 Survived gt 获救情况 1 为获救 0 为未获救 Pclass gt 乘客等级 1 等舱位 2 等舱位 3 等舱位 Name gt 姓名 字符串型 String Sex gt 性别 male female 字符串型 String Age amp

问题的提出

在这里插入图片描述

泰坦尼克号Titanic的故事众人皆知。我们拿到了泰坦尼克号上的乘客数据的一部分——训练集train.csv,数据集在这里。

数据描述

这个数据集包含以下特征(Feature):

  • PassengerId => 乘客编号;
  • Survived => 获救情况(1为获救,0为未获救);
  • Pclass => 乘客等级(1等舱位,2等舱位,3等舱位);
  • Name => 姓名,字符串型(String);
  • Sex => 性别(male,female),字符串型(String);
  • Age => 年龄,浮点数型(Double);
  • SibSp => 兄弟姐妹及配偶在船数,整数型(Integer);
  • Parch => 父母及子女在船数,整数型(Integer);
  • Ticket => 船票编号,字符串型(String);
  • Fare => 船票价格,浮点数型(Double);
  • Cabin => 乘客船舱,字符串型(String);
  • Embarked => 出发港口(C = Cherbourg;Q = Queenstown;S = Southampton),字符串型(String)。
    可以 把特征分为两类:目标变量和特征项。因为这个数据集的分析目标是预测乘客的获救与否,所以目标变量(也称因变量)为“Survived”,其余变量都为特征项(也称自变量)。目标变量的取值只有两个:“0”和“1”。其中,“0”表示死亡,“1”表示获救,所以这是一个二分类问题。对于分类问题,在KNIME中要求特征项都为字符型。所以要对特征项进行数据预处理,整理为模型需要的数据类型。

数据预处理

  1. 创建工作流,添加文件读取节点
    (1)添加CSV Reader文件读取节点。因为数据原文件为csv文件,所以选择CSV Reader节点。在“Node Repository”的搜索框中输入“CSV Reader”,选择“IO”=>“Reader”下的“CSV Reader”,然后将其拖入工作流编辑器窗口。
    (2)配置CSV Reader节点。在工作流编辑器窗口中双击CSV Reader节点,打开“Configure”,点击Browse,在工作区中选择要输入的泰坦尼克号“train.csv”数据文件,勾选“Has Row Header”,其他的默认配置。然后,点击“OK”。
    (3)执行CSV Reader节点并查看执行结果。
    在这里插入图片描述
    可以清晰地看到“Age”和“Cabin”两个特征项有缺失值,其他的特征项没有缺失值。此外,“PassengerID”、“Survived”、“Pclass”、“SibSp”、“Parch”特征项都为整数型(Integer),需要把他们变成字符串型(String)。“Age”和“Fare”为浮点数型(Double),需要进行数据离散化。




  2. 数据类型转换
    (1)添加Number to String节点。开始数据清洗,首先把“PassengerID”、“Survived”、“Pclass”、“SibSp”、“Parch”的整数型(Integer)特征项都转换成字符串型(String)。在“Node Repository” 的搜索框中输入“Number to String”,选择“Manipulation”=>“Column”=>“Convert & Replace”下的“Number to String”,然后将其拖入工作流编辑器窗口。
    (2)连接CSV Reader和Number to String节点。
    (3)配置Number to String节点。
    在工作流编辑器窗口中双击Number to String节点,打开“Configure”,在“Exclude”中选择“Age”和“Fare”,排除这两项特征。然后,点击“OK”。
    (4)执行Number to String节点。
    (5)查看Number to String节点的执行结果。右键单击Number to String节点,选择 “Transformed input”,可以看到“PassengerID”、“Survived”、Pclass”、“SibSp”、“Parch”特征项都转换成字符串型(String),特征名之前都有代表String的“S”符号。





  3. 数据初步统计
    (1)添加Statistics节点,对数据进行初步了解。在“Node Repository”中的搜索框中输入“Statistics”,选择“Analytics”=>“Statistics”下的“Statistics”,然后将其拖入工作流编辑器窗口。
    (2)连接Number to String节点和Statistics节点。
    (3)配置Statistics节点。在工作流编辑器窗口中双击Statistics节点,打开“Configure”。在“Include”中选择所有的特征字段,其他的默认配置。然后,点击“OK”。
    (4)执行Statistics节点。
    (5)查看Statistics节点的执行结果。右键单击Statistics节点,选择“Statistics Table”,可以看到在浮点数型数据“Age”和“Fare”的统计结果。
    在这里插入图片描述





版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218982.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午11:03
下一篇 2026年3月17日 下午11:04


相关推荐

  • Uniapp中onShow()的应用

    Uniapp中onShow()的应用遇到问题:在使用一些变量进行判断时,用完一次开始下一次判断时,结果会跟前一次一样,比如门禁中第一个房子打开后,切换到另外的房子,结果返回结果跟第一个房子一样。原因分析:用于使用了相同的变量进行判断,然而在第一次执行完后,并没有把变量重新初始化,导致页面在第二次加载的时候,显示的结果跟第一次一样。解决方法:在onShow()里面,通过一些参数,判断在切换页面的时候,有没有切换房屋,如果房屋没变的话,切换页面时就不用重新初始化变量。如果房屋改变了,就把变量重新初始化。总结:.

    2022年6月21日
    106
  • spdLog的使用

    spdLog的使用以下为收集到或者个人测试的内容,侵权删一.优点非常快使用自带的例子测试写log,利用次数/时钟周期衡量结果*******************************************************************************Singlethread,1,000,000iteration

    2022年6月23日
    76
  • shmget物理内存_shmget共享内存

    shmget物理内存_shmget共享内存Linux 为共享内存提供了四种操作 1 共享内存对象的创建或获得 与其它两种 IPC 机制一样 进程在使用共享内存区域以前 必须通过系统调用 sys ipc call 值为 SHMGET 创建一个键值为 key 的共享内存对象 或获得已经存在的键值为 key 的某共享内存对象的引用标识符 以后对共享内存对象的访问都通过该引用标识符进行 对共享内存对象的创建或获得由函数 sys shmget 完成 其定义如下 int

    2026年3月19日
    2
  • springboot zuul网关_ubuntu网关服务器搭建

    springboot zuul网关_ubuntu网关服务器搭建目录一.Zuul网关二.Zuul服务的前期准备2.1注册中心EurekaServer的搭建2.2EurekaService的搭建三.Zuul服务搭建五.Zuul的访问六.Zuul的更多功能前言:博主一直力求做到写博客尽量的详细来减少大家花在踩坑上的时间,若有写的不好或错误的地方,还需各方大佬指正。一.Zuul网关网关,是一种网络关口,既然是…

    2022年8月15日
    7
  • 星火X1全新升级!首个全国产通用深度推理大模型

    星火X1全新升级!首个全国产通用深度推理大模型

    2026年3月14日
    2
  • 深挖P2P传输技术,升级与创新并举

    深挖P2P传输技术,升级与创新并举你用过P2P传输吗?现在的P2P传输可以说是继局域网、ftp、http之后最广泛使用的文件分享和传播途径,被众多企业运用在工作中。P2P传输,全称“点对点传输”,是一种文件即时传输方式,目标是让所有客户端都能提供资源,包括带宽、存储空间、计算能力。P2P传输技术有很多应用,包括共享各种格式音频、视频、数据等。**P2P传输技术是如何实现即时传输?为什么P2P传输可以被众多企业接受?**本文,我们将带着这两个问题出发,深挖P2P传输技术。一、一张图看懂P2P传输技术传统的http传输是服务器上直接复制

    2022年7月16日
    18

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号