Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

如何对sklearn的模型添加数据预处理 #27

Open
haojunW opened this issue Aug 9, 2023 · 5 comments
Open

如何对sklearn的模型添加数据预处理 #27

haojunW opened this issue Aug 9, 2023 · 5 comments

Comments

@haojunW
Copy link

haojunW commented Aug 9, 2023

作者您好,我想问一下
使用sklearn的模型来分类的话,可以在代码的哪些地方添加数据预处理(是个人的一些预处理)
因为我看到sklearn模型的数据都是原始数据,不像pytorch的HyperX类,可以添加数据预处理

另外还有一个小小的疑问
我看到sklearn的模型中,训练数据是img的一部分,但是用来预测的数据是整个img,请问这会不会导致测试集中存在训练集的问题

@eecn
Copy link
Owner

eecn commented Aug 9, 2023

第一个问题,可以参考HyperX类的数据增强和预处理方式进行数据扩展后再使用sklearn模型进行读取分类处理。
第二个问题,是存在这个问题。可以基于test_gt利用build_dataset构建测试集进行测试。

@haojunW
Copy link
Author

haojunW commented Aug 9, 2023

我尝试过使用test_gt来构建测试集,但我发现在
prediction = prediction.reshape(img.shape[:2])
这行代码中会有错误,以IndianPines为例,测试集的数量不足以reshape成(145, 145)

@eecn
Copy link
Owner

eecn commented Aug 9, 2023

build_dataset出来 X_test进行预测, 根据输出 y_test_predict数据大小转换成数据对应的格式大小, 使用img.shape[:2]肯定不合理.
如果为了只输出test数据预测结果可视化可以根据build的indices对应的mask把test的数据输出出来。

@eecn
Copy link
Owner

eecn commented Aug 9, 2023

作者您好,我想问一下 使用sklearn的模型来分类的话,可以在代码的哪些地方添加数据预处理(是个人的一些预处理) 因为我看到sklearn模型的数据都是原始数据,不像pytorch的HyperX类,可以添加数据预处理

另外还有一个小小的疑问 我看到sklearn的模型中,训练数据是img的一部分,但是用来预测的数据是整个img,请问这会不会导致测试集中存在训练集的问题

第二个问题,刚才看了下代码,我感觉这个影响不大。在main中320行,统计test accuracy只统计了test 数据那一部分。

run_results = metrics(prediction, test_gt, ignored_labels=hyperparams['ignored_labels'], n_classes=N_CLASSES)
全部预测是为了方便可视化。

@haojunW
Copy link
Author

haojunW commented Aug 9, 2023

理解了,感谢感谢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants