Пример #1
0
X = X.reshape((entries, 19, 38))
# Answers
Y = data[:, -1]

split = 0.8
z = math.floor(len(data) * 0.8)

X_train = X[:z]
Y_train = Y[:z]

X_test = X[z:]
Y_test = Y[z:]

epochs = 20
tm = MultiClassConvolutionalTsetlinMachine2D(10000,
                                             7500,
                                             8.0, (19, 19),
                                             weighted_clauses=True)

info = "; ".join(f"""
Clauses: {tm.number_of_clauses}
T: {tm.T}
s: {tm.s}
Epochs: {epochs}
Moves: 250
Games: {data.shape[0]}
""".strip().split("\n"))

total_acc = []

print(info)
print("Starting training")
Пример #2
0
#import sys
#sys.exit(1)

#------------------------------------------------------------
from pyTsetlinMachine.tm import MultiClassConvolutionalTsetlinMachine2D
print("Setting Up Machine")
clauses = int(variables["Connect4"]["Clause"])
T = variables["Connect4"]["T"]
s = variables["Connect4"]["S"]

epochs = int(variables["Connect4"]["epochs"])

ctm = MultiClassConvolutionalTsetlinMachine2D(1000,
                                              50,
                                              14.617627461915859, (4, 4),
                                              weighted_clauses=True,
                                              boost_true_positive_feedback=0)

ctm.fit(TrainX, TrainY, epochs=15)

print("Accuracy:", 100 * (ctm.predict(TestX) == TestY).mean())


def GetOutput(tm, tm_class, clause):
    output = []
    for i in range(84 * 2):

        outputbit = tm.ta_action(tm_class, clause, i)
        output.append(outputbit)
    return output