# incrementalDriftAwareLearner


构建增量学习的漂移感知学习器模型

函数库: TyMachineLearning

# 语法

mdl = incrementalDriftAwareLearner(model, driftDetector; training_period=10000)

# 说明

mdl = incrementalDriftAwareLearner(model, driftDetector; training_period=10000) 创建了一个增量漂移感知模型对象,该对象包含一个增量分类或回归学习器和一个增量概念漂移检测器,以提供一个自调整的增量机器学习模型。

# 示例

在回归任务中进行漂移感知学习
在线性回归模型基础上创建一个漂移感知学习模型,设置训练期为 1000。
using TyMachineLearning
mdl = incrementalRegressionLinear(; loss="Log")
detector = incrementalConceptDriftDetector(; detection_method="ADWIN")
mdl = incrementalDriftAwareLearner(mdl, detector; training_period=1000)

加载数据,打乱顺序。

using Random
using CSV
using DataFrames
file_feature = pkgdir(TyMachineLearning, "data", "Regression", "fsr_x.csv")
file_target = pkgdir(TyMachineLearning, "data", "Regression", "fsr_y.csv")
feature = Matrix{Float64}(DataFrame(CSV.File(file_feature; header=false)))
target = Matrix(DataFrame(CSV.File(file_target; header=false)))
Random.seed!(0)
indices = randperm(size(target, 1))
feature = feature[indices, :]
target = target[indices]

从第 3584 个样本开始更改标签以模拟漂移,使用fit函数训练模型。

mid_idx = div(length(target), 2)
target[mid_idx:end, :] .= target[mid_idx:end, :] .+ 3
mdl, tempError = fit(mdl, feature, target);
drift detected at 3720

在第 3720 个样本处检测到漂移。使用返回的误差绘制图像,观察漂移对误差的影响。

using TyPlot
y_values = -0.5:0.1:6
plot(fill(mid_idx, length(y_values)), y_values, "r-.", tempError)
xlabel("样本索引值")
ylabel("误差")

# 输入参数

model-增量学习模型
对象
基础增量分类或回归模型。
driftDetector-概念漂移检测器
对象
增量概念漂移检测器。
training_period-训练期
整型
在软件开始检测漂移之前用于训练的观测值的数量,默认为 10000。

数据类型: Int64

# 输出参数

mdl-漂移感知学习模型
对象
基于增量学习模型和概念漂移检测器构建的漂移感知学习模型。

# 另请参阅

incrementalClassificationLinear | incrementalConceptDriftDetector | fit