问题的提出

泰坦尼克号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)添加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),需要进行数据离散化。 - 数据类型转换
(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”符号。 - 数据初步统计
(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
