我想训练一个模型作为方形函数。 但我无法弄清楚我应该在什么类型的数据集上训练模型。
我想要的是,在我训练模型并调用预测后,结果应该是我传递给预测的数字的平方
示例:print(model.predict([5])
它应该打印25
答案 0 :(得分:1)
您可以在尝试预测实际值时使用Regression。
您不能仅使用输入的线性要素,因为我们知道输出是输入的二次函数。所以,我们需要的是polynomial regression。
这可以在sklearn中以linear regression polynomial features完成。
您可以指定度数为> = 2,让模型选择哪些特征最具表现力。您可以通过绘制模型学习的权重(coef_ in this page)来检查这一点。你通常希望看到训练进展顺利的是x ^ 2特征的一个大峰值,而其他所有特征几乎接近0。
因此,本质上,训练一个线性回归模型,其特征是输入的一些/多个高阶多项式表示,让模型知道输出实际上是提供的特征之一。
[编辑]:但是如果您不想明确传递该功能,那么您可以尝试使用输入的二进制表示来训练神经网络,尝试预测输出的二进制表示。 This让你退缩。
答案 1 :(得分:0)
分类说明一个项属于哪个类而不是输出哪个值,你要说的是对不属于任何类的值进行分类和预测。使用神经网络这种任务非常有效的预测器。< / p>
答案 2 :(得分:0)
训练这个模拟函数f的回归量:x - &gt; X ** 2。您的功能描述了域功能(实际设置),您的测试集包含功能图像。例如:
# python3
import numpy as np
from sklearn.ensemble import RandomForestRegressor
x = np.arange(0, 101, 2)
y = x**2
rf = RandomForestRegressor(random_state=1)
rf.fit(x.reshape(-1,1), y)
print(rf.predict(5))
输出:
[ 22.]