数据挖掘是从大量的数据中去发现有用的信息,根据这些信息来辅助决策。
数据挖掘揭示的是未知的、将来的数据关系,主要的作用就是预测,采用计算机技术、统计学、模型算法等。
模型算法有分类算法、回归算法、聚类算法等,每种算法类型又包含多种不同的算法,例如分类算法,就包含逻辑回归、朴素贝叶斯、决策树等,使用的编程语言有Java语言、Python,大家听了是不是觉得很专业、很复杂?今天给大家推荐一款简单易用的工具——Smartbi Mining,是由Smartbi推出的独立产品,旨在为个人、团队、企业所做的决策提供预测性分析。
Smartbi Mining具有流程化、可视化的建模界面,内置实用的、经典的统计挖掘算法和深度学习算法,并支持Python扩展算法,基于分布式云计算,可以将模型发送到Smartbi统一平台,与BI平台完美整合。
简单拖拉拽就可轻松完成预测,实在是太方便。此次以“波士顿房价预测”数据为例来带大家窥探一下数据挖掘如何进行。
1. Smartbi Mining操作界面 点击机器学习管理界面右上角“创建机器学习项目”,可以通过示例数据源学习数据挖掘的流程和操作(创建文件目录设置名称)。 最左侧是节点树:包含了已经开发好的所有节点。 中间是主要实现区域,将节点之间拖拽过来即可。 右侧是节点的参数配置和属性配置。
2. 数据挖掘流程 数据挖掘有一套标准的流程,可以对数据进行各种科学的处理和预测,从而发现数据本身隐藏的规律。具体流程如下: 第一步:业务理解。明确目标,明确分析需求。 第二步:数据准备。收集原始数据、检验数据质量、整合数据、格式化数据。 第三步:建立模型。选择建模技术、参数调优、生成测试计划、构建模型。 第四步:评估模型。对模型进行全面的评估,评估结果、重审过程。
3. 案例演示 案例背景:房价是大家一直很关注的问题,无论房地产商还是准备购房的消费者,合理的评估房价的走势,都可以从中受益。 数据准备:房价预测主要关注的信息如下,示例数据中我们已经提前进行了处理。
建立模型:这个案例是预测目标是预测未来的房价,而房价是一个连续的数值,所有选择回归算法(线性回归)建立模型进行训练。 1) 选择数据源。本次使用的是示例数据源中的“波士顿房价预测”。
2) 数据处理。 数据字段名不是很清晰,可以通过预处理在”元数据编辑”节点修改。这里涉及到数据不多可以不设置别名,示例数据中已初步进行了处理,这里也无需再操作。
3) 算法模型。 这里需要说明的是,目前算法必须要有特征输入的过程。特征有2种途径,1种是特征选择,1种是卡方特征选择。两种的区别是如果已经知道哪种特效影响比较大,直接选择即可;如果不确定可以将字段列选择后,再设置可能影响的列的数量。
拖动节点进行特效选择。
“特征选择”,除去经纬度字段、还有作为预测输出的字段(房价),所有的字段都可以作为相关字段来参与预测。
选择算法节点:回归算法-线性回归。 算法节点需要进行训练和验证的过程,需要先进行数据的拆分,拆分成训练集和测试集。拆分后可以对线性回归算法训练,模型算法训练好之后需要进行校验。
评估模型 选择数据预测节点左侧连接训练模型,右侧连接测试数据集。在通过评估节点进行算法预测的评估。
查看一下评估节点的分析结果,主要是看r2值。
房价可能会预测成负值,我们需要处理一下,这里使用到派生列。 新建派生列:NewPrice,添加/编辑表达式:case when prediction <0 then 0.5 else case when prediction >6 then 6 else prediction end end 意思是小于0的统一成固定值0.5,过大(6)统一成固定值。
可以通过统计分析图形化展示查看效果。(统计分析-高维数据可视化)
执行后,右击查看分析结果,选择图形类型(平行坐标图)将原价格和新的预测价格拖动到X轴区域。
下图可以查看预测范围没有偏差很大。
以上就是通过数据挖掘预测房价的过程。可视化的界面,数据挖掘的每一步流程通过功能点的拖动和参数(属性)配置实现。高大上的功能也可以接地气的操作。
|