机器学习备忘-特征映射

将一个二维特征(x1, x2)根据自己的需要映射到高维。
机器学习备忘-特征映射_第1张图片

def feature_mapping(x, y, power, as_ndarray=False):#这里x,y是np数组的形式,as_ndarray默认为false,这是作者定义的函数
#     """return mapped features as ndarray or dataframe"""

    data = {"f{}{}".format(i - p, p): np.power(x, i - p) * np.power(y, p)
                for i in np.arange(power + 1)
                for p in np.arange(i + 1)
            }#列表推导出字典

    if as_ndarray:
        return pd.DataFrame(data).values()#返回数组,不是矩阵,以后会用.values代替
    else:
        return pd.DataFrame(data)

你可能感兴趣的:(机器学习,python)