models

在 classicML 中最基本也是最重要的就是模型,通过预定义的模型你可以实现你的机器学习任务. 你可以直接实例化一个你想使用的模型,比如:

import classicML as cml

# 实例化一个神经网络
model = cml.models.BPNN()
# 实例化一个支持向量机
model = cml.models.SVC()
# 实例化一个决策树
model = cml.models.DecisionTreeClassifier()

目前,在 classicML 中大部分模型都有六个类方法model.compile()model.fit()model.predict()model.score()model.save_weights()model.load_weights();前四个类方法分别控制模型工作流程中的编译模型参数,训练模型,使用训练好的模型进行预测推理和在预测模式下计算准确率;后两个方法可以实现模型权重的保存和加载. 以支持向量机为例,流程大概是这样的:

import classicML as cml
# 实例化一个支持向量机
model = cml.models.SVC(seed=2020)
# 编译模型参数,配置软间隔系数和核函数
model.compile(C=10000.0, kernel='rbf')
# 训练模型
model.fit(x, y)
# 在测试集上测试
y_pred = model.predict(x_test)
# 保存模型权重
model.save_weights('./weights.h5')

注意, DecisionStumpClassifierTwoLevelDecisionTreeClassifier被设计用来作为基学习器使用, 不推荐直接使用.

BaseModel

classicML的模型抽象基类, classicML的模型全部继承于此. 通过继承BaseModel, 至少实现fitpredict方法就可以构建自己的模型.

cml.models.BaseModel()

compile

compile(**kwargs)

编译模型.

fit

fit(x, y, **kwargs)

训练模型.

参数

  • x: 一个 Numpy数组,特征数据.

  • y: 一个 Numpy数组,标签.

异常

  • NotImplementedError: 需要用户自行实现.

predict

predict(x)

使用模型进行预测.

参数

  • x: 一个 Numpy数组,特征数据.

返回

预测的Numpy数组.

异常

  • NotImplementedError: 需要用户自行实现.

score

score(x, y)

在预测模式下计算准确率.

参数

  • x: 一个 Numpy数组,特征数据.

  • y: 一个 Numpy数组,标签.

返回

当前的准确率.

load_weights

load_weights(filepath)

加载模型参数.

参数

  • filepath: 字符串,权重文件加载的路径.

异常

  • NotImplemented: 需要用户自行实现.

save_weights

save_weights(filepath)

将模型权重保存. 如果您希望您的模型参数收到保护, 可自行实现模型的保存方式; 如果您希望您的模型开源, 请参照cml.backend.io的协议方式实现参数的保存.

参数

  • filepath: 字符串,权重文件保存的路径.

异常

  • NotImplemented: 需要用户自行实现.

AdaBoostClassifier

AdaBoost分类器.

cml.models.AdaBoostClassifier()

compile

compile(base_algorithm=TwoLevelDecisionTreeClassifier)

编译AdaBoost分类器.

参数

  • base_algorithm: BaseLearner对象, AdaBoost使用的基学习器算法; 目前只实现了TwoLevelDecisionTreeClassifier, 未来将接入更多算法.

fit

fit(x, y, max_estimators=50)

训练AdaBoost分类器.

参数

  • x: 一个 Numpy数组, 特征数据.

  • y: 一个 Numpy数组, 标签.

  • max_estimators: 整数, 基学习器集成的最大数量(训练的最大轮数).

返回

一个AdaBoostClassifier实例.

predict

predict(x)

使用AdaBoost分类器进行预测.

参数

  • x: 一个 Numpy数组, 特征数据.

返回

AdaBoostClassifier预测的结果.

异常

  • ValueError: 模型没有训练的错误.

score

score(x, y)

在预测模式下计算准确率.

参数

  • x: 一个 Numpy数组,特征数据.

  • y: 一个 Numpy数组,标签.

返回

当前的准确率.

load_weights

load_weights(filepath)

加载模型参数.

参数

  • filepath: 字符串,权重文件加载的路径.

异常

  • KeyError: 模型权重加载失败.

