亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? parameterselection.cs

?? SVM的一個源程序
?? CS
字號:
//Copyright (C) 2007 Matthew Johnson

//This program is free software; you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation; either version 2 of the License, or
//(at your option) any later version.

//This program is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//GNU General Public License for more details.

//You should have received a copy of the GNU General Public License along
//with this program; if not, write to the Free Software Foundation, Inc.,
//51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Diagnostics;

namespace SVM
{
    /// <summary>
    /// This class contains routines which perform parameter selection for a model which uses C-SVC and
    /// an RBF kernel.
    /// </summary>
    public static class ParameterSelection
    {
        /// <summary>
        /// Default number of times to divide the data.
        /// </summary>
        public const int NFOLD = 5;
        /// <summary>
        /// Default minimum power of 2 for the C value (-5)
        /// </summary>
        public const int MIN_C = -5;
        /// <summary>
        /// Default maximum power of 2 for the C value (15)
        /// </summary>
        public const int MAX_C = 15;
        /// <summary>
        /// Default power iteration step for the C value (2)
        /// </summary>
        public const int C_STEP = 2;
        /// <summary>
        /// Default minimum power of 2 for the Gamma value (-15)
        /// </summary>
        public const int MIN_G = -15;
        /// <summary>
        /// Default maximum power of 2 for the Gamma Value (3)
        /// </summary>
        public const int MAX_G = 3;
        /// <summary>
        /// Default power iteration step for the Gamma value (2)
        /// </summary>
        public const int G_STEP = 2;

        /// <summary>
        /// Returns a logarithmic list of values from minimum power of 2 to the maximum power of 2 using the provided iteration size.
        /// </summary>
        /// <param name="minPower">The minimum power of 2</param>
        /// <param name="maxPower">The maximum power of 2</param>
        /// <param name="iteration">The iteration size to use in powers</param>
        /// <returns></returns>
        public static List<double> GetList(double minPower, double maxPower, double iteration)
        {
            List<double> list = new List<double>();
            for (double d = minPower; d <= maxPower; d += iteration)
                list.Add(Math.Pow(2, d));
            return list;
        }

