- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试检测异常图像。但我从模型中得到了奇怪的结果。
我已经用 cv2 读取了图像,将它们展平为一维数组,并将它们转换为 pandas 数据帧,然后将其输入到 SVM 中。
import numpy as np
import cv2
import glob
import pandas as pd
import sys, os
import matplotlib.pyplot as plt
from sklearn import svm
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn import *
import seaborn as sns`
加载标签和文件
labels_wt = np.loadtxt("labels_wt.txt", delimiter="\t", dtype="str")
files_wt = np.loadtxt("files_wt.txt", delimiter="\t", dtype="str")`
加载并拼合图像
wt_images_tmp = [cv2.imread(file) for file in files_wt]
wt_images = [image.flatten() for image in wt_images_tmp]
tmp3 = np.array(wt_images)
mutant_images_tmp = [cv2.imread(file) for file in files_mut]
mutant_images = [image.flatten() for image in mutant_images_tmp]
tmp4 = np.array(mutant_images)
X = pd.DataFrame(tmp3) #load the wild-type images
y = pd.Series(labels_wt)
X_train, X_test, y_train, y_test= train_test_split(X, y, test_size=0.2, random_state=42)
X_outliers = pd.DataFrame(tmp4)
clf = svm.OneClassSVM(nu=0.15, kernel="rbf", gamma=0.0001)
clf.fit(X_train)
然后我根据 sklearn 教程对 oneclass SVM 评估结果。
y_pred_train = clf.predict(X_train)
y_pred_test = clf.predict(X_test)
y_pred_outliers = clf.predict(X_outliers)
n_error_train = y_pred_train[y_pred_train == -1].size
n_error_test = y_pred_test[y_pred_test == -1].size
n_error_outliers = y_pred_outliers[y_pred_outliers == 1].size
print(n_error_train / len(y_pred_train))
print(float(n_error_test) / float(len(y_pred_test)))
print(n_error_outliers / len(y_pred_outliers))`
我在训练集上的错误率是可变的(10-30%),但在测试集上,它们从未低于 100%。我这样做错了吗?
最佳答案
我的猜测是,您正在设置 random_state = 42
,这会导致您的 train_test_split
始终具有相同的分割模式。您可以在this中阅读更多相关信息。回答。不要指定任何状态并再次运行代码,因此:
X_train, X_test, y_train, y_test= train_test_split(X, y, test_size=0.2)
这将显示不同的结果。一旦您确定这有效,请确保执行 cross-validation ,可能使用 k 倍验证。让我们知道这是否有帮助。
关于python - 使用一类 svm 测试集的错误率为 100%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57747446/
我目前正在使用随机森林分类模型。我正在使用 randomForest 包。由于我总共处理 11 个不同的类,因此使用 plot() 函数会生成 12 个错误率图 - 类错误率和 OOB 错误率。有没有
我计划在几个字段上索引我的 1 亿行(Ruby on Rails)数据库,问题是我无法知道这些迁移的进度。 通常,如果我正在运行手动数据迁移,我会执行基本的 i+=1;print("#{i},") 来
我正在 Rails 2.3.x 的学习管理系统上工作。这是我的代码: -@users.each do |user| %tr %td =link_to h
在我的 Java 应用程序中使用 Weka API 对数据进行分类后,我需要打印准确性、错误率、特异性和灵敏度。有什么方法可以帮助我提取这些百分比吗?谢谢 最佳答案 标准 Weka 输出已经列出了您要
我使用 synset 从 softmax 输出计算排序前 k 预测。 这给了我前 5 个类名。但我想知道如何计算它的百分比。我的意思是前 5% 的错误。 谁能指导一下。谢谢。 最佳答案 在训练期间,您
现在我连续有两个表格 然后是_micropost_form_purchase.html.erb "purchase
如何让我的提交按钮上传图像? Add files... Start upload Cancel uplo
我是一名优秀的程序员,十分优秀!