Esempio n. 1
0
 def testContValues5000Iterations(self):
     dataPath = os.path.join(THIS_DIR, "test/DataSets/Real/ContinuousAndNonBinaryDiscreteAttributes.csv")
     converter = StringEnumerator(dataPath,"Class")
     headers, classLabel, dataFeatures, dataPhenotypes = converter.get_params()
     clf = XCS(learning_iterations=5000)
     clf.fit(dataFeatures,dataPhenotypes)
     answer = 0.64
     #print("Continuous Attributes 5000 Iter: "+str(clf.get_final_training_accuracy()))
     self.assertTrue(self.approxEqualOrBetter(0.2,clf.get_final_training_accuracy(),answer,True))
Esempio n. 2
0
 def test20BitMP5000Iterations(self):
     dataPath = os.path.join(THIS_DIR, "test/DataSets/Real/Multiplexer20Modified.csv")
     converter = StringEnumerator(dataPath,"Class")
     headers, classLabel, dataFeatures, dataPhenotypes = converter.get_params()
     clf = XCS(learning_iterations=5000,N=2000,nu=10)
     clf.fit(dataFeatures,dataPhenotypes)
     answer = 0.6634
     #print("20 Bit 5000 Iter: "+str(clf.get_final_training_accuracy()))
     self.assertTrue(self.approxEqualOrBetter(0.2,clf.get_final_training_accuracy(),answer,True))
Esempio n. 3
0
 def testPredictInvVar(self):
     dataPath = os.path.join(THIS_DIR,
                             "test/DataSets/Real/Multiplexer6Modified.csv")
     converter = StringEnumerator(dataPath, "Class")
     headers, classLabel, dataFeatures, dataPhenotypes = converter.get_params(
     )
     clf = XCS(learning_iterations=1000,
               N=500,
               nu=10,
               use_inverse_varinance=True,
               p_explore=0.5)
     clf.fit(dataFeatures, dataPhenotypes)
     print("kkkkkkkkkkkkkkkkkkkkkkkkkkk")
     print(clf.predict(clf.env.formatData.savedRawTrainingData[0]))
Esempio n. 4
0
 def testInverseVariance(self):
     dataPath = os.path.join(THIS_DIR,
                             "test/DataSets/Real/Multiplexer11.csv")
     converter = StringEnumerator(dataPath, "class")
     headers, classLabel, dataFeatures, dataPhenotypes = converter.get_params(
     )
     clf = XCS(learning_iterations=5000,
               N=1000,
               mixing_method="inv-var-only-mixing")
     clf.fit(dataFeatures, dataPhenotypes)
     answer = 0.894
     score = clf.get_final_training_accuracy()
     print("#####################################\n6 Bit 1000 Iter: " +
           str(score))
Esempio n. 5
0
    def testNew(self):
        #Use StringEnumerator to gather data
        converter = StringEnumerator("test/DataSets/Real/Multiplexer11.csv",
                                     "class")
        headers, actionLabel, dataFeatures, dataActions = converter.get_params(
        )

        #Shuffle data
        formatted = np.insert(dataFeatures, dataFeatures.shape[1], dataActions,
                              1)
        np.random.shuffle(formatted)
        dataFeatures = np.delete(formatted, -1, axis=1)
        dataActions = formatted[:, -1]

        #Initialize and train model

        clf_inv_var = XCS(learning_iterations=1000,
                          N=200,
                          use_inverse_varinance=True)
        clf_inv_var.fit(dataFeatures, dataActions)
        breakpoint()