ops
classicML的底层核心操作.
cc_bootstrap_sampling
cc_bootstrap_sampling(x, y=None, seed=None)
对样本进行自助采样.
参数
x: 一个 Numpy数组,特征数据.
y: 一个 Numpy数组,数据样本(标签).
seed: 整数,随机种子.
返回
自助采样后的新样本.
ConvexHull
使用Graham扫描算法计算二维凸包.
ConvexHull(points)
参数
points: 一个Numpy数组或列表, 计算凸包的点.
hull: 一个Numpy数组或列表, 凸包的点.
参考文献
compute_convex_hull
计算二维凸包.
compute_convex_hull()
返回
二维凸包.
cc_calculate_centroids
cc_calculate_centroids(x, clusters)
计算均值向量.
参数
x: 一个 Numpy数组, 特征数据.
clusters: 一个 Numpy数组, 当前的簇标记.
返回
均值向量.
cc_calculate_error
cc_calculate_error(x, y, i, kernel, alphas, non_zero_alphas, b)
计算KKT条件的违背值.
参数
x: 一个 Numpy数组,特征数据.
y: 一个 Numpy数组,标签.
i: 整数,第i个样本.
kernel:
cml.kernel.Kernels实例,分类器使用的核函数.alphas: 一个 Numpy数组,拉格朗日乘子.
non_zero_alphas: 一个 Numpy数组,非零拉格朗日乘子.
b: 浮点数,偏置项.
返回
KKT条件的违背值.
cc_calculate_euclidean_distance
cc_calculate_euclidean_distance(x0, x1)
计算欧式距离.
参数
x0, x1: Numpy数组, 要计算欧式距离的两个值.
返回
欧式距离.
cc_calculate_means
cc_calculate_means(sample, gamma)
计算均值.
参数
sample: 一个Numpy数组, 样本的取值.
gamma: 一个Numpy数组, 后验概率.
返回
新的均值.
cc_clip_alpha
cc_clip_alpha(alpha, low, high)
修剪拉格朗日乘子.
参数
alpha: 浮点数,拉格朗日乘子.
low: 浮点数,正则化系数的下界.
high: 浮点数,正则化系数的上界.
返回
修剪后的拉格朗日乘子.
cc_compare_differences
cc_compare_differences(x0, x1, tol)
比较差异.
参数
x0, x1: Numpy数组, 要比较差异的两个值.
tol: 浮点数, 最小差异阈值.
返回
差异向量.
cc_get_cluster
cc_get_cluster(distances)
获取类条件概率.
参数
distances: 一个Numpy, 距离.
返回
簇标记.
cc_get_conditional_probability
cc_get_conditional_probability(samples_on_attribute, samples_in_category, num_of_categories, smoothing)
获取类条件概率.
参数
samples_on_attribute: 整数,在某个属性的样本.
samples_in_category: 整数,在某个类别上的样本.
num_of_categories: 整数,类别的数量.
smoothing: 布尔值,是否使用平滑.
返回
类条件概率.
cc_get_dependent_prior_probability
cc_get_dependent_prior_probability(samples_on_attribute_in_category,
number_of_sample,
values_on_attribute,
smoothing)
获取有依赖的类先验概率.
参数
samples_on_attribute_in_category: 整数,类别为c的属性i上取值为xi的样本.
number_of_sample: 整数,样本的总数.
values_on_attribute: 整数,在属性i上的取值数.
smoothing: 布尔值, 是否使用平滑.
返回
类先验概率.
cc_get_prior_probability
cc_get_prior_probability(number_of_sample, y, smoothing)
获取类先验概率.
参数
number_of_sample: 整数,样本的总数.
y: 一个 Numpy数组,标签.
smoothing: 布尔值, 是否使用平滑.
返回
类先验概率.
cc_get_probability_density
cc_get_probability_density(sample, mean, var)
获得概率密度.
参数
sample: 浮点数,样本的取值.
mean: 浮点数,样本在某个属性的上的均值.
var: 浮点数,样本在某个属性上的方差.
返回
概率密度.
cc_get_w
cc_get_w(S_w, mu_0, mu_1)
cc_get_w已经被弃用, 它将在未来的正式版本中被移除, 请使用 cc_get_w_v2.
获得投影向量.
参数
S_w: 一个 Numpy数组,类内散度矩阵.
mu_0: 一个 Numpy数组,反例的均值向量.
mu_1: 一个 Numpy数组,正例的均值向量.
返回
投影向量.
cc_get_w_v2
cc_get_w_v2(S_w, mu_0, mu_1)
获得投影向量.
参数
S_w: 一个 Numpy数组,类内散度矩阵.
mu_0: 一个 Numpy数组,反例的均值向量.
mu_1: 一个 Numpy数组,正例的均值向量.
返回
投影向量.
cc_get_within_class_scatter_matrix
cc_get_within_class_scatter_matrix(X_0, X_1, mu_0, mu_1)
获得类内散度矩阵.
参数
X_0: 一个 Numpy数组,反例集合.
X_1: 一个 Numpy数组,正例集合.
mu_0: 一个 Numpy数组,反例的均值向量.
mu_1: 一个 Numpy数组,正例的均值向量.
返回
类内散度矩阵.
cc_init_centroids
cc_init_centroids(x, n_clusters, init)
初始化初始均值向量.
参数
x: 一个 Numpy数组,KKT条件的违背值缓存.
n_clusters: 整数, 聚类簇的数量.
init: 均值向量的初始化方式,
‘random’: 采用随机初始化;
列表或一个Numpy数组: 可以指定训练数据的索引, 也可以直接给定具体的均值向量.
返回
均值向量.
异常
ValueError: 聚类簇数量与初始化均值向量数量不一致, 非法索引或不能自动转换的非法均值向量.
TypeError: 非法均值向量.
cc_select_second_alpha
cc_select_second_alpha(error, error_cache, non_bound_alphas)
选择第二个拉格朗日乘子,SMO采用的是启发式寻找的思想,找到目标函数变化量足够大,即选取变量样本间隔最大.
参数
error: 浮点数,KKT条件的违背值.
error_cache: 一个 Numpy数组,KKT条件的违背值缓存.
non_bound_alphas: 一个 Numpy数组,非边界拉格朗日乘子.
返回
拉格朗日乘子的下标和违背值.
cc_type_of_target
cc_type_of_target(y)
cc_type_of_target已经被弃用, 它将在未来的正式版本中被移除, 请使用 cc_type_of_target_v2.
判断输入数据的类型.
参数
y: 一个 Numpy数组,待判断类型的数据.
返回
'binary': 元素只有两个离散值,类型不限.'continuous': 元素都是浮点数,且不是对应整数的浮点数.'multiclass': 元素不只有两个离散值,类型不限.'multilabel': 元素标签不为一,类型不限.'unknown': 类型未知.
cc_type_of_target_v2
cc_type_of_target_v2(y)
判断输入数据的类型.
参数
y: 一个 Numpy数组,待判断类型的数据.
返回
'binary': 元素只有两个离散值,类型不限.'continuous': 元素都是浮点数,且不是对应整数的浮点数.'multiclass': 元素不只有两个离散值,类型不限.'multilabel': 元素标签不为一,类型不限.'unknown': 类型未知.