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

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

?? gaussiantransform.cs

?? SVM的一個源程序
?? CS
字號:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace SVM
{
    /// <summary>
    /// A transform which learns the mean and variance of a sample set and uses these to transform new data
    /// so that it has zero mean and unit variance.
    /// </summary>
    public class GaussianTransform : IRangeTransform
    {
        private List<Node[]> _samples;
        private int _maxIndex;

        private double[] _means;
        private double[] _stddevs;

        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="maxIndex">The maximum index of the vectors to be transformed</param>
        public GaussianTransform(int maxIndex)
        {
            _samples = new List<Node[]>();
        }
        private GaussianTransform(double[] means, double[] stddevs, int maxIndex)
        {
            _means = means;
            _stddevs = stddevs;
            _maxIndex = maxIndex;
        }

        /// <summary>
        /// Adds a sample to the data.  No computation is performed.  The maximum index of the
        /// sample must be less than MaxIndex.
        /// </summary>
        /// <param name="sample">The sample to add</param>
        public void Add(Node[] sample)
        {
            _samples.Add(sample);
        }

        /// <summary>
        /// Computes the statistics for the samples which have been obtained so far.
        /// </summary>
        public void ComputeStatistics()
        {
            int[] counts = new int[_maxIndex];
            _means = new double[_maxIndex];
            foreach(Node[] sample in _samples)
            {
                for (int i = 0; i < sample.Length; i++)
                {
                    _means[sample[i].Index] += sample[i].Value;
                    counts[sample[i].Index]++;
                }
            }
            for (int i = 0; i < _maxIndex; i++)
            {
                if (counts[i] == 0)
                    counts[i] = 2;
                _means[i] /= counts[i];
            }

            _stddevs = new double[_maxIndex];
            foreach(Node[] sample in _samples)
            {
                for (int i = 0; i < sample.Length; i++)
                {
                    double diff = sample[i].Value - _means[sample[i].Index];
                    _stddevs[sample[i].Index] += diff * diff;
                }
            }
            for (int i = 0; i < _maxIndex; i++)
            {
                if (_stddevs[i] == 0)
                    continue;
                _stddevs[i] /= (counts[i]-1);
                _stddevs[i] = Math.Sqrt(_stddevs[i]);
            }
        }

        /// <summary>
        /// Saves the transform to the disk.  The samples are not stored, only the 
        /// statistics.
        /// </summary>
        /// <param name="stream">The destination stream</param>
        /// <param name="transform">The transform</param>
        public static void Write(Stream stream, GaussianTransform transform)
        {
            StreamWriter output = new StreamWriter(stream);
            output.WriteLine(transform._maxIndex);
            for (int i = 0; i < transform._maxIndex; i++)
                output.WriteLine("{0} {1}", transform._means[i], transform._stddevs[i]);
            output.Flush();
        }

        /// <summary>
        /// Reads a GaussianTransform from the provided stream.
        /// </summary>
        /// <param name="stream">The source stream</param>
        /// <returns>The transform</returns>
        public static GaussianTransform Read(Stream stream)
        {
            StreamReader input = new StreamReader(stream);
            int length = int.Parse(input.ReadLine());
            double[] means = new double[length];
            double[] stddevs = new double[length];
            for (int i = 0; i < length; i++)
            {
                string[] parts = input.ReadLine().Split();
                means[i] = double.Parse(parts[0]);
                stddevs[i] = double.Parse(parts[1]);
            }
            return new GaussianTransform(means, stddevs, length);
        }

        /// <summary>
        /// Saves the transform to the disk.  The samples are not stored, only the 
        /// statistics.
        /// </summary>
        /// <param name="filename">The destination filename</param>
        /// <param name="transform">The transform</param>
        public static void Write(string filename, GaussianTransform transform)
        {
            FileStream output = File.Open(filename, FileMode.Create);
            try
            {
                Write(output, transform);
            }
            finally
            {
                output.Close();
            }
        }

        /// <summary>
        /// Reads a GaussianTransform from the provided stream.
        /// </summary>
        /// <param name="filename">The source filename</param>
        /// <returns>The transform</returns>
        public static GaussianTransform Read(string filename)
        {
            FileStream input = File.Open(filename, FileMode.Open);
            try
            {
                return Read(input);
            }
            finally
            {
                input.Close();
            }
        }

        #region IRangeTransform Members

        /// <summary>
        /// Transform the input value using the transform stored for the provided index.
        /// <see cref="ComputeStatistics"/> must be called first, or the transform must
        /// have been read from the disk.
        /// </summary>
        /// <param name="input">Input value</param>
        /// <param name="index">Index of the transform to use</param>
        /// <returns>The transformed value</returns>
        public double Transform(double input, int index)
        {
            if (_stddevs[index] == 0)
                return 0;
            double diff = input - _means[index];
            diff /= _stddevs[index];
            return diff;
        }
        /// <summary>
        /// Transforms the input array.  <see cref="ComputeStatistics"/> must be called 
        /// first, or the transform must have been read from the disk.
        /// </summary>
        /// <param name="input">The array to transform</param>
        /// <returns>The transformed array</returns>
        public Node[] Transform(Node[] input)
        {
            Node[] output = new Node[input.Length];
            for (int i = 0; i < output.Length; i++)
            {
                int index = input[i].Index;
                double value = input[i].Value;
                output[i] = new Node(index, Transform(value, index));
            }
            return output;
        }

        #endregion
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产99久久久国产精品潘金网站| 亚洲国产aⅴ天堂久久| 久久久精品国产免大香伊| 亚洲国产成人自拍| 亚洲一区中文在线| 久久成人免费网站| 精品一区二区三区久久久| 成人黄色网址在线观看| 91精品欧美久久久久久动漫| www久久久久| 午夜精品福利一区二区三区av| 日产欧产美韩系列久久99| 成人晚上爱看视频| 日韩亚洲欧美高清| 一区二区高清免费观看影视大全| 毛片av一区二区| 欧美怡红院视频| 日韩一区二区在线观看视频 | 亚洲国产视频网站| 国产剧情av麻豆香蕉精品| 欧美日韩中文国产| 中文字幕精品综合| 国产美女在线观看一区| 9191成人精品久久| 亚洲一区在线视频观看| 91麻豆国产精品久久| 国产精品网站一区| 国产激情91久久精品导航| 欧美va在线播放| 久久国产精品区| 欧美tickling挠脚心丨vk| 日韩影视精彩在线| 欧美欧美欧美欧美| 日日噜噜夜夜狠狠视频欧美人 | 亚洲精品视频自拍| 99精品视频免费在线观看| 日本不卡一二三| 日韩视频免费观看高清完整版在线观看 | 国产亚洲制服色| 成人激情免费视频| 亚洲欧美日韩国产综合在线| 欧美专区日韩专区| 日韩中文字幕不卡| 国产清纯白嫩初高生在线观看91| 国产一区不卡视频| 亚洲精品国产一区二区三区四区在线| 色一情一伦一子一伦一区| 五月婷婷激情综合网| 欧美激情一区不卡| 欧美一区二区三区思思人| 国产精品亚洲一区二区三区在线| 亚洲裸体xxx| 欧美一区二区黄色| 99久久夜色精品国产网站| 石原莉奈在线亚洲二区| 国产精品久久久久桃色tv| 欧美日韩视频在线观看一区二区三区 | 亚洲欧美一区二区三区久本道91| 成人一级片网址| 性做久久久久久免费观看| 久久综合久久久久88| 欧美精选一区二区| 欧美伊人久久大香线蕉综合69 | 日韩一区二区影院| 欧美日韩视频在线第一区| 国产精品888| 蜜乳av一区二区| 天堂影院一区二区| 亚洲精选在线视频| 中文字幕av一区二区三区免费看| 国产一区不卡视频| 亚洲精选视频免费看| 亚洲男人的天堂在线观看| 91同城在线观看| 99久久精品一区二区| 亚洲与欧洲av电影| 在线观看日韩av先锋影音电影院| 亚洲一区二区三区中文字幕| 久久久综合激的五月天| 久久精品无码一区二区三区| 精品国产第一区二区三区观看体验| 日韩精品专区在线影院观看| 成人精品gif动图一区| 色综合中文字幕| 欧美日韩国产影片| 91麻豆精品国产91久久久资源速度 | 99久久精品国产精品久久| 91丨九色丨蝌蚪丨老版| 91久久精品一区二区三| 欧美高清视频www夜色资源网| 日韩一卡二卡三卡四卡| 成人爱爱电影网址| 成人亚洲一区二区一| 色综合久久中文综合久久97 | 亚洲成av人片在线观看| 精品一区二区三区蜜桃| 99re热这里只有精品视频| 精品视频在线视频| 久久精品一区二区三区不卡牛牛 | 91在线观看视频| 成人免费电影视频| 92国产精品观看| 欧美一区二区三区白人| 国产精品女上位| 麻豆91在线看| 欧洲国产伦久久久久久久| 久久亚洲一级片| 日本欧美一区二区| 在线看不卡av| ...av二区三区久久精品| 国产一区二区三区蝌蚪| 欧美亚洲一区二区在线观看| 欧美激情综合在线| 美女视频黄 久久| 一本色道a无线码一区v| 国产日韩欧美综合一区| 国产精品99久久久久久久女警| 欧美日韩激情一区二区| 亚洲成人免费视频| 欧美日韩国产综合一区二区| 亚洲国产视频直播| 欧洲亚洲国产日韩| 天天亚洲美女在线视频| 91精品国产91综合久久蜜臀| 亚洲高清不卡在线| 97久久精品人人做人人爽50路| 精品免费日韩av| 国产一区二区三区国产| 中文字幕成人av| 91性感美女视频| 亚洲妇女屁股眼交7| 欧美电影免费观看高清完整版在 | 久久精子c满五个校花| 午夜精品福利视频网站| 国产传媒欧美日韩成人| 国产精品不卡在线| 欧美亚洲动漫制服丝袜| 麻豆免费看一区二区三区| 国产香蕉久久精品综合网| 91激情五月电影| 国内偷窥港台综合视频在线播放| 国产亚洲人成网站| 欧美影院午夜播放| 国产一区二区三区日韩| 亚洲品质自拍视频| 精品国产一区a| 国产成人免费视| 欧美激情一区二区在线| 欧美午夜在线观看| 亚洲电影一区二区三区| 欧美日韩精品一区二区天天拍小说 | 日韩欧美在线网站| 欧美另类高清zo欧美| 欧美三电影在线| 久久99精品网久久| 婷婷久久综合九色综合绿巨人| 欧美精品一区男女天堂| 666欧美在线视频| 欧美日韩一区在线观看| www.欧美日韩| 韩国女主播成人在线| 亚洲成av人片在www色猫咪| 国产精品国产三级国产普通话99| 欧美一级精品在线| 3d动漫精品啪啪一区二区竹菊| 99免费精品视频| 99久久99久久精品免费观看 | 午夜久久福利影院| 免费欧美在线视频| 国产精品夜夜嗨| 色菇凉天天综合网| 日韩欧美高清一区| 中文一区二区完整视频在线观看| 亚洲视频小说图片| 国产精品资源在线| 99在线精品视频| 欧美日韩国产小视频在线观看| 日韩欧美色综合| 国产欧美一区二区精品性色| 亚洲视频小说图片| 久久99精品一区二区三区三区| 精品无码三级在线观看视频| 福利电影一区二区三区| 欧美视频日韩视频在线观看| 精品三级在线看| 1024成人网色www| 久久99精品国产.久久久久久| 国产成人精品www牛牛影视| 欧美日韩二区三区| 亚洲欧美激情一区二区| av电影在线观看一区| 日本欧美一区二区三区| 国产精品不卡一区二区三区| 免费亚洲电影在线| 欧美日韩精品电影| 国产在线视视频有精品| 欧美精品一区二区三区在线播放| 国内一区二区视频| 国产精品久久久久久久浪潮网站| 国产麻豆视频一区二区|