根据下面给出的描述:'如果输入样本是二维的并且形式为[a,b],则2次多项式特征是[1,a,b,a ^ 2,ab ,b ^ 2]。'
sklearn.preprocessing.PolynomialFeatures
我需要生成的输出ndarray类型为:[a,b,a ^ 2,b ^ 2]
我知道poly = PolynomialFeatures(2, include_bias=False)
poly.fit_transform(X)
给出输出如:[a,b,a ^ 2,ab,b ^ 2]。但我不希望这些中级' ab'键入正在生成的列。如何做到这一点?或者可以在这里使用的更好的API?
答案 0 :(得分:2)
查看patsy和此scikit-learn integration patsylearn。
这使您可以完全控制类似R的公式:
from patsylearn import PatsyTransformer
transformer = PatsyTransformer("y ~ a + b + a^2 + b^2")
transformer.fit(data)