save_weights

save_weights(filepath)

将模型权重保存为一个HDF5文件.

参数

  • filepath: 字符串,权重文件保存的路径.

异常

  • KeyError: 模型权重保存失败.

AveragedOneDependentEstimator

平均独依赖估计器,一种半朴素贝叶斯分类器.

cml.models.AveragedOneDependentEstimator(attribute_name=None)  # 可以使用缩写 cml.models.AODE()

参数

  • attribute_name: 字符串列表,属性的名称.

compile

compile(smoothing=True, m=0)

编译平均独依赖估计器.

参数

  • smoothing: 布尔值,是否使用平滑,这里的实现是拉普拉斯修正.

  • m: 整数,阈值常数,样本小于此值的属性将不会被作为超父类.

fit

fit(x, y)

训练平均独依赖估计器.

参数

  • x: 一个 Numpy数组,或者是Pandas的DataFrame,特征数据.

  • y: 一个 Numpy数组,或者是Pandas的DataFrame,标签.

返回

一个AverageOneDependentEstimator实例.

predict

predict(x)

使用平均独依赖估计器进行预测.

参数

  • x: 一个 Numpy数组,或者是Pandas的DataFrame,特征数据.

返回

预测的Numpy数组.

异常

  • ValueError: 模型没有训练的错误.

score

score(x, y)

在预测模式下计算准确率.

参数

  • x: 一个 Numpy数组,特征数据.

  • y: 一个 Numpy数组,标签.

返回

当前的准确率.

load_weights

load_weights(filepath)

加载模型参数.

参数

  • filepath: 字符串,权重文件加载的路径.

异常

  • KeyError: 模型权重加载失败.

注意

  • 模型将不会加载关于优化器的超参数.

save_weights

save_weights(filepath)

将模型权重保存为一个HDF5文件.

参数

  • filepath: 字符串,权重文件保存的路径.

异常

  • KeyError: 模型权重保存失败.

注意

  • 模型将不会保存关于优化器的超参数.

BackPropagationNeuralNetwork

BP神经网络.

cml.models.BackPropagationNeuralNetwork(seed=None, initializer=None)  # 可以使用缩写 cml.models.BPNN()

参数

  • seed: 整数,随机种子.

  • initializer: 字符串,或者cml.initializers.Initializer实例,初始化器.

compile

compile(network_structure, optimizer='sgd', loss='crossentropy', metric='accuracy')

编译神经网络,配置训练时使用的超参数.

参数

  • network_structure: 列表,神经网络的结构,定义神经网络的隐含层和输出层的神经元个数(输入层目前将自动推理),

    例如:

    ​ [3, 1]是一个隐含层3个神经元和输出层1个神经元的网络,

    ​ [5, 5, 2]是一个有两个隐含层每层有5个神经元和输出层2个神经元的网络.

  • optimizer: 字符串,或者cml.optimizers.Optimizer实例,神经网络使用的优化器.

  • loss: 字符串,或者cml.losses.Loss实例,神经网络使用的损失函数.

  • metric: 字符串,或者cml.metrics.Metric实例,神经网络使用的评估函数.

fit

fit(x, y, epochs=1, verbose=True, callbacks=None)

训练神经网络.

参数

  • x: 一个 Numpy数组,特征数据.

  • y: 一个 Numpy数组,标签.

  • epochs: 整数,训练的轮数.

  • verbose: 布尔值(可选参数),显示日志信息.

  • callbacks: 列表,模型训练过程的中间数据记录器.

返回

一个BackPropagationNeuralNetwork实例.

predict

predict(x)

使用神经网络进行预测.

参数

  • x: 一个 Numpy数组,特征数据.

返回

预测的Numpy数组(以概率形式).

异常

  • ValueError: 模型没有训练的错误.

  • TypeError: 输入参数的类型错误.

score

score(x, y)

在预测模式下计算准确率.

参数

  • x: 一个 Numpy数组,特征数据.

  • y: 一个 Numpy数组,标签.

返回

当前的准确率.

load_weights

