Esempio n. 1
0
def add_feature_interaction(df, label):
    target = np.array(df[label])
    features = df.drop(labels=[label], axis=1)
    interaction = PolynomialFeatures(degree=2,
                                     interaction_only=True,
                                     include_bias=False)
    interaction = interaction.fit_transform(features)
    features_column_name = list(features.columns) + [
        str(i) for i in range(interaction.shape[1] - features.shape[1])
    ]
    features_row_name = [str(i) for i in range(interaction.shape[0])]
    interaction = pd.DataFrame(data=interaction,
                               index=features_row_name,
                               columns=features_column_name)
    interaction.insert(loc=(interaction.shape[1] - 1),
                       column=label,
                       value=target)
    return interaction