Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

pl:miw:miw08_rbs_ml:nunittests [2017/07/17 10:08]
pl:miw:miw08_rbs_ml:nunittests [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 +<​code="​csharp">​
 +[TestFixture]//​telling NUnit that this class contains test functions
 +using System;
 +using System.Collections.Generic;​
 +using System.Text;​
 +using NUnit.Framework;​
 +using System.IO;
 +using System.Xml.Serialization;​
  
 +namespace Morcinek.Machine_Learning
 +{
 +        [TestFixture]//​telling NUnit that this class contains test functions
 + public class NUnitClass
 + {
 + private const string TESTS = "​Tests.xml";​
 +
 + [Test]
 + public void Thermostat_252_2016()
 + {
 + int randValue;
 + object[][] everything;
 + object[][] testing;
 + object[][] learning;
 + DecisionTree decisionTree;​
 + int goodClassified = 0;
 + int learningLength = 126;
 +
 + everything = Common.BinaryDeSerialize("​Thermostat_2016.bin"​);​
 + string[] attributeNames = new string[] { "​Day",​ "​Hour",​ "​Month"​ };
 +
 + Random rand = new Random();
 + List<​int>​ learningIndexes = new List<​int>​();​
 + List<​int>​ testingIndexes = new List<​int>​();​
 + for (int i = 0; i < learningLength;​ i++)
 + {
 + randValue = rand.Next(2015);​
 + if (!learningIndexes.Contains(randValue))
 + learningIndexes.Add(randValue);​
 + else
 + --i;
 + }
 + learningIndexes.Sort();​
 +
 + for (int i = 0; i < 2016; i++)
 + {
 + if (!learningIndexes.Contains(i))
 + testingIndexes.Add(i);​
 + }
 +
 + testing = IndexesToArray(everything,​ testingIndexes);​
 +
 + learning = IndexesToArray(everything,​ learningIndexes);​
 +
 + decisionTree = new DecisionTree();​
 + decisionTree.Initialize(learning,​ attributeNames);​
 +
 + foreach (object[] row in testing)
 + {
 + if (decisionTree.FindCategory(row) == (int)row[3])
 + goodClassified++;​
 + }
 + StringBuilder sb = new StringBuilder();​
 + sb.Append("​Everything is ");
 + sb.Append(goodClassified.ToString());​
 + sb.Append("/"​);​
 + sb.Append(testing.Length.ToString());​
 + Console.Write(sb.ToString());​
 + UpdateCorrect(goodClassified);​ //​ Funkcja zapisuje kolejne ilości dobrze sklasyfikowanych przykładów
 + }
 +
 + private object[][] IndexesToArray(object[][] everything, List<​int>​ indexesList)
 + {
 + List<​object[]>​ testingList = new List<​object[]>​();​
 + foreach (int index in indexesList)
 + {
 + testingList.Add(everything[index]);​
 + }
 + return testingList.ToArray();​
 + }
 +        }
 +}
 +</​code>​
pl/miw/miw08_rbs_ml/nunittests.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0