load_weights(filepath)

加载模型参数.

参数

  • filepath: 字符串,权重文件加载的路径.

异常

  • KeyError: 模型权重加载失败.

注意

  • 模型将不会加载关于优化器的超参数.

save_weights

save_weights(filepath)

将模型权重保存为一个HDF5文件.

参数

  • filepath: 字符串,权重文件保存的路径.

异常

  • KeyError: 模型权重保存失败.

注意

  • 模型将不会保存关于优化器的超参数.

BaggingClassifier

Bagging分类器.

cml.models.BaggingClassifier()

compile

compile(self, base_algorithm=DecisionStumpClassifier, seed=np.random.randint(65535))

编译Bagging分类器.

参数

  • base_algorithm: BaseLearner对象, Bagging使用的基学习器算法; 目前只实现了DecisionStumpClassifier, 未来将接入更多算法.

fit

fit(x, y, n_estimators=10)

训练Bagging分类器.

参数

  • x: 一个 Numpy数组, 特征数据.

  • y: 一个 Numpy数组, 标签.

  • n_estimators: 整数, 基学习器集成的数量.

返回

一个BaggingClassifier实例.

predict

predict(x)

使用Bagging分类器进行预测.

参数

  • x: 一个 Numpy数组, 特征数据.

返回

BaggingClassifier预测的结果.

异常

  • ValueError: 模型没有训练的错误.

score

score(x, y)

在预测模式下计算准确率.

参数

  • x: 一个 Numpy数组,特征数据.

  • y: 一个 Numpy数组,标签.

返回

当前的准确率.

load_weights

load_weights(filepath)

加载模型参数.

参数

  • filepath: 字符串,权重文件加载的路径.

异常

  • KeyError: 模型权重加载失败.

save_weights

save_weights(filepath)

将模型权重保存为一个HDF5文件.

参数

  • filepath: 字符串,权重文件保存的路径.

异常

  • KeyError: 模型权重保存失败.

DecisionStumpClassifier

决策树桩分类器.

cml.models.DecisionStumpClassifier()

fit

fit(x, y)

训练决策树桩分类器.

参数

  • x: 一个 Numpy数组,或者是Pandas的DataFrame,特征数据.

  • y: 一个 Numpy数组,或者是Pandas的DataFrame,标签.

返回

一个DecisionStumpClassifier实例.

异常

  • AttributeError: 没有验证集.

predict

predict(x)

使用决策树桩分类器进行预测.

参数

  • x: 一个 Numpy数组,特征数据.

返回

DecisionStumpClassifier预测的结果.

DecisionTreeClassifier

决策树分类器.

cml.models.DecisionTreeClassifier(attribute_name=None)

参数

  • attribute_name: 字符串列表,属性的名称.

compile

compile(criterion='gain', pruning=None)

编译决策树, 配置训练时使用的超参数.

参数

  • criterion: {’gain’, ‘gini’, ‘entropy’},决策树学习的划分方式.

  • pruning: {None, ‘pre’, ‘post’},是否对决策树进行剪枝操作,None表示不使用剪枝.

异常

  • AttributeError: 参数错误.

fit

fit(x, y, x_validation=None, y_validation=None)

训练决策树分类器.

参数

  • x: 一个 Numpy数组,或者是Pandas的DataFrame,特征数据.

  • y: 一个 Numpy数组,或者是Pandas的DataFrame,标签.

  • x_validation: 一个 Numpy数组,或者是Pandas的DataFrame,剪枝使用的验证特征数据.

  • y_validation: 一个 Numpy数组,或者是Pandas的DataFrame,剪枝使用的验证标签.

返回

一个DecisionTreeClassifier实例.

异常

  • AttributeError: 没有验证集.

predict

predict(x)

使用分类器进行预测.

参数

  • x: 一个 Numpy数组,或者是Pandas的DataFrame,特征数据.

返回

预测的Numpy数组.

异常

  • ValueError: 模型没有训练的错误.

score

score(x, y)

在预测模式下计算准确率.

