标签: outliers

OpenCV Surf和Outliers检测

我知道这里有同样的主题已经有几个问题,但我找不到任何帮助.

所以我想比较2个图像,看看它们有多相似,我正在使用众所周知的find_obj.cpp演示来提取冲浪描述符,然后为了匹配我使用了flannFindPairs.

但是你知道这个方法不会丢弃异常值,我想知道真正的正匹配的数量,这样我就可以知道这两个图像的相似程度.

我已经看到了这个问题:使用OpenCV检测SURF或SIFT算法中的异常值,并且那里的人建议使用findFundamentalMat,但是一旦得到基本矩阵,我怎样才能从该矩阵得到异常值/真阳性的数量?谢谢.

opencv surf outliers

4
推荐指数
1
解决办法
6181
查看次数

从数据帧中删除单变量异常值(+ -3 SD)

我对R很陌生,以至于我无法在其他人的问题中找到我需要的东西.我认为我的问题非常简单,没有其他人费心去问它.

什么是最简单的代码来创建一个新的数据框,它排除了单变量异常值的数据(我将它们定义为从它们的条件的平均值为3个SD的点),在它们的条件下,在某个变量上?

我很尴尬地展示我尝试过的东西,但现在却是

greaterthan <- mean(dat$var2[dat$condition=="one"]) + 
               2.5*(sd(dat$var2[dat$condition=="one"]))
lessthan    <- mean(dat$var2[dat$condition=="one"]) -
               2.5*(sd(dat$var2[dat$condition=="one"]))   

withoutliersremovedone1 <-dat$var2[dat$condition=="one"] < greaterthan
Run Code Online (Sandbox Code Playgroud)

而我几乎已经被困在那里了.

谢谢

r outliers

4
推荐指数
1
解决办法
3655
查看次数

如何检测ArrayList中的异常值

我正在尝试一些代码,这些代码允许我搜索我的ArrayList并检测"好值"的常见范围之外的任何值.

示例:100 105 102 13 104 22 101

我怎样才能编写代码来检测(在这种情况下)13和22不在100左右的"良好值"范围内?

java arraylist outliers

4
推荐指数
4
解决办法
1万
查看次数

使用滚动中位数过滤掉Pandas数据框中的异常值

我试图从带有日期的GPS高程位移的散点图中滤除一些异常值

我正在尝试使用df.rolling来计算每个窗口的中位数和标准偏差,如果它大于3个标准差,则删除该点.

但是,我无法找到一种方法来遍历列并比较滚动计算的中值.

这是我到目前为止的代码

import pandas as pd
import numpy as np

def median_filter(df, window):
    cnt = 0
    median = df['b'].rolling(window).median()
    std = df['b'].rolling(window).std()
    for row in df.b:
      #compare each value to its median




df = pd.DataFrame(np.random.randint(0,100,size=(100,2)), columns = ['a', 'b'])

median_filter(df, 10)
Run Code Online (Sandbox Code Playgroud)

如何循环并比较每个点并将其删除?

median outliers pandas rolling-computation

4
推荐指数
1
解决办法
4306
查看次数

tsoutliers依赖问题:依赖KFKSDS具有非零退出状态?

在对时间序列数据进行离群值检测时.我遇到了[tsoutliers][1]实施陈和刘的时间序列离群检测的软件包.但是我无法在R中安装tsoutliers

install.packages( "tsoutliers")

我收到以下依赖项错误

在KF-deriv.cpp中包含的文件中:1:0:KFKSDS.h:14:28:致命错误:gsl/gsl_vector.h:没有终止此类文件或目录编译./ usr/lib/R/etc/Makeconf:143:目标'KF-deriv.o'的配方失败make:***[KF-deriv.o]错误1错误:包'KFKSDS'*删除'的编译失败/home/atoffy/R/x86_64-pc-linux-gnu-library/3.2/KFKSDS'install.packages中的警告:安装包'KFKSDS'具有非零退出状态错误:依赖'KFKSDS'不适用于包'stsm'*删除'/home/atoffy/R/x86_64-pc-linux-gnu-library/3.2/stsm'install.packages中的警告:软件包'stsm'的安装具有非零退出状态ERROR:dependencies'stsm ','KFKSDS'不适用于包装'tsoutliers'*删除'/home/atoffy/R/x86_64-pc-linux-gnu-library/3.2/tsoutliers'安装中的警告.包装:包装'tsoutliers'的安装已经非零退出状态

进一步来说

目标'KF-deriv.o'的配方失败了

任何人都可以帮我安装相同的?

ubuntu r time-series outliers

4
推荐指数
1
解决办法
774
查看次数

隔离森林:分类数据

我正在尝试使用 sklearn 中的隔离森林检测乳腺癌数据集中的异常。我正在尝试将 Iolation Forest 应用于混合数据集,当我拟合模型时,它会给我值错误。

这是我的数据集:https : //archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer/

这是我的代码:

from sklearn.model_selection import train_test_split
rng = np.random.RandomState(42)

X = data_cancer.drop(['Class'],axis=1)
y = data_cancer['Class'] 

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 20)
X_outliers = rng.uniform(low=-4, high=4, size=(X.shape[0], X.shape[1]))

