【问题标题】:Problem with StandardScaler on SVM classifier modelSVM 分类器模型上的 StandardScaler 问题
【发布时间】:2021-08-14 04:33:09
【问题描述】:

我使用支持向量机作为金融市场数据的分类器

我有一个包含 1500 条数据记录的数据库

然后我进行预处理和划分以及训练和测试

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.3, random_state = 42, stratify = y)

scaler = StandardScaler()

X_train = scaler.fit_transform(X_train)

X_test = scaler.transform(X_test)

但为了保持良好的控制,我用泡菜保存了训练文件

然后我用新数据(大约 150 个)将文件上传到另一个数据库

我还对新数据执行标准缩放器

当我运行模型并执行准确性测试时,我得到了 60%,例如

我的问题是当我增加这个新数据库时,从 150 增加到 151、152、153 等等

当增加新数据时,我注意到模型失去了准确性,甚至以前的分类也不同,当我将它分类为 1 时,它是 0,或者相反

我怀疑对于新数据,缩放数据的维度会变得不同

我希望在插入新数据时,以前的数据没有新的评分 0 和 1,因此会降低我的初始准确性

谁能帮忙解决这个问题?

【问题讨论】:

  • 请花一点时间看看如何正确格式化您的代码 sn-ps(不是为斜体文本)。

标签: python machine-learning scikit-learn svm


【解决方案1】:

由于信息不足,我们自然只能推测。问题是,我从它的预测发生变化的事实中推断出,你不是简单地用当前的缩放器转换新数据,而是你正在拟合然后转换数据。因此,长话短说,您需要将缩放器导出为泡菜,然后在处理新数据时加载它并简单地转换(不合适!)这些 [150, 151, ...] 实例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-16
    • 2023-03-18
    • 2016-01-22
    • 1970-01-01
    • 2020-10-11
    • 2020-08-15
    • 2020-06-13
    • 2014-05-07
    相关资源
    最近更新 更多