哪种 ML 方法最适合根据现有数据得出粗略的预测公式?

数据挖掘 机器学习
2022-03-10 12:56:40

您会说哪种 ML 方法最容易根据现有的预测器统计数据和结果数据推导出数学公式?

我有这个数据:

对手1

  • 强度:×
  • 战斗分数:y

我也有一个模型用来对抗对手:

对手2

  • 强度:z
  • 战斗分数:k

最后,所有战斗的结果都被写入数据库(目前有大约 2800 个结果),看起来像这个模型:

战斗

  • 强度:x - z
  • 战斗分数:y - k
  • 结果:赢/输

我想为力量和战斗分数获得适当的权重,这样我就可以从中得出一个简单的公式,从而在某种程度上预测下一场战斗是赢还是输。

2个回答

如果您想要“简单公式”的“最简单”,那么肯定会是对战斗分数的线性回归,或对“赢/输”的逻辑回归。这样,您将获得模型的系数,并且它们将是可解释的(您不会从具有数百个参数的神经网络中获得)。

您必须进行二进制分类。以下是 Keras 中的方法:

  1. 组织您的数据集,使其看起来像一个矩阵熊猫 数据框

在此处输入图像描述

  1. 结果将是标签向量和没有战斗ID的矩阵,结果将是数据集的特征

  2. 在训练和测试中划分数据集,例如scikit learn train_test_split

  3. 使用Keras构建简单模型

    model = Sequential()
    model.add(Dense(10, input_dim=4, activation='relu'))
    model.add(Dense(10, activation='relu'))
    model.add(Dropout(0.2))
    model.add(Dense(1, activation='sigmoid')
    model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']
    
  4. 训练它:

    model.fit(train_x, train_y, epochs= 2, batch_size = 500, validation_data = (test_x, test_y))