参数

  • x: 一个 Numpy数组,特征数据.

  • y: 一个 Numpy数组,标签.

返回

当前的准确率.

load_weights

load_weights(filepath)

加载模型参数.

参数

  • filepath: 字符串,权重文件加载的路径.

异常

  • KeyError: 模型权重加载失败.

注意

  • 模型将不会加载关于优化器的超参数.

save_weights

save_weights(filepath)

将模型权重保存为一个HDF5文件.

参数

  • filepath: 字符串,权重文件保存的路径.

异常

  • KeyError: 模型权重保存失败.

参考文献

注意

  • 模型将不会保存关于优化器的超参数.

GaussianMixture

高斯混合聚类.

cml.models.GaussianMixture(n_components=3)

参数

  • n_components: 整数, 高斯混合成分的个数.

compile

compile(init='random', covariances_init=None, mixture_coefficient_init=None, tol=1e-3)

编译高斯混合聚类.

参数

  • init: 均值向量的初始化方式

    • ‘random’: 随机初始化;

    • 列表或一个 Numpy数组: 可以指定训练数据的索引或者值, 也可以直接给定具体的均值向量.

  • covariances_init: 列表或一个 Numpy数组, 协方差矩阵的初始化方式, 默认将初始化为主对角线为0.1的对角阵张量, 也可以直接给定具体的协方差矩阵.

  • mixture_coefficient_init: 列表或一个 Numpy数组, 混合系数的初始化方式, 默认将初始化为高斯混合成分的个数的倒数, 也可以直接给定具体的混合系数, 无论任何初始化形式, 请保证混合系数的和为1.

  • tol: 浮点数, 停止训练的最小调整幅度阈值.

fit

fit(x, epochs=100)

训练高斯混合聚类.

参数

  • x: 一个 Numpy数组, 特征数据.

  • epochs: 整数, 最大的训练轮数, 如果均值向量已经不更新将会提前自动结束训练.

返回

一个GaussianMixture实例.

predict

predict(x)

使用高斯混合聚类预测新样本所在的簇.

参数

  • x: 一个 Numpy数组或者列表,特征数据.

返回

新样本所在的簇.

异常

  • ValueError: 模型没有训练的错误.

load_weights

load_weights(filepath)

加载模型参数.

参数

  • filepath: 字符串,权重文件加载的路径.

异常

  • KeyError: 模型权重加载失败.

save_weights

save_weights(filepath)

将模型权重保存为一个HDF5文件.

参数

  • filepath: 字符串,权重文件保存的路径.

异常

  • KeyError: 模型权重保存失败.

KMeans

K-均值聚类.

cml.models.KMeans(n_clusters=3)

参数

  • n_clusters: 整数, 聚类簇的数量.

compile

compile(init='random', tol=1e-3)

编译K-均值聚类.

参数

  • init: 均值向量的初始化方式

    • ‘random’: 随机初始化;

    • 列表或一个 Numpy数组: 可以指定训练数据的索引或者值, 也可以直接给定具体的均值向量.

  • tol: 浮点数, 停止训练的最小调整幅度阈值.

fit

fit(x, epochs=100)

训练K-均值聚类.

参数

  • x: 一个 Numpy数组, 特征数据.

  • epochs: 整数, 最大的训练轮数, 如果均值向量已经不更新将会提前自动结束训练.

返回

一个K-means实例.

predict

predict(x)

使用K-均值聚类预测新样本所在的簇.

参数

  • x: 一个 Numpy数组或者列表,特征数据.

返回

新样本所在的簇.

异常

  • ValueError: 模型没有训练的错误.

load_weights

load_weights(filepath)

加载模型参数.

参数

  • filepath: 字符串,权重文件加载的路径.

异常

  • KeyError: 模型权重加载失败.

save_weights

save_weights(filepath)

将模型权重保存为一个HDF5文件.

参数

  • filepath: 字符串,权重文件保存的路径.

异常

  • KeyError: 模型权重保存失败.

LinearDiscriminantAnalysis

线性判别分析.

