我正在使用sklearn在Python中构建一个简单的多项式模型。我的训练集由3个特征向量(即RGB三元组)组成。我正在使用以下代码拟合模型:
degree = 1
model = make_pipeline(PolynomialFeatures(degree), Ridge())
model.fit(samples, y)
coef = model.named_steps['ridge'].coef_
intercept = model.named_steps['ridge'].intercept
使用一次多项式都很好。这是输出:
Coefficients = [[ 0., -0.1235785, 0.8367021, -1.71648988]]
Intercept = [ 9.15605047]
为了评估我刚训练过的模型的新三元组,我可以使用:
prediction = model.predict(aNewTriplet)
或者,我可以这样做:
prediction = intercept + (-0.123578 * aNewTriplet[0] + 0.8367021 * aNewTriplet[1] - 1.71648988 * aNewTriplet[2])
如果我有二阶多项式(输出10个元素的数组)怎么样?如何排序系数?像这样?:
coefficients (order = 2) = [ 0, R, G, B, R^2, G^2, B^2, RG, RB, GR]