Skip to content Skip to footer

使用 Weka 的无代码机器学习分类模型

无论是开始进行机器学习还是简单的模型原型设计,Weka 都为 AI 中的常见算法提供了一个无代码且易于使用的平台。Weka 是数据挖掘时代的工具,但直到现在,它一直在不断更新,主题是机器和深度学习。这个故事展示了一个使用 Weka 的分类问题的例子。

打开 Windows 资源管理器并导航到“C:\Program Files\Weka-3–9–6\data”,然后右键单击 diabetes.arff 文件并选择使用记事本打开,将显示该文件的 metada,也可以找到数据字典,这是字段的名称和数量,并且可以读取记录,平均值, 数据集中每个属性的标准差和数据类型。当然,目标变量(在本例中为 Class 属性)也可以可视化,默认情况下显示为最后一个字段。请参阅图 1。

image-20231117211245610

image-20231117211330710

图 1.糖尿病数据集的元数据。

关闭文件并打开 Weka,单击右侧面板中的“资源管理器”选项卡,然后单击“打开文件”并导航到“C:\Program Files\Weka-3–9–6\data\diabetes.arff”,该文件现在已在 Weka 中打开。请参阅图 2。

image-20231117211400090

图2.Diabetes.arff 向 Weka 提起诉讼。.arff 是 Weka 的专有格式,可以轻松存储元数据。

分类问题

理解分类问题的一种方法是询问一组变量:(v1, v2, v3,...,vn) 是否可以确定一个类,也就是说,如果存在一个将不同变量映射到类中的函数:f(v1, v2, v3,...,vn) → (c1,c2,c3,...,cn),以将元素分配给特定类的误差最小。 二元分类问题的正式定义是:设 (X1, Y1), . . . ,(Xn, Yn) 是 (X, Y ) ∈ X × {0, 1}n 个独立随机副本。用PX,Y表示(X,Y)的联合分布。所谓的特征 X 存在于某个抽象空间 X 中(想想 Rd ),而 Y ∈ {0, 1} 称为标签。例如,X 可以是在患者身上测量的基因表达水平的集合,而 Y 表示此人是否患有肥胖症。二元分类的目标是构建一个规则,仅使用手头的数据来预测给定 X 的 Y。这样的规则是一个函数 h : X → {0, 1},称为分类器。有些分类器比其他分类器更好,我们将偏爱分类误差低的分类器 R(h) = P(h(X) = Y )。

探索性分析

在处理医学、金融等特定领域的数据时,会出现许多问题。在这种情况下,一些示例是:

  • 哪些方面(变量)对糖尿病的影响最大?换句话说,如果稀缺变量可用,那么预测这种疾病最重要的变量是什么?
  • 它们之间有哪些变量相关?
  • 从统计学的角度来看,变量、数据类型、可用性(无空)及其均值和标准差的分布是什么?
  • 班级是否不平衡?

这些问题可以通过探索性数据分析 (EDA) 来回答。图 3 显示了糖尿病数据集的一些详细信息,有 9 个属性,包括目标变量和 768 个示例。

image-20231117211421150

图3.糖尿病数据集中的属性和记录数。

由于几乎双倍的示例是负类(500 条记录),因此数据集被认为是 35% 的不平衡。

image-20231117211442747

图4.class 属性显示数据集不平衡到 35% 左右。

图5显示了Plasma变量的分布,可以得出两个结论,变量的分布和正类是相关的,它们非常相似。其次,当一个人的血浆值低于 80 时,他/她几乎不可能患有糖尿病。

image-20231117211504590

图5.等离子体属性与正类的分布。如果血浆值高于 99.5,则患者患糖尿病的可能性越来越大。

一种分类算法

让我们从决策树开始,单击“分类”选项卡,然后选择树/J48 算法。确保选择 fold equal to 10 的交叉验证以保证 。之后,单击“开始”按钮。图 6 显示了结果。

image-20231117211523198

图6.决策树分类器。准确度:73.8%

逻辑回归可以是可选的分类器,单击“选择”按钮,然后单击“函数/Logistic”,然后单击“开始”按钮。结果如图 7 所示。

image-20231117211550066

图7.逻辑回归分类器。准确度为77.2%

但是,由于数据集是不平衡的,因此 F-Measure 是评估结果的更好指标,在这种情况下,Logistic Regression 是这两种方法的最佳选择,值为 0.834。

功能重要性

现在转到 Preproccess 选项卡,然后:filters/Supervised/Attribute/Attribute selection,然后选择 apply,参见图 8 了解初始变量的特征重要性。

image-20231117211608700

无花果 8.功能重要性。等离子体是数据集中最重要的变量。

但是,前两个特征“plas”和“mass”可能不是最佳组合,因此像 SubsetEval 这样的不同搜索 — 使用 Greedy Stepwise。图 9 显示了变量的最佳组合。

image-20231117211631900

图 9.糖尿病预测的最佳特征组合。

结论

Weka 使探索数据、查看分布、创建特征重要性和开发分类模型变得容易。

血浆、质量和年龄是预测糖尿病时最重要的三个变量。