cml.models.LinearDiscriminantAnalysis()  # 可以使用缩写 cml.models.LDA()

fit

fit(x, y)

训练模型.

参数

  • x: 一个 Numpy数组,或者是Pandas的DataFrame,特征数据.

  • y: 一个 Numpy数组,或者是Pandas的DataFrame,标签.

返回

一个LinearDiscriminantAnalysis实例.

predict

predict(x)

模型进行预测.

参数

  • x: 一个 Numpy数组,特征数据.

返回

预测的Numpy数组.

异常

  • ValueError: 模型没有训练的错误.

score

score(x, y)

在预测模式下计算准确率.

参数

  • x: 一个 Numpy数组,特征数据.

  • y: 一个 Numpy数组,标签.

返回

当前的准确率.

load_weights

load_weights(filepath)

加载模型参数.

参数

  • filepath: 字符串,权重文件加载的路径.

异常

  • KeyError: 模型权重加载失败.

注意

  • 模型将不会加载关于优化器的超参数.

save_weights

save_weights(filepath)

将模型权重保存为一个HDF5文件.

参数

  • filepath: 字符串,权重文件保存的路径.

异常

  • KeyError: 模型权重保存失败.

LogisticRegression

逻辑回归.

cml.models.LogisticRegression(seed=None, initializer=None)

参数

  • seed: 整数,随机种子.

  • initializer: 字符串,或者cml.initializers.Initializer实例,初始化器.

compile

compile(optimizer='newton', loss='log_likelihood', metric='accuracy')

编译模型,配置训练时使用的超参数.

参数

  • optimizer: 字符串,或者cml.optimizers.Optimizer实例,模型使用的优化器.

  • loss: 字符串,或者cml.losses.Loss实例,模型使用的损失函数.

  • metric: 字符串,或者cml.metrics.Metric实例,模型使用的评估函数.

fit

fit(x, y, epochs=1, verbose=True, callbacks=None)

训练神经网络.

参数

  • x: 一个 Numpy数组,特征数据.

  • y: 一个 Numpy数组,标签.

  • epochs: 整数,训练的轮数.

  • verbose: 布尔值(可选参数),显示日志信息.

  • callbacks: 列表,模型训练过程的中间数据记录器.

返回

一个LogisticRegression实例.

predict

predict(x)

使用神经网络进行预测.

参数

  • x: 一个 Numpy数组,特征数据.

返回

预测的Numpy数组(以概率形式).

异常

  • ValueError: 模型没有训练的错误.

score

score(x, y)

在预测模式下计算准确率.

参数

  • x: 一个 Numpy数组,特征数据.

  • y: 一个 Numpy数组,标签.

返回

当前的准确率.

load_weights

load_weights(filepath)

加载模型参数.

参数

  • filepath: 字符串,权重文件加载的路径.

异常

  • KeyError: 模型权重加载失败.

注意

  • 模型将不会加载关于优化器的超参数.

save_weights

save_weights(filepath)

将模型权重保存为一个HDF5文件.

参数

  • filepath: 字符串,权重文件保存的路径.

异常

  • KeyError: 模型权重保存失败.

注意

  • 模型将不会保存关于优化器的超参数.

NaiveBayesClassifier

朴素贝叶斯分类器.

cml.models.NaiveBayesClassifier(attribute_name=None)  # 可以使用缩写 cml.models.NB()

参数

  • attribute_name: 字符串列表,属性的名称.

compile

compile(smoothing=True)

编译朴素贝叶斯分类器.

参数

  • smoothing: 布尔值,是否使用平滑,这里的实现是拉普拉斯修正.

fit

fit(x, y)

训练朴素贝叶斯分类器.

参数

  • x: 一个 Numpy数组,或者是Pandas的DataFrame,特征数据.

  • y: 一个 Numpy数组,或者是Pandas的DataFrame,标签.

返回

一个NaiveBayesClassifier实例.

predict

predict(x, probability=False)

使用朴素贝叶斯分类器进行预测.

