【问题标题】:Machine learning : Predict output number from input vector trained "matched"机器学习:从经过“匹配”训练的输入向量预测输出数
【发布时间】:2015-10-06 15:19:17
【问题描述】:

我会知道在数学上是否有可能从输入向量给出的多个样本中预测输出数。

我真的不知道如何解释,所以我举个例子: 向量类似于 [学习时间,睡眠时间],输出是学校考试的分数:

x.train(100, [5, 8])
x.train(0, [0, 0])
x.predict([2.5, 4]) // should return 50 (because inputs are the half)
x.predict([5, 8]) // should return 100
x.predict([0, 0]) // should return 0

对不起,如果我不够清楚.. 如果您能理解我的意思,您是否知道可以做到这一点的 Python 或 PHP 库以及如何使用它的示例?

非常感谢您,祝您有美好的一天!

【问题讨论】:

标签: php python math machine-learning


【解决方案1】:

使用scikit-learn 你可以做到:

from sklearn import linear_model
clf = linear_model.LinearRegression()
clf.fit([[5, 8], [0 , 0]], [100, 0])

print(clf.predict([[2.5, 4], [5, 8], [0, 0]]))

您应该注意over/underfitting 的机会。您可能要考虑使用polynomial features,这会增加模型的复杂性,从而增加更好预测的变化,但不要选择太复杂的特征(在这种情况下是高多项式次数),因为它肯定会导致过度拟合。尝试使用cross-validation 在两者之间找到平衡点。

考虑同时使用RidgeLasso,它们本身可以处理过度拟合。

【讨论】:

  • 只是一个问题.. 是否有可能使其“非线性”?
  • LinearRegression中的Linear是指将要学习的权重。如上所述,通过添加多项式特征,例如 x^2,您可以通过数据获得非线性拟合。
  • @EyeSalut 正如desiato 所说,使用上面提到的polynomial featuresherehere 有示例如何使用它们。
猜你喜欢
  • 1970-01-01
  • 2015-08-04
  • 2021-06-06
  • 1970-01-01
  • 2015-06-06
  • 1970-01-01
  • 2020-06-15
  • 2019-05-16
  • 2020-02-21
相关资源
最近更新 更多