我想训练一个模型,使其能够作为平方函数工作。但我无法确定应该使用哪种类型的数据集来训练模型。
我希望的是,在训练模型后,调用predict方法时,结果应该是传入predict方法的数字的平方。
例如:print(model.predict([5])
应该输出25
回答:
-
你可以使用回归,因为你试图预测一个实数值输出。
-
你不能仅使用输入的线性特征,因为我们知道输出是输入的二次函数。因此,我们需要的是多项式回归。
-
你可以指定度数为大于等于2的任何值,并让模型选择哪些特征最具表现力。你可以通过绘制模型学习到的权重来检查这一点(此页面中的coef_)。如果训练顺利,你通常会看到x^2特征有一个大的峰值,而其他特征几乎接近于0。
总之,训练一个线性回归模型,其特征是输入的一些/许多高阶多项式表示,并让模型学习到输出实际上是提供的特征之一。
[编辑]:但如果你不想明确传递特征,那么你可以尝试训练一个神经网络,使用输入的二进制表示,试图预测输出的二进制表示。这个可以支持你。