Exemplo n.º 1
0
        /// <summary>
        /// 将样本集划分为两个子集
        /// </summary>
        /// <param name="ratioOfFirstGroup">第一个子集的占比</param>
        /// <param name="ratioOfSecondGroup">第二个子集的占比</param>
        /// <param name="method">切分方法</param>
        /// <param name="firstGroup">第一个子集</param>
        /// <param name="secondGroup">第二个子集</param>
        public void DivideIntoTwo(int ratioOfFirstGroup, int ratioOfSecondGroup, CollectionDividingMethod method, out SampleCollection firstGroup, out SampleCollection secondGroup)
        {
            this.DivideByRatioAndMethod(ratioOfFirstGroup, ratioOfSecondGroup, method, out List <Sample> samples1, out List <Sample> samples2);

            firstGroup  = new SampleCollection(samples1);
            secondGroup = new SampleCollection(samples2);
        }
Exemplo n.º 2
0
 /// <summary>
 /// 将一个集合分割为两个集合
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="collection"></param>
 /// <param name="method">分割方法</param>
 /// <param name="ratioOfFirstGroup">一个整数, 第一个集合占的比例</param>
 /// <param name="ratioOfSecondGroup">一个整数, 第二个集合占的比例</param>
 /// <returns></returns>
 public static (List <T> firstGroup, List <T> secondGroup) DivideByRatioAndMethod <T>(this ICollection <T> collection, CollectionDividingMethod method, int ratioOfFirstGroup, int ratioOfSecondGroup)
 {
Exemplo n.º 3
0
 /// <summary>
 /// 将一个集合分割为两个集合
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="collection"></param>
 /// <param name="ratioOfFirstGroup">一个整数, 第一个集合占的比例</param>
 /// <param name="ratioOfSecondGroup">一个整数, 第二个集合占的比例</param>
 /// <param name="method">分割方法</param>
 /// <param name="firstGroup">第一个集合</param>
 /// <param name="secondGroup">第二个集合</param>
 /// <remarks>
 /// Returning IList is bad design, so this is not recommended in net40+, use tuple-returning instead.
 /// </remarks>
 public static void DivideByRatioAndMethod <T>(this ICollection <T> collection, int ratioOfFirstGroup, int ratioOfSecondGroup, CollectionDividingMethod method, out IList <T> firstGroup, out IList <T> secondGroup) =>
 //List<T> first = new(), second = new();
 //divide(collection, method, ratioOfFirstGroup, ratioOfSecondGroup, first, second);
 //firstGroup = first;
 //secondGroup = second;
 (firstGroup, secondGroup) = DivideByRatioAndMethod(collection, method, ratioOfFirstGroup, ratioOfSecondGroup);