参数

  • x: 一个 Numpy数组,或者是Pandas的DataFrame,特征数据.

  • probability: 布尔值,是否使用归一化的概率形式.

返回

预测的Numpy数组,不使用概率形式将返回0或1的标签数组, 使用将返回反正例概率的数组.

异常

  • ValueError: 模型没有训练的错误.

score

score(x, y)

在预测模式下计算准确率.

参数

  • x: 一个 Numpy数组,特征数据.

  • y: 一个 Numpy数组,标签.

返回

当前的准确率.

load_weights

load_weights(filepath)

加载模型参数.

参数

  • filepath: 字符串,权重文件加载的路径.

异常

  • KeyError: 模型权重加载失败.

注意

  • 模型将不会加载关于优化器的超参数.

save_weights

save_weights(filepath)

将模型权重保存为一个HDF5文件.

参数

  • filepath: 字符串,权重文件保存的路径.

异常

  • KeyError: 模型权重保存失败.

注意

  • 模型将不会保存关于优化器的超参数.

RadialBasisFunctionNetwork

径向基函数网络.

cml.models.RadialBasisFunctionNetwork(seed=None)  # 可以使用缩写 cml.models.RBF()

参数

  • seed: 整数,随机种子.

compile

compile(hidden_units, optimizer='rbf', loss='mse', metric='accuracy')

编译径向基函数网络, 配置训练时使用的超参数.

参数

  • hidden_units: 整数,径向基函数网络的隐含层神经元数量.

  • optimizer: 字符串,或者cml.optimizers.Optimizer实例,径向基函数网络使用的优化器.

  • loss: 字符串,或者cml.losses.Loss实例,径向基函数网络使用的损失函数.

  • metric: 字符串,或者cml.metrics.Metric实例,径向基函数网络使用的评估函数.

注意

  • 注意RBF只能使用cml.optimizers.RadialBasisFunctionOptimizer优化器,之所以开放优化器选项,只是为了满足用户修改学习率的需求.

  • 使用交叉熵作为损失函数有潜在异常的可能性,除隐含层神经元个数和学习率之外,建议使用默认参数.

fit

fit(x, y, epochs=1, verbose=True, callbacks=None)

训练径向基函数网络.

参数

  • x: 一个 Numpy数组,特征数据.

  • y: 一个 Numpy数组,标签.

  • epochs: 整数,训练的轮数.

  • verbose: 布尔值(可选参数),显示日志信息.

  • callbacks: 列表,模型训练过程的中间数据记录器.

返回

一个RadialBasisFunctionNetwork实例.

predict

predict(x)

使用径向基函数网络进行预测.

参数

  • x: 一个 Numpy数组,特征数据.

返回

预测的Numpy数组(以概率形式).

异常

  • ValueError: 模型没有训练的错误.

score

score(x, y)

在预测模式下计算准确率.

参数

  • x: 一个 Numpy数组,特征数据.

  • y: 一个 Numpy数组,标签.

load_weights

load_weights(filepath)

加载模型参数.

参数

  • filepath: 字符串,权重文件加载的路径.

异常

  • KeyError: 模型权重加载失败.

注意

  • 模型将不会加载关于优化器的超参数.

save_weights

save_weights(filepath)

将模型权重保存为一个HDF5文件.

参数

  • filepath: 字符串,权重文件保存的路径.

异常

  • KeyError: 模型权重保存失败.

注意

  • 模型将不会保存关于优化器的超参数.

SuperParentOneDependentEstimator

超父独依赖估计器,一种半朴素贝叶斯分类器.

cml.models.SuperParentOneDependentEstimator(attribute_name=None)  # 可以使用缩写 cml.models.SPODE()

参数

  • attribute_name: 字符串列表,属性的名称.

compile

compile(super_parent_name, smoothing=True)

编译超父独依赖估计器.

参数

  • super_parent_name: 字符串,超父的名称.

  • smoothing: 布尔值,是否使用平滑,这里的实现是拉普拉斯修正.

fit

fit(x, y)

训练超父独依赖估计器.

