MatrixType的方法
visible
可视化矩阵的数据, 数据的精确度可以通过set_visible_round方法设置
visible_spc
查看矩阵有哪些特殊属性
row_ | column_
获取矩阵的某行(列),调用该函数时,同时也可以声明Pointer或者List两种类型(不声明按照List类型处理),表明要获取哪种类型,不声明会按照list类型返回,建议是不声明。
at
获取指定位置的数据
transpose
获取转置矩阵
初等变换——无返回值
- exchange_row/exchange_column 交换变换
- multiply_row/multiply_column 倍乘变换
- add_row/add_column 把倍乘行(列)加到另一行(列)
hasSameShape
判断两个矩阵是不是形状一样
add
+
操作
minus
-
操作
multiply
*
操作
divide
/
操作
add_no_returned
+
操作,但是改变矩阵本身
minus_no_returned
-
操作,但是改变矩阵本身
multiply_no_returned
*
操作,但是改变矩阵本身
divide_no_returned
/
操作,但是改变矩阵本身
matmul
左行乘右列做内积,并且返回一个新的矩阵对象
kronecker
两个任意形状的矩阵做kronecker积
cofactor
获取余子式矩阵
compare
比较两个一样形状的矩阵的数据,并且返回矩阵形状大小的List>
sum
矩阵求和,如果dim=0,则按照行求,返回数组;如果dim=1,则按照列求,返回数组;dim为其他值则返回整体的和
mean
矩阵均值,原理同sum
min | max
矩阵最值,原理同sum
cut
获取矩阵的内部裁剪矩阵
cutfree
获取从矩阵内部一点开始自由裁剪尺寸的矩阵,外部用number补齐
concat
获取两个矩阵的横(纵)拼接的矩阵
reshape
获取矩阵size不变重塑形状的矩阵
reshape_no_returned
矩阵本身size不变,重塑形状
resize
获取矩阵更改尺寸后的新矩阵,若尺寸增大,则用number补齐。从上到下、从左往右取值,horizontal为true,从每行开始,反之从每列开始。
resize_no_returned
重塑本身尺寸
power
如果reverse为true,获取number为底, 矩阵每个数据为幂次方的新矩阵,反之。
atan2
获取切角大小。reverse原理同上。
sigmoid
获取矩阵对应的sigmoid映射矩阵
softmax
dim=0时,按行求和进行softmax映射;dim=1,按列求和进行softmax映射;dim为其他整数则整体求和做softmax映射。最后返回新矩阵
shuffle
数据打乱
sort_no_returned
dim=0时,按行排序;dim=1,按列排序;dim为其他整数则整体排序。
sort
dim=0时,按行排序;dim=1,按列排序;dim为其他整数则整体排序,然后得到排序好的新矩阵。
rref
获取矩阵的最简阶梯型
setMask
设置矩阵nan和正负无穷大数据的替换值,会改变矩阵本身。
toList
根据传入的类型,返回对应形状的二维列表。对于泊松分布这样的数据非常有用。
std
求解标准差,如果设置sample为true,则视为样本标准差
variance
求解方差,,如果设置sample为true,则视为样本标准方差
median
求解中位数
norm
求解矩阵范数。如果n==-2,则返回矩阵的负无穷范数;如果n==-1,则返回矩阵的正无穷范数;如果设置n==1,则返回矩阵的L1范数,如果n==0或者其他不小于2的正整数,则返回范数(包含行列向量的范数模型、矩阵范数模式),注意这里L0范数是一个整数返回值
norm2
L2范数。即欧氏距离
norm_inf
矩阵的正无穷范数
norm_negainf
矩阵的负无穷范数
norm_one
矩阵的L1范数
norm_zero
L0范数
mode
求解众数(此方法没有基于C-API)
argmax
获取最大值索引
argmin
获取最小值索引
flatten
返回一个1 * size的扁平化矩阵,mode参数决定了从横向开始还是纵向
flatten_list
返回一个扁平化后的一维列表
注:1.0.9版本开始,flatten_list已弃用,改成了toDoubleVector函数
replace
获取替换不符合条件的值后的矩阵
replace_no_returned
替换矩阵不符合条件的值
normalization
获取归一化后的矩阵,0、1、其他值分别对应线性归一化、均值归一化、z-score归一化
slice
获取矩阵切片切出的矩阵,如果不指定切到哪,则切至终点行(列)
clip
获取一个框住范围的矩阵,矩阵数据满足lb <= x <= ub,小于则变成lb,大于变成ub
clip_no_returned
框住矩阵本身范围
all
矩阵所有值全满足条件返回true,反之
any
矩阵任意值满足条件返回true,反之
counter
对矩阵中满足条件的值计数
reduce
对矩阵相邻的两个值累计操作
where
[condition] 是必须传入的条件函数,也同时添加另一个约束 [any],但这时候 [obj] 不能为空。只操作满足条件的值 若不传入 [cpl] 参数,则默认返回满足条件的值到一个一维列表;否则,则按照cpl函数更新的值与未满足条件的值一起写入原来矩阵,返回一个矩阵对象
qr
获取矩阵QR分解得到的两个矩阵组成的列表
Hist
获取未可视化、统计出来的值计数
Bar
获取未可视化、根据条件约束分类并且符合生成标签的值计数
magic !!!
[@alert]高自由度地使用抽象出来的方式来自定义抽象地反射矩阵数据
customize[new from V1.0.6]
相较于矩阵多次创建对象的运算方式,customize可以根据运算流程创建一个矩阵对象
clip_reverse[new from V1.0.6]
在范围外的数据不发生变化,否则按照条件设置值
clip_reverse_no_returned[new from V1.0.6]
clip_reverse的无返回值方式
findIndexs[new from V1.0.6]
查询所有符合条件值的索引,每行都查询,其中prediction是预测平均每行有多少符合条件的值,不传入则设置为行长度的四分之一取整。返回值是包含匹配值索引的二维列表,元素可谓空值一维列表
rotate[new from V1.0.6]
获取矩阵的旋转矩阵,旋转角度必须是90的整数倍,负值表示逆时针,正值表示顺时针
mirror[new from V1.0.6]
获取矩阵的镜像,mode == 0表示横向镜像、其他值表示总线镜像
decentralizate[new from V1.0.7]
获取去中心化的矩阵
covariance[new from V1.0.7]
计算两个矩阵的协方差值
cov[new from V1.0.7]
当不传入另一个矩阵时,计算当前矩阵的协方差矩阵,否则获取二者的协方差矩阵。底层实现时,视纵向为变量,横向为特征
pearsonCoef[new from V1.0.7]
皮尔森系数计算
MSE[new from V1.0.7]
均方误差。在几个评分标准中,传入的矩阵参数(rea)表示真实数据,而本身表示预测数据
RMSE[new from V1.0.7]
均方根误差
MAE[new from V1.0.7]
平均绝对误差
MAPE[new from V1.0.7]
平均绝对百分比误差
R2[new from V1.0.7]
决定系数
SMAPE[new from V1.0.7]
对称平均绝对百分比误差
fill_diagonal[new from V1.0.7]
对矩阵的最小维度对角上的值换为number
choice[new from V1.0.7]
如果根据权重获取数据,权重可以是等列长一维列表,也可以是同形状矩阵。视行为样本。其中method方法分别为0、1、其他整数时,权重映射为原值、sigmoid函数值、绝对值;如果不传入权重,则按照等概率处理
concats[new from V1.0.8]
concat函数的升级版本,可最多一次拼接四个矩阵
split[new from V1.0.8]
根据传入长度为n且严格递增的范围内正整数列表,获取被按照索引分成n+1份的矩阵列表
split_equal[new from V1.0.8]
按照步长均分矩阵得到矩阵列表。如果步长与所切分方向长度一样,则获取矩阵的深拷贝实例
cover[new from V1.0.8]
对某个矩阵从其内部某点开始用另一个矩阵覆盖,多余的数据排除,并返回一个新的矩阵
stretch[new from V1.0.8]
沿着横/竖方向对矩阵拉伸,method表示采用的策略——重复(0)、替换(1)、头部延展(2)、尾部延展(3)、镜像(4)、镜像的镜像(其他)
diffCenter[new from V1.0.8]
在某范围内,传入该范围内连续可导的函数(不做检查)实现求导,基于中心差分法,最后得到导数矩阵(梯度矩阵)
注:该方法借鉴于GSL2.8的中心差分法
get_range[new from V1.0.8]
获取范围(只包含最小值和最大值)
cumsum[new from V1.0.9]
获取与前一个的累积和,当dim设置除0或者1之外的整数时,必须设置flatten参数,当为true,则返回1 * size的二维数组,反之形状不变
sgn[new from V1.0.9]
当数据小于0获取-1,等于0得到0,大于0获取1,注意MatPly是以double为核心
toDoubleVector[new from V1.0.9]
转成一维列表(底层是flatten)
toDobleVector[new from V1.0.9]
转成一维列表(底层是flatten)
toBoolVector[new from V1.0.9]
转成一维列表(底层是flatten)
shake[new from V1.0.9]
对矩阵数据按照bias随机偏移内[-bias / 2, bias / 2]大小