数据处理

用交叉验证选择最后的投票结果如何快速选择得到最终结果

可以先利用 numpy.bincount 来找出所有出现值的次数,然后再找到出现次数最多的那个数,注意numpy.bincount的结果是np.amax(x)+1

# voting
submit = []
for line in cv_pred:
    submit.append(np.argmax(np.bincount(line)))

为数组扩展维度

# Check if expansion of y is needed
        if len(np.shape(y)) == 1:
            y = np.expand_dims(y, axis=1)

Array

numpy.full

numpy.full(shape, fill_value, dtype=None, order='C')

返回给定大小和类型的数据,有对应的 fill_value 填充。

获得模型的最后结果

# Return sign of prediction sum
y_pred = np.sign(y_pred).flatten()

numpy.asarray

将 list 转换成 numpy array。

>>> a = [1, 2]
>>> np.asarray(a)
array([1, 2])

连接

>>> a = np.array([[1, 2], [3, 4]])
>>> b = np.array([[5, 6]])
>>> np.concatenate((a, b), axis=0)
array([[1, 2],
       [3, 4],
       [5, 6]])
>>> np.concatenate((a, b.T), axis=1)
array([[1, 2, 5],
       [3, 4, 6]])
>>> np.concatenate((a, b), axis=None)
array([1, 2, 3, 4, 5, 6])
>>> np.vstack(([1,2,3],[4,5,6]))
array([[1, 2, 3],
       [4, 5, 6]])
>>> np.column_stack(([1,2,3],[4,5,6]))
array([[1, 4],
       [2, 5],
       [3, 6]])
>>> np.hstack(([1,2,3],[4,5,6]))
array([1, 2, 3, 4, 5, 6])

TODO

np._c 或 np._r