第1个回答 2016-12-21
一、获取数据1、打开 IBM SPSS Modeler 客户端,点击左下角的 Server 按钮,选择要连接的 Modeler Server,这里需要说明的就是如果 SDAP 装在和 Modeler Client 在一台机器,那么就选择 Local Server;如果不在同一台机器,而是和单独的 Modeler Server 装在一台机器,就选在添加按钮,输入机器的主机名或者 IP 地址,设置登录的用户名和密码,点击完成按钮,如图 7 所示:2、连接上 Modeler Server 之后,在源选项双击数据库节点,然后就可以添加数据库源节点到数据流工作区,双击节点,在数据项选择添加一个数据库连接,然后 Modeler Client 会将 Modeler Server 所在机器的所有 ODBC 查询出来,找到需要连接的数据库连接信息,输入用户名和密码后,点击连接按钮,选择完成然后进入选择表,这里以 SQL Server 为例,如图 8 所示:3、点击完成按钮后,在表名列点击选择按钮,选择表名,这里以 dbo.Modeler_Drug1 为例,如图 9 所示:4、选择表后,节点自动读取表结构。用同样的方法再添加两个数据库节点,选择 ODBC 为 DB2 和 Oracle, 输入用户名和密码之后,就可以选择要读取数据的表名了。这样就完成了用 Modeler Client 读取数据库数据的操作,然后要进行的就是对数据的处理。首先利用 Modeler 的 Merge 节点对 DB2 和 Oracle 中的两张表的数据进行合并,处理后的结果是得到的数据一部分来自 DB2 数据库,一部分来自 Oracle 数据库。对于来自 Oracle 数据库的数据,取 3 个字段的值:对于来自 DB2 数据库的数据,取 4 个字段:二、数据处理1、双击记录选项中的 Merge 节点,然后将 DB2 和 Oracle 两个节点与之连接,双击 Merge 节点,可以看到处理后的数据包括来自 DB2 和 Oracle 的 7 个字段:2、然后需要通过 Modeler 的 Append 节点将 Merge 后的数据追加到来自 SQL Server 数据库的数据。双击记录选项中的 Append 节点,在流工作区中将 Merge 节点和 SQL Server 数据源节点与之连接,这样得到的就是来自三个数据库的数据了。还可以通过 Modeler 的其他节点对数据进行进一步的处理,比如通过选择节点,可以设置条件来选择需要的数据,或者通过排序节点对某几个列进行排序等等。三、建模1、最后要做的就是对处理过的数据进行建模了,首先需要设定一个 Target 列,也就是需要预测的列。通过 Modeler 的 Type 节点设置 Target 列,在字段选项双击 Type 节点,在流工作区中将 Append 节点与之连接,双击 Type 节点,修改 Drug 列的角色为 Target,其他默认为 Input 。2、然后就是选择要使用的模型了,这里以神经网络为例,在模型选择中双击神经网络节点,在流工作区中将 Type 节点与之连接,打开神经网络节点,可以看到是通过所有的角色为 Input 的列来预测觉得为 Target 的列,当然可以在这里修改 Input 和 Target,将年龄的角色从 Input 修改为 Target 。3、点击运行按钮,生成一个新的模型块,该模型块会被自动连接在流工作区,并带有指向创建它的建模节点的链接。要查看模型的详细信息,右键单击模型块并选择浏览(在模型选项板上)或编辑(在工作区上)。4、双击打开生成的模型块,可以看到哪些值对预测结果的影响最大,线条宽深说明影响越大。