拼接原始数据:
train_data = pd.read_csv('train.csv')
test_data = pd.read_csv('test.csv')
all_data = np.vstack((train_data.ix[:,1:-1], test_data.ix[:,1:-1]))
numpy下的合并数组vstack和hstack函数:
>>> a = np.ones((2,2))
>>> b = np.eye(2)
>>> print np.vstack((a,b))
[[ 1. 1.]
[ 1. 1.]
[ 1. 0.]
[ 0. 1.]]
>>> print np.hstack((a,b))
[[ 1. 1. 1. 0.]
[ 1. 1. 0. 1.]]
生成高(2)次特征:
def group_data(data, degree=2, hash=hash):
new_data = []
m,n = data.shape
for indicies in combinations(range(n), degree):
new_data.append([hash(tuple(v)) for v in data[:,indicies]])
return array(new_data).T
在生成高次特征之前,先做“LabelEncoder”操作。。。。
from kaggle