参数

  • x: 一个 Numpy数组,或者是Pandas的DataFrame,特征数据.

  • y: 一个 Numpy数组,或者是Pandas的DataFrame,标签.

返回

一个SuperParentOneDependentEstimator实例.

predict

predict(x, probability=False)

使用超父独依赖估计器进行预测.

参数

  • x: 一个 Numpy数组,或者是Pandas的DataFrame,特征数据.

  • probability: 布尔值,是否使用归一化的概率形式.

返回

预测的Numpy数组,不使用概率形式将返回0或1的标签数组, 使用将返回反正例概率的数组.

异常

  • ValueError: 模型没有训练的错误.

score

score(x, y)

在预测模式下计算准确率.

参数

  • x: 一个 Numpy数组,特征数据.

  • y: 一个 Numpy数组,标签.

返回

当前的准确率.

load_weights

load_weights(filepath)

加载模型参数.

参数

  • filepath: 字符串,权重文件加载的路径.

异常

  • KeyError: 模型权重加载失败.

注意

  • 模型将不会加载关于优化器的超参数.

save_weights

save_weights(filepath)

将模型权重保存为一个HDF5文件.

参数

  • filepath: 字符串,权重文件保存的路径.

异常

  • KeyError: 模型权重保存失败.

注意

  • 模型将不会保存关于优化器的超参数.

SupportVectorClassifier

支持向量分类器.

cml.models.SupportVectorClassifier(seed=None)  # 可以使用缩写 cml.models.SVC()

参数

  • seed: 整数,随机种子.

compile

compile(C=1.0, kernel='rbf', gamma='auto', tol=1e-3)

编译分类器, 配置训练时使用的超参数.

参数

  • C: 浮点数,软间隔正则化系数.

  • kernel: 字符串,或者cml.kernel.Kernels实例,分类器使用的核函数.

  • gamma: {’auto’, ‘scale’} 或者浮点数,在使用高斯(径向基)核, sigmoid核或者多项式核时,的核函数系数,使用其他核函数时无效.

  • tol: 浮点数,停止训练的最大误差值.

fit

fit(x, y, epochs=1000)

训练分类器.

参数

  • x: 一个 Numpy数组,特征数据.

  • y: 一个 Numpy数组,标签.

  • epochs: 整数,最大的训练轮数,如果是-1则表示需要所有的样本满足条件时,才能停止训练,即没有限制.

返回

一个SupportVectorClassifier实例.

predict

predict(x)

使用分类器进行预测.

参数

  • x: 一个 Numpy数组,特征数据.

返回

预测的Numpy数组.

异常

  • ValueError: 模型没有训练的错误.

score

score(x, y)

在预测模式下计算准确率.

参数

  • x: 一个 Numpy数组,特征数据.

  • y: 一个 Numpy数组,标签.

返回

当前的准确率.

load_weights

load_weights(filepath)

加载模型参数.

参数

  • filepath: 字符串,权重文件加载的路径.

异常

  • KeyError: 模型权重加载失败.

注意

  • 模型将不会加载关于优化器的超参数.

save_weights

save_weights(filepath)

将模型权重保存为一个HDF5文件.

参数

  • filepath: 字符串,权重文件保存的路径.

异常

  • KeyError: 模型权重保存失败.

注意

  • 模型将不会保存关于优化器的超参数.

TwoLevelDecisionTreeClassifier

2层决策树分类器.

cml.models.TwoLevelDecisionTreeClassifier()

fit

fit(x, y, **kwargs)

训练2层决策树分类器.

参数

  • x: 一个 Numpy数组,或者是Pandas的DataFrame,特征数据.

  • y: 一个 Numpy数组,或者是Pandas的DataFrame,标签.

  • sample_distribution: 一个 Numpy数组,样本分布.

返回

一个TwoLevelDecisionTreeClassifier实例.

predict

predict(x)

使用决策树桩分类器进行预测.

参数

  • x: 一个 Numpy数组,特征数据.

返回

TwoLevelDecisionTreeClassifier预测的结果.