Ejemplo n.º 1
0
        public void SOM_6_columns_iris_0()
        {
            InitData_dataset_iris();

            //Split last column away from _trainingData
            double[][] newTrainingData     = ArrayManipulation.RemoveLastColumn2D(_trainingData);
            string []  values              = Conversion.ConvertToStringArray(ArrayManipulation.GetLastColAs1DArray(_trainingData));
            string[]   newAttributeHeaders = ArrayManipulation.RemoveLastColumn1D(_attributeHeaders);

            BuildSelfOrganizingMap build = new BuildSelfOrganizingMap();

            build.SetParameters(4, 4);//, .1, 100, 3);
            ModelSelfOrganizingMap model =
                (ModelSelfOrganizingMap)build.BuildModel(newTrainingData, newAttributeHeaders);

            values = Conversion.ReplaceWithString1D(values, "0", "setosa");
            values = Conversion.ReplaceWithString1D(values, "1", "versicolor");
            values = Conversion.ReplaceWithString1D(values, "2", "virginica");

            string somMap = model.GetPrintedSOMMapWithNameIds(newTrainingData,
                                                              values);

            //string valueCompare = "versicolor versicolor setosa setosa \r\n" +
            //                     "virginica versicolor versicolor setosa \r\n" +
            //                     "virginica virginica virginica virginica \r\n" +
            //                     "virginica virginica virginica virginica";

            //Using Random init weights is leading to different structure
            //However the following line should always be there
            Assert.IsTrue(somMap.Contains("virginica virginica virginica virginica"));
        }
Ejemplo n.º 2
0
        public void ArrayManipulation_2D_double_last_col()
        {
            InitData_dataset_3_rows_non_symmetric();
            double[][] newArray = ArrayManipulation.RemoveLastColumn2D(_trainingData);
            Assert.AreEqual(newArray.Length, 2);
            Assert.AreEqual(newArray[0].Length, 3);

            Assert.AreEqual(newArray[0][0], 1);
            Assert.AreEqual(newArray[0][1], 2);
            Assert.AreEqual(newArray[0][2], 3);

            Assert.AreEqual(newArray[1][0], 4);
            Assert.AreEqual(newArray[1][1], 5);
            Assert.AreEqual(newArray[1][2], 6);
        }
Ejemplo n.º 3
0
        public void ArrayManipulation_2D_string_last_col()
        {
            InitData_dataset_3_rows_string();
            string[][] newArray = ArrayManipulation.RemoveLastColumn2D(_dataString);

            Assert.AreEqual(newArray.Length, 2);
            Assert.AreEqual(newArray[0].Length, 3);

            Assert.AreEqual(newArray[0][0], "a");
            Assert.AreEqual(newArray[0][1], "b");
            Assert.AreEqual(newArray[0][2], "c");

            Assert.AreEqual(newArray[1][0], "d");
            Assert.AreEqual(newArray[1][1], "e");
            Assert.AreEqual(newArray[1][2], "f");
        }