【问题标题】:Choice of Machine Learning Platform [closed]机器学习平台的选择[关闭]
【发布时间】:2025-08-03 09:00:02
【问题描述】:

我有一个用户数据集和他们的贷款还款指标(他们花了多长时间,分期付款多少等)。现在我想分析一个用户过去的贷款历史并说,“如果我们借给他们 X,他们很可能会在 Z 天内分 Y 期偿还”

这是我的看法

  1. 该算法是一种聚类算法,根据用户的还款习惯对所有用户进行分组
  2. 我想使用 SOM 或 K-Means

所以我的问题是,哪些平台对此有好处?到目前为止,我已经看过 Mahout。

【问题讨论】:

  • 这取决于您需要处理多少数据以及等待结果的时间。有时使用 Knime 或 rapidminer(具有漂亮 UI 的开源数据挖掘应用程序)获得结果比找到足够的机器进行 mahout + 进行配置 + 调优...

标签: machine-learning cluster-analysis mahout


【解决方案1】:

值得一看 Weka - 这是一个相当成熟的开源工具包,包含许多机器学习算法,包括集群。

【讨论】:

    【解决方案2】:

    RapidMiner - 免费提供社区版 - 使用方便 - 漂亮的可视化

    http://rapid-i.com/content/view/181/190/

    【讨论】:

      【解决方案3】:

      另一个不错的库是scikits.learn,一个供 Python 程序员使用的机器学习库。

      【讨论】:

        【解决方案4】:

        关于这个主题有一本很棒的书 - Toby Segaran 的“Programming Collective Intelligence”。它讨论了不同的机器学习算法、聚类等。还包括指向有用库和示例代码的链接。

        【讨论】:

          【解决方案5】:

          为什么要集群?它看起来不像聚类问题。您可以将聚类分析作为预处理阶段来区分几组用户(或者您可以省略此阶段),但随后您需要进行某种数字预测:两者 - 分期计数和天数 -是数字,那么您将如何通过聚类获得这些数字?

          我建议您使用 regression 来完成这项任务。线性回归必须满足您的需求。如果因变量(分期数和天数)非线性地依赖于其他属性,您可以尝试多项式回归甚至像 M5' 这样的算法,首先构建决策树,然后将回归模型添加到每个叶子那棵树的。

          如果您有非数字属性,您也可以尝试使用 分类 - 在这种情况下,您需要手动创建可能的类(例如,分期付款数:从 3 到 5,从 6 到10 等)然后使用任何分类算法(C4.5、SVM、朴素贝叶斯等等)。

          实际上,我认为您没有大量数据。我相信如果整体小于 50Mb,所以没有必要使用像 Mahout 这样的怪物,它们旨在处理非常非常大量的数据。为此,您可以使用WekaRapidMiner。即使他们无法使用默认配置处理您的数据,也只需增加 JVM 的内存,在 99% 的情况下他们会没事的。

          【讨论】: