数据处理
用交叉验证选择最后的投票结果如何快速选择得到最终结果
可以先利用 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