clf = IsolationForest()
clf.fit(X_train)
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

ValueError: 无法将字符串转换为浮点数:'30-39'

是否可以对分类数据使用隔离森林?如果是,我该怎么做?

python outliers scikit-learn categorical-data anomaly-detection

4
推荐指数
1
解决办法
4667
查看次数

如何在 Pandas 数据框中用中值替换离群值?

这是我的数据框:

cars_num_df.head(10)

    mpg cylinders   displacement    horsepower  weight  acceleration    age
0   18.0    8          307.0          130.0     3504.0     12.0         13
1   15.0    8          350.0          165.0     3693.0     11.5         13
2   18.0    8          318.0          150.0     3436.0     11.0         13
3   16.0    8          304.0          150.0     3433.0     12.0         13
4   17.0    8          302.0          140.0     3449.0     10.5         13
5   15.0    8          429.0          198.0     4341.0     10.0         13
6   14.0    8          454.0          220.0     4354.0      9.0         13
7   14.0    8          440.0          215.0     4312.0      8.5         13
8   14.0    8          455.0          225.0     4425.0     10.0 …
Run Code Online (Sandbox Code Playgroud)

python median outliers pandas

4
推荐指数
1
解决办法
8029
查看次数

R:使用分位数0.05和0.95清除数据框中每列的异常值

我是R新手.在将样本放入随机森林之前,我想做一些异常值清理和从0到1的过度扩展.

g<-c(1000,60,50,60,50,40,50,60,70,60,40,70,50,60,50,70,10)
Run Code Online (Sandbox Code Playgroud)

如果我从0 - 1进行简单的缩放,结果将是:

> round((g - min(g))/abs(max(g) - min(g)),1)

 [1] 1.0 0.1 0.0 0.1 0.0 0.0 0.0 0.1 0.1 0.1 0.0 0.1 0.0 0.1 0.0 0.1 0.0
Run Code Online (Sandbox Code Playgroud)

所以我的想法是将每列大于0.95分位数的值替换为小于0.95分位数的下一个值 - 对于0.05分位数则相同.

所以预先缩放的结果将是:

g<-c(**70**,60,50,60,50,40,50,60,70,60,40,70,50,60,50,70,**40**)
Run Code Online (Sandbox Code Playgroud)

和缩放:

> round((g - min(g))/abs(max(g) - min(g)),1)

 [1] 1.0 0.7 0.3 0.7 0.3 0.0 0.3 0.7 1.0 0.7 0.0 1.0 0.3 0.7 0.3 1.0 0.0
Run Code Online (Sandbox Code Playgroud)

我需要这个公式用于整个数据帧,因此R中的功能实现应该是这样的:

> apply(c, 2, function(x) x[x`<quantile(x, 0.95)]`<-max(x[x, ... max without the quantile(x, 0.95))
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

旁边说:如果有直接完成这项工作的功能,请告诉我.我已签出cutcut2.cut由于没有独特的休息而失败; …

scaling r function outliers dataframe

3
推荐指数
1
解决办法
2094
查看次数

R中的时间序列数据的异常检测

在R中检测业务销售数据中的异常值(这意味着可能存在趋势和季节性)需要哪些步骤?

我已经了解了ACF,PACF,残差,ARIMA模型(基本上,时间序列分析和建模).我可以使用这些知识来帮助我识别异常值吗?

是否也可以要求R确定哪个数据点是异常的?

非常感谢你.

r detection outliers

3
推荐指数
1
解决办法
1万
查看次数

使用ggplot在R中更改Box图中的异常值计算

我正在尝试自定义boxplot,除了一点之外,我非常成功.我无法理解的一点是我如何使用stat_summary来显示异常值.我在一个大图中有不同的箱形图,并且输出端不显示异常值.但是,如果我修改了我的数据并且仅使用一种类型的数据输入R(仅用于单盒图),我的代码工作正常,我可以在输出中看到我们的清晰度.我感谢任何帮助.

非常感谢,

f <- function(x) {r <- c(    quantile(x,probs=c(0.25))-(1.5*(quantile(x,probs=c(0.75))-quantile(x,probs=c(0.25))))     ,quantile(x, probs = c(0.25)), quantile(x, probs = c(0.5)), quantile(x, probs = c(0.75)),     quantile(x,probs=c(0.75))+(1.5*(quantile(x,probs=c(0.75))-quantile(x,probs=c(0.25)))) );names(r) <- c('ymin', 'lower', 'middle', 'upper', 'ymax'); r}
o <-function(x) { print(x); if (length(x) > 7) { pp = subset(x, x < (quantile(x, probs = c(0.25)) - (1.5 * (quantile(x, probs = c(0.75)) - quantile(x, probs = c(0.25))))) | x > (quantile(x, probs = c(0.75)) + (1.5 * (quantile(x, probs = c(0.75)) - quantile(x, probs = c(0.25)))))); return …
Run Code Online (Sandbox Code Playgroud)

plot r outliers ggplot2 boxplot

3
推荐指数
1
解决办法
689
查看次数