Exemplo n.º 1
0
 /// <summary>
 /// MultipleLinearRegressionを取得します。
 /// </summary>
 /// <param name="version">AIプレイヤのバージョン</param>
 /// <returns>MultipleLinearRegression</returns>
 public MultipleLinearRegression GetMultipleLinearRegression(AiPlayer.Version version)
 {
     if (!this.MultipleLinearRegressions.ContainsKey(version))
     {
         var csv = Resources.Load <TextAsset>($"Csvs/Learners/{MultipleLinearRegressionFileName}_{version.ToString().ToLower()}").ToString();
         var weightsAndIntercept = csv.Split(',');
         var weightsLength       = weightsAndIntercept.Count() - 1;
         var intercept           = weightsAndIntercept.Last();
         var weights             = weightsAndIntercept.Take(weightsLength).Select(w => double.Parse(w)).ToArray();
         this.MultipleLinearRegressions[version] = new MultipleLinearRegression();
         this.MultipleLinearRegressions[version].NumberOfInputs = weightsLength;
         this.MultipleLinearRegressions[version].Intercept      = double.Parse(intercept);
         this.MultipleLinearRegressions[version].Weights        = weights;
     }
     return(this.MultipleLinearRegressions[version]);
 }
Exemplo n.º 2
0
 /// <summary>
 /// DeepBeliefNetworkを取得します。
 /// </summary>
 /// <param name="version">AIプレイヤのバージョン</param>
 /// <returns>DeepBeliefNetwork</returns>
 public DeepBeliefNetwork GetDeepBeliefNetwork(AiPlayer.Version version)
 {
     if (!this.DeepBeliefNetworks.ContainsKey(version))
     {
         this.DeepBeliefNetworks[version] = Serializer.Load <DeepBeliefNetwork>(string.Format(LearningConfig.LearnerSavePath + @"/{0}_{1}.bin", DeepBeliefNetworkFileName, version.ToString().ToLower()));
     }
     return(this.DeepBeliefNetworks[version]);
 }
Exemplo n.º 3
0
        /// <summary>
        /// DeepBeliefNetworkを保存します。
        /// </summary>
        /// <param name="network">DeepBeliefNetwork</param>
        public void SaveDeepBeliefNetwork(DeepBeliefNetwork network, AiPlayer.Version version)
        {
            var filePath = string.Format(LearningConfig.LearnerSavePath + @"/{0}_{1}_{2}.bin", DeepBeliefNetworkFileName, DateTime.Now.ToString("yyyyMMddhhmmss"), version.ToString().ToLower());

            network.Save(filePath);
        }
Exemplo n.º 4
0
        /// <summary>
        /// MultipleLinearRegression。
        /// </summary>
        /// <param name="learner">MultipleLinearRegression</param>
        /// <param name="version">AIプレイヤのバージョン</param>
        public void SaveMultipleLinearRegression(MultipleLinearRegression learner, AiPlayer.Version version)
        {
            var filePath = string.Format(LearningConfig.LearnerSavePath + @"/{0}_{1}_{2}.csv", MultipleLinearRegressionFileName, DateTime.Now.ToString("yyyyMMddhhmmss"), version.ToString().ToLower());
            var sb       = new StringBuilder();

            foreach (var w in learner.Weights)
            {
                sb.Append($"{w},");
            }
            sb.Append(learner.Intercept.ToString());
            FileHelper.Write(sb.ToString(), filePath);
        }