首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

小巧的流程可视化机器学习工具——Orange

作为Python的忠实拥趸,我非常钟爱Anaconda,这个集成环境真是太好用了!前段时间我注意到了一个有点逗的橘子图标(红框):

看起来应该是个可视化工具,所以我打算试用一下,点击Install安装完成后点Launch。

进入后是有个向导的,点击New新建一个,就可以一大块空白:

左侧是一些工具,我们稍后就会用到,右边的空白其实是画布,一会儿我们的流程都会布置在上面。

左侧的工具栏由5部分组成,分别是Data(数据)、Visualize(可视化)、Model(模型)、Evaluate(评估)和Unsupervised(无监督学习)。我们先从Data中选取File,并拖到右侧,以便读取本地文件中的源数据。

当然,现在什么都还没有发生,我们双击File,会弹出一个界面,让你选择要读入的文件。你还可以看到你读取的数据有哪几列,在下面的表格中你可以设置它们的名字,数据的类型以及它们的作用。比如下图中,我们读入了train_sample.csv,一共有10万行数据,8个特征,前五个特征都是numeric(数值型),中间有两个时间特征,我们选择了跳过(skip),最后bought是个categorical(类别型),它的值是0或者1(二分类)。

接下来我们再拖入一些辅助组件,比如Data Table可以让你查看表格,Data Info可以查看源数据的总体信息,还有Data Sampler用于采样。

每个组件都可能会有左右弧线(虚线),左侧代表输入,右侧代表输出,我们将File右侧的弧线拖到其他三个的左侧,将它们连接起来:

这意味着File中的数据会输出,并作为另外三个组件的输入。没有输入的话你是看不到任何东西的,连接完成之后我们可以双击Data Table,这时就会出现表格的内容。

任何组件都可以双击,双击之后你可以在其中进行一系列操作。

接着我们双击Data Sampler,用它的采样功能来分割数据,将数据分割为训练集和验证集。

我们从中分割出了80%的数据,并且勾选了Stratify Sample,这主要是基于源数据是严重偏斜的数据(0比1多很多很多),因此我们要按0-1的比例采样。设置完点击Sample Data即可完成。

随后我们在左侧的工具栏中选择Evaluate(评估),将其中的Test & Score拖进来,这个主要用来看模型在数据集上的各类评分。另外我们再拖一个ROC Analysis进来,可以查看ROC曲线。我们把它们连接起来。

这个时候我们发现Evaluate的两个组件中间是虚线,这代表没有有效的数据传输。毕竟我们还没有制定机器学习用的模型,而且我们的数据输入也有点问题。双击Data Sampler与Test & Score之间的连线,我们就能设置数据的传输情况:

这里我们也是通过拖动,将采样出来的那80%(Data Sample)连接到Data上,成为训练集数据。再把剩下的20%(Remaining Data)连接到Test Data上,成为测试集数据。

我们再从左侧工具栏的Model中拖出几个模型(RF、NBC、NN),并把它们的输出也连接到Test & Score的输入端,它们会自己连接到Learner上。

我们也可以双击模型组件来设置模型的参数:

连接完成后Test & Score会自动训练和评估,双击它我们会看到相应的结果:

可以看到这里给出了一些常用的评估指标的得分。这里显示的是在验证集上的得分,你可以点左侧看看模型再训练集或者各种CV下的得分情况。

然后,我们再双击ROC Analysis,可以看到三种模型的ROC曲线:

我们也可以只看一条:

可以说非常直观了。

此外,我们还可以在数据处理的初期就加入一些可视化组件来查看数据的分布等等,就像这样:

当然啦,你还可以通过左下角的一些工具加入一些注释,像这样:

这就是关于Orange的简单介绍啦,这款工具界面很友好,功能也很丰富,有兴趣的可以自己探索一下。不过这款工具不太适合超大量的数据,也应付不了非结构化数据,但作为机器学习的演示工具来说却非常合适,而且它操作简单,界面直观,也非常有利于入门学习。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180323G1SFD900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券