顺便说一下,现在有更合适的功能: PolynomialFeatures.get_feature_names。
from sklearn.preprocessing import PolynomialFeaturesimport pandas as pdimport numpy as npdata = pd.Dataframe.from_dict({ 'x': np.random.randint(low=1, high=10, size=5), 'y': np.random.randint(low=-1, high=1, size=5),})p = PolynomialFeatures(degree=2).fit(data)print p.get_feature_names(data.columns)
输出结果如下:
['1', 'x', 'y', 'x^2', 'x y', 'y^2']
注意由于某种原因,您必须先适合PolynomialFeatures对象,然后才能使用get_feature_names()。
如果您是熊猫恋人(就像我一样),则可以使用以下所有新功能轻松组成Dataframe:
features = Dataframe(p.transform(data), columns=p.get_feature_names(data.columns))print features
结果将如下所示:
1 x y x^2 x y y^20 1.0 8.0 -1.0 64.0 -8.0 1.01 1.0 9.0 -1.0 81.0 -9.0 1.02 1.0 1.0 0.0 1.0 0.0 0.03 1.0 6.0 0.0 36.0 0.0 0.04 1.0 5.0 -1.0 25.0 -5.0 1.0
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)