利用KNIME建立Spark Machine learning模型 2:泰坦尼克幸存预测

本文利用KNIME基于Spark决策树模型算法,通过对泰坦尼克的包含乘客及船员的特征属性的训练数据集进行训练,得出决策树幸存模型,并利用测试数据集对模型进行测试。

1、从Kaggle网站下载训练数据集和测试数据集

2、在KNIME创建新的Workflow,起名:TitanicKNIMESpark

3. 读取训练数据集

KNIME支持从Hadoop集群读取数据,本文为了简化流程直接从本地读取数据集。

在Node Repository的搜索框里输入CSV Reader,找到CSV Reader节点,并将它拖入画布。

双击或右击CSV Reader对节点进行配置,设置数据集的目录。

右击节点,点击Excute, 然后右击节点,点击File table查看结果

4.利用Missing Value节点对缺失值进行处理

类似第三步的操作找到Missing Value节点,并拖入画布(本文以下操作类似,不再重复),并根据需要设置属性,这里采用简单取平均值的方法处理缺失值。建立CSV Reader节点到Missing Value节点的连接。

右击节点,点击Excute, 然后右击节点,点击Output Table查看结果

5、添加Create Spark Context节点,设置Spark Context

6 .添加Table to Spark节点,将KNIME数据表转换成Spark的DataFrame/RDD,配置Table to Spark节点并建立Missing Value节点到Table to Spark节点的连接,建立Create Spark Context节点到Table to Spark节点的连接。

这里采用默认配置。

7. 添加Spark Normalizer节点,将Survived属性从数字类型转换成为字符类型,配置Spark Normalizer节点并建立Table to Spark节点到Spark Normalizer节点的连接。

右击节点,点击Excute, 然后右击节点,点击Normalized Spark DataFrame/RDD查看结果.

8. 添加Spark Decision Tree Learner节点,配置决策树算法参数,并建立Spark Normalizer节点到Spark Decision Tree Learner节点的连接。

右击节点,点击Excute, 然后右击节点,点击Decision Tree Model查看结果.

9利用测试数据集和Spark Predictor节点对模型进行测试。

复制CSV Reader,Missing Value和Table to Spark节点并参考3,4,6步进行配置读取测试数据集并对数据进行处理和转换。添加Spark Predictor节点, 配置 Spark Predictor节点,并将新添加的Table to Spark节点以及Spark Decision Tree Learner节点和Spark Predictor相连接。

CSV Reader配置测试数据集。

Spark Predictor节点配置Prediction column

右击节点,点击Excute, 然后右击节点,点击Labled Data查看结果.

10.可以添加其他节点对结果进行后续处理,这里添加只添加Spark Column Filter节点过滤掉不需要的column。

添加Spark Column Filter节点并进行配置。

右击节点,点击Excute, 然后右击节点,点击Filtered Spark DataFrame/RDD查看结果。

最终整个workflow如下图所示

原文地址:http://blog.51cto.com/yinweiai/2114399

时间: 2024-10-03 07:43:17

利用KNIME建立Spark Machine learning模型 2:泰坦尼克幸存预测的相关文章

利用KNIME建立Spark Machine learning 模型 1:开发环境搭建

1.Knime Analytics 安装 从官方网站下载合适的版本 https://www.knime.com/downloads 将下载的安装包在安装路径解压 https://www.knime.com/installation-0 下图是knime启动后的欢迎页面 要与spark集×××互,需要在Knime中安装KNIME? Extension for Apache Spark.并在Hadoop集群边界节点或能够执行spark-submit的节点安装Spark Job Server.架构图如

利用python进行泰坦尼克生存预测——数据探索分析

最近一直断断续续的做这个泰坦尼克生存预测模型的练习,这个kaggle的竞赛题,网上有很多人都分享过,而且都很成熟,也有些写的非常详细,我主要是在牛人们的基础上,按照数据挖掘流程梳理思路,然后通过练习每一步来熟悉应用python进行数据挖掘的方式. 数据挖掘的一般过程是:数据预览-->数据预处理(缺失值.离散值等)-->变量转换(构造新的衍生变量)-->数据探索(提取特征)-->训练-->调优-->验证 1 数据预览 1.1 head() 预览数据集的前面几条数据可以大致

Spark学习笔记——泰坦尼克生还预测

package kaggle import org.apache.spark.SparkContext import org.apache.spark.SparkConf import org.apache.spark.sql.{SQLContext, SparkSession} import org.apache.spark.mllib.regression.LabeledPoint import org.apache.spark.mllib.classification.{LogisticR

利用Microsoft Azure Machine Learning Studio创建机器学习实例

Microsoft Azure云服务推出机器学习的模块,用户只需上传数据,利用机器学习模块提供的一些算法接口和R语言或别的语言接口,就能利用Microsoft Azure强大的云计算能力来实现自己的机器学习的任务. 本文浅尝了该机器学习模块,参照官方实例和帮助文档,完成了一个简单的应用实例,具体步骤如下. 1.新建workspace 注意,在填写workspace owner,一定要填写一个有效的windows live 账号 进入创建的workspace,界面如下图所示 2.上传数据 数据源:

线性回归的Spark实现 [Linear Regression / Machine Learning / Spark]

1- 问题提出 2- 线性回归 3- 理论推导 4- Python/Spark实现 1 # -*- coding: utf-8 -*- 2 from pyspark import SparkContext 3 4 5 theta = [0, 0] 6 alpha = 0.001 7 8 sc = SparkContext('local') 9 10 def func_theta_x(x): 11 return sum([i * j for i, j in zip(theta, x)]) 12 1

[Machine Learning] 国外程序员整理的机器学习资源大全

本文汇编了一些机器学习领域的框架.库以及软件(按编程语言排序). 1. C++ 1.1 计算机视觉 CCV —基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库 OpenCV—它提供C++, C, Python, Java 以及 MATLAB接口,并支持Windows, Linux, Android and Mac OS操作系统. 1.2 机器学习 MLPack DLib ecogg shark 2. Closure Closure Toolbox—Clojure语言库与工具的分类目录 3

Machine Learning Algorithms Study Notes(4)—无监督学习(unsupervised learning)

1    Unsupervised Learning 1.1    k-means clustering algorithm 1.1.1    算法思想 1.1.2    k-means的不足之处 1.1.3    如何选择K值 1.1.4    Spark MLlib 实现 k-means 算法 1.2    Mixture of Gaussians and the EM algorithm 1.3    The EM Algorithm 1.4    Principal Components

Machine Learning Algorithms Study Notes(2)--Supervised Learning

Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 2    Supervised Learning    3 2.1    Perceptron Learning Algorithm (PLA)    3 2.1.1    PLA -- "知错能改"演算法    4 2.2    Linear Regression    6 2.2.1    线性回归模型    6 2.2.2    最小二乘法( le

Neural Networks Learning----- Stanford Machine Learning(by Andrew NG)Course Notes

本栏目内容来自Andrew NG老师的公开课:https://class.coursera.org/ml/class/index 一般而言, 人工神经网络与经典计算方法相比并非优越, 只有当常规方法解决不了或效果不佳时人工神经网络方法才能显示出其优越性.尤其对问题的机理不甚了解或不能用数学模型表示的系统,如故障诊断.特征提取和预测等问题,人工神经网络往往是最有利的工具.另一方面, 人工神经网络对处理大量原始数据而不能用规则或公式描述的问题, 表现出极大的灵活性和自适应性. 神经网络模型解决问题的