コード例 #1
0
        public static IEnumerable <double> ApplyOutlierMode([NotNull] this IOutlierDetector outlierDetector,
                                                            [NotNull] IEnumerable <double> values, OutlierMode mode)
        {
            switch (mode)
            {
            case OutlierMode.DontRemove:
                return(values);

            case OutlierMode.RemoveUpper:
                return(outlierDetector.WithoutUpperOutliers(values));

            case OutlierMode.RemoveLower:
                return(outlierDetector.WithoutLowerOutliers(values));

            case OutlierMode.RemoveAll:
                return(outlierDetector.WithoutAllOutliers(values));

            default:
                throw new ArgumentOutOfRangeException(nameof(mode), mode, null);
            }
        }
コード例 #2
0
 public static bool IsOutlier([NotNull] this IOutlierDetector outlierDetector, double x)
 {
     return(outlierDetector.IsLowerOutlier(x) || outlierDetector.IsUpperOutlier(x));
 }
コード例 #3
0
 public static IEnumerable <double> WithoutAllOutliers([NotNull] this IOutlierDetector outlierDetector,
                                                       [NotNull] IEnumerable <double> values)
 {
     return(values.Where(x => !outlierDetector.IsOutlier(x)));
 }
コード例 #4
0
 public static IEnumerable <double> GetAllOutliers([NotNull] this IOutlierDetector outlierDetector,
                                                   [NotNull] IEnumerable <double> values)
 {
     return(values.Where(outlierDetector.IsOutlier));
 }