        /// <summary>
        /// Performs a Grid parameter selection, trying all possible combinations of the two lists and returning the
        /// combination which performed best.  The default ranges of C and Gamma values are used.  Use this method if there is no validation data available, and it will
        /// divide it 5 times to allow 5-fold validation (training on 4/5 and validating on 1/5, 5 times).
        /// </summary>
        /// <param name="problem">The training data</param>
        /// <param name="parameters">The parameters to use when optimizing</param>
        /// <param name="outputFile">Output file for the parameter results.</param>
        /// <param name="C">The optimal C value will be put into this variable</param>
        /// <param name="Gamma">The optimal Gamma value will be put into this variable</param>
        public static void Grid(
            Problem problem,
            Parameter parameters,
            string outputFile,
            out double C,
            out double Gamma)
        {
            Grid(problem, parameters, GetList(MIN_C, MAX_C, C_STEP), GetList(MIN_G, MAX_G, G_STEP), outputFile, NFOLD, out C, out Gamma);
        }
        /// <summary>
        /// Performs a Grid parameter selection, trying all possible combinations of the two lists and returning the
        /// combination which performed best.  Use this method if there is no validation data available, and it will
        /// divide it 5 times to allow 5-fold validation (training on 4/5 and validating on 1/5, 5 times).
        /// </summary>
        /// <param name="problem">The training data</param>
        /// <param name="parameters">The parameters to use when optimizing</param>
        /// <param name="CValues">The set of C values to use</param>
        /// <param name="GammaValues">The set of Gamma values to use</param>
        /// <param name="outputFile">Output file for the parameter results.</param>
        /// <param name="C">The optimal C value will be put into this variable</param>
        /// <param name="Gamma">The optimal Gamma value will be put into this variable</param>
        public static void Grid(
            Problem problem,
            Parameter parameters,
            List<double> CValues,
            List<double> GammaValues,
            string outputFile,
            out double C,
            out double Gamma)
        {
            Grid(problem, parameters, CValues, GammaValues, outputFile, NFOLD, out C, out Gamma);
        }
        /// <summary>
        /// Performs a Grid parameter selection, trying all possible combinations of the two lists and returning the
        /// combination which performed best.  Use this method if validation data isn't available, as it will
        /// divide the training data and train on a portion of it and test on the rest.
        /// </summary>
        /// <param name="problem">The training data</param>
        /// <param name="parameters">The parameters to use when optimizing</param>
        /// <param name="CValues">The set of C values to use</param>
        /// <param name="GammaValues">The set of Gamma values to use</param>
        /// <param name="outputFile">Output file for the parameter results.</param>
        /// <param name="nrfold">The number of times the data should be divided for validation</param>
        /// <param name="C">The optimal C value will be placed in this variable</param>
        /// <param name="Gamma">The optimal Gamma value will be placed in this variable</param>
        public static void Grid(
            Problem problem,
            Parameter parameters,
            List<double> CValues, 
            List<double> GammaValues, 
            string outputFile,
            int nrfold,
            out double C,
            out double Gamma)
        {
            C = 0;
            Gamma = 0;
            double crossValidation = double.MinValue;
            StreamWriter output = new StreamWriter("graph.txt");
            for(int i=0; i<CValues.Count; i++)
                for (int j = 0; j < GammaValues.Count; j++)
                {
                    parameters.C = CValues[i];
                    parameters.Gamma = GammaValues[j];
                    double test = Training.PerformCrossValidation(problem, parameters, nrfold);
                    Console.Write("{0} {1} {2}", parameters.C, parameters.Gamma, test);
                    output.WriteLine("{0} {1} {2}", parameters.C, parameters.Gamma, test);
                    if (test > crossValidation)
                    {
                        C = parameters.C;
                        Gamma = parameters.Gamma;
                        crossValidation = test;
                        Console.WriteLine(" New Maximum!");
                    }
                    else Console.WriteLine();
                }
            output.Close();
        }
        /// <summary>
        /// Performs a Grid parameter selection, trying all possible combinations of the two lists and returning the
        /// combination which performed best.  Uses the default values of C and Gamma.
        /// </summary>
        /// <param name="problem">The training data</param>
        /// <param name="validation">The validation data</param>
        /// <param name="parameters">The parameters to use when optimizing</param>
        /// <param name="outputFile">The output file for the parameter results</param>
        /// <param name="C">The optimal C value will be placed in this variable</param>
        /// <param name="Gamma">The optimal Gamma value will be placed in this variable</param>
        public static void Grid(
            Problem problem,
            Problem validation,
            Parameter parameters,
            string outputFile,
            out double C,
            out double Gamma)
        {
            Grid(problem, validation, parameters, GetList(MIN_C, MAX_C, C_STEP), GetList(MIN_G, MAX_G, G_STEP), outputFile, out C, out Gamma);
        }
        /// <summary>
        /// Performs a Grid parameter selection, trying all possible combinations of the two lists and returning the
        /// combination which performed best.
        /// </summary>
        /// <param name="problem">The training data</param>
        /// <param name="validation">The validation data</param>
        /// <param name="parameters">The parameters to use when optimizing</param>
        /// <param name="CValues">The C values to use</param>
        /// <param name="GammaValues">The Gamma values to use</param>
        /// <param name="outputFile">The output file for the parameter results</param>
        /// <param name="C">The optimal C value will be placed in this variable</param>
        /// <param name="Gamma">The optimal Gamma value will be placed in this variable</param>
        public static void Grid(
            Problem problem,
            Problem validation,
            Parameter parameters,
            List<double> CValues,
            List<double> GammaValues,
            string outputFile,
            out double C,
            out double Gamma)
        {
            C = 0;
            Gamma = 0;
            double maxScore = double.MinValue;
            StreamWriter output = new StreamWriter(outputFile);
            for (int i = 0; i < CValues.Count; i++)
                for (int j = 0; j < GammaValues.Count; j++)
                {
                    parameters.C = CValues[i];
                    parameters.Gamma = GammaValues[j];
                    Model model = Training.Train(problem, parameters);
                    double test = Prediction.Predict(validation, "tmp.txt", model, false);
                    Console.Write("{0} {1} {2}", parameters.C, parameters.Gamma, test);
                    output.WriteLine("{0} {1} {2}", parameters.C, parameters.Gamma, test);
                    if (test > maxScore)
                    {
                        C = parameters.C;
                        Gamma = parameters.Gamma;
                        maxScore = test;
                        Console.WriteLine(" New Maximum!");
                    }
                    else Console.WriteLine();
                }
            output.Close();
        }
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
东方aⅴ免费观看久久av| 91国产免费看| 色av综合在线| 26uuu另类欧美亚洲曰本| 久久久久九九视频| 日产精品久久久久久久性色| 99这里只有久久精品视频| 91精品国产高清一区二区三区蜜臀| 欧美国产精品v| 六月丁香婷婷久久| 日本道色综合久久| 欧美国产综合色视频| 蜜臂av日日欢夜夜爽一区| 在线观看一区二区精品视频| 国产精品无人区| 国产成人午夜精品5599 | 色噜噜狠狠色综合欧洲selulu | 欧美精品三级日韩久久| 中文字幕在线不卡一区| 国产精品99久久久| 日韩一区二区三区四区| 亚洲国产美女搞黄色| 色综合天天综合网天天看片| 国产精品伦理一区二区| 国产精品正在播放| 2023国产一二三区日本精品2022| 日本欧美一区二区三区乱码| 欧美精品xxxxbbbb| 亚洲va天堂va国产va久| 欧美三级日韩三级| 亚洲成人激情综合网| 色猫猫国产区一区二在线视频| 自拍偷拍亚洲激情| 色综合天天综合色综合av | 欧美精品一区二区三区在线| 免费日韩伦理电影| 精品区一区二区| 激情综合色综合久久综合| www久久久久| 国产91精品一区二区麻豆网站 | 午夜av一区二区| 欧美精选在线播放| 久久国内精品自在自线400部| 日韩美女视频在线| 紧缚奴在线一区二区三区| 久久久99精品免费观看| 国产成人av一区二区| 国产精品每日更新| 色噜噜久久综合| 首页亚洲欧美制服丝腿| 日韩女优制服丝袜电影| 国产精品乡下勾搭老头1| 国产精品女主播av| 欧美午夜影院一区| 日韩av一二三| 中文字幕免费观看一区| 91老司机福利 在线| 日本不卡高清视频| 久久伊人蜜桃av一区二区| 北条麻妃国产九九精品视频| 亚洲www啪成人一区二区麻豆| 日韩欧美中文字幕精品| 粉嫩蜜臀av国产精品网站| 亚洲激情一二三区| 91麻豆精品国产91久久久资源速度| 精品午夜久久福利影院| 亚洲天堂免费看| 欧美一二三区在线| 成人av在线看| 青青草伊人久久| 亚洲视频在线一区| 欧美成人国产一区二区| 91蝌蚪porny| 美女脱光内衣内裤视频久久网站| 国产欧美一区二区精品婷婷 | 奇米色777欧美一区二区| 久久精品一区蜜桃臀影院| 日本电影亚洲天堂一区| 国产精品69久久久久水密桃| 亚洲国产日韩在线一区模特| 国产午夜亚洲精品午夜鲁丝片| 欧美日韩视频一区二区| 成人福利电影精品一区二区在线观看| 亚洲h动漫在线| 国产精品素人视频| 日韩欧美中文一区二区| 色综合天天性综合| 黄网站免费久久| 亚洲国产视频a| 综合在线观看色| 久久亚洲一区二区三区四区| 欧美蜜桃一区二区三区| jlzzjlzz亚洲日本少妇| 国产九色sp调教91| 久久精品国产秦先生| 亚洲国产精品视频| 一区二区在线观看视频| 国产精品久久久久影院老司| 久久一区二区视频| 欧美本精品男人aⅴ天堂| 欧美日韩国产经典色站一区二区三区| 成人手机电影网| 国产精品综合二区| 国内精品在线播放| 久久成人免费网站| 极品销魂美女一区二区三区| 日韩经典中文字幕一区| 五月天久久比比资源色| 亚洲午夜久久久久久久久久久| 亚洲欧美成aⅴ人在线观看 | 日本电影欧美片| 91蜜桃免费观看视频| eeuss鲁片一区二区三区在线看| 国产精品亚洲视频| 成人精品在线视频观看| 国产成人一级电影| 成人爱爱电影网址| a美女胸又www黄视频久久| 成人午夜精品在线| aaa国产一区| 欧美伊人久久大香线蕉综合69| 欧美在线视频你懂得| 欧美午夜一区二区三区 | 99久久精品国产网站| 不卡大黄网站免费看| 91小视频免费观看| 欧洲国产伦久久久久久久| 欧美日韩电影一区| 日韩精品一区二区三区中文不卡 | 欧美一级日韩不卡播放免费| 欧美一级黄色录像| 亚洲精品一区二区三区影院| 久久综合久色欧美综合狠狠| 欧美国产丝袜视频| 亚洲欧美视频一区| 婷婷丁香久久五月婷婷| 美国精品在线观看| 国产尤物一区二区在线| 成人黄色在线网站| 欧美影院一区二区| 日韩一区二区免费电影| 国产欧美一区视频| 亚洲女人****多毛耸耸8| 亚洲色图另类专区| 热久久国产精品| 成人av手机在线观看| 欧美午夜精品一区二区蜜桃| 精品久久一区二区| 亚洲天堂久久久久久久| 老司机免费视频一区二区三区| 成人综合婷婷国产精品久久免费| 欧洲人成人精品| 久久久久97国产精华液好用吗| 亚洲桃色在线一区| 亚洲成人精品一区二区| 国产69精品久久99不卡| 欧美日韩激情一区二区三区| 日本一区二区在线不卡| 香蕉影视欧美成人| 国产**成人网毛片九色| 7777精品伊人久久久大香线蕉的 | 色综合视频一区二区三区高清| 日韩一区二区影院| 亚洲欧美激情一区二区| 久久精品理论片| 日本大香伊一区二区三区| 精品国产精品网麻豆系列| 亚洲一二三区在线观看| 岛国一区二区三区| 日韩免费看网站| 亚洲一级二级在线| 成人av影院在线| 久久久久国产精品人| 亚洲超碰97人人做人人爱| 97se狠狠狠综合亚洲狠狠| 久久午夜羞羞影院免费观看| 图片区小说区区亚洲影院| av中文字幕在线不卡| 国产日产精品一区| 久久99久国产精品黄毛片色诱| 欧美精品自拍偷拍| 一区二区欧美精品| 91色在线porny| 国产精品乱人伦一区二区| 国产精品99久久久| 久久久亚洲精品一区二区三区| 日韩国产欧美一区二区三区| 91久久精品一区二区三| 成人欧美一区二区三区在线播放| 国产精品一区二区久久精品爱涩| 在线不卡一区二区| 亚洲制服丝袜在线| 欧美亚洲丝袜传媒另类| 亚洲另类一区二区| 91在线精品秘密一区二区| 国产精品久久久久久久久晋中 | 一区二区免费在线播放| 91免费视频大全| 亚洲日本成人在线观看| 色天使久久综合网天天|