我知道这里有同样的主题已经有几个问题,但我找不到任何帮助.
所以我想比较2个图像,看看它们有多相似,我正在使用众所周知的find_obj.cpp演示来提取冲浪描述符,然后为了匹配我使用了flannFindPairs.
但是你知道这个方法不会丢弃异常值,我想知道真正的正匹配的数量,这样我就可以知道这两个图像的相似程度.
我已经看到了这个问题:使用OpenCV检测SURF或SIFT算法中的异常值,并且那里的人建议使用findFundamentalMat,但是一旦得到基本矩阵,我怎样才能从该矩阵得到异常值/真阳性的数量?谢谢.
我对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)
而我几乎已经被困在那里了.
谢谢
我正在尝试一些代码,这些代码允许我搜索我的ArrayList并检测"好值"的常见范围之外的任何值.
示例:100 105 102 13 104 22 101
我怎样才能编写代码来检测(在这种情况下)13和22不在100左右的"良好值"范围内?
我试图从带有日期的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)
如何循环并比较每个点并将其删除?
在对时间序列数据进行离群值检测时.我遇到了[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'的配方失败了
任何人都可以帮我安装相同的?
我正在尝试使用 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
这是我的数据框:
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) 我是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)
有人可以帮忙吗?
旁边说:如果有直接完成这项工作的功能,请告诉我.我已签出cut
和cut2
.cut
由于没有独特的休息而失败; …
在R中检测业务销售数据中的异常值(这意味着可能存在趋势和季节性)需要哪些步骤?
我已经了解了ACF,PACF,残差,ARIMA模型(基本上,时间序列分析和建模).我可以使用这些知识来帮助我识别异常值吗?
是否也可以要求R确定哪个数据点是异常的?
非常感谢你.
我正在尝试自定义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)