예제 #1
0
                     dtype=object,
                     usecols=-1,
                     delimiter=",")

for x, y in enumerate(base):
    oDataSet.add_sample_of_attribute(
        np.array(list(np.float32(y)) + [classes[x]]))
oDataSet.attributes = oDataSet.attributes.astype(float)
oDataSet.normalize_data_set()
for j in range(20):
    print(j)
    oData = Data(2, 31, samples=50)
    oData.random_training_test_by_percent([100, 50], 0.8)
    perc = Perceptron(learning_rate)
    perc.train(oDataSet.attributes[oData.Training_indexes],
               oDataSet.labels[oData.Training_indexes], epochs)
    oData.model = perc
    oData.confusion_matrix = np.zeros((2, 2))
    for i in oData.Testing_indexes:
        data = np.matrix(np.hstack(([-1], oDataSet.attributes[i]))).T
        oData.confusion_matrix[int(oDataSet.labels[i]),
                               perc.predict(data)] += 1
    oDataSet.append(oData)
oExp.add_data_set(
    oDataSet, description="  Experimento iris  PS 20 realizaçoes.".format())
oExp.save("Objects/EXP01_3_PS_20.gzip".format())

oExp = Experiment.load("Objects/EXP01_3_PS_20.gzip".format())
print(oExp)
print(oExp.experimentResults[0].sum_confusion_matrix)
예제 #2
0
    oDataSet.add_sample_of_attribute(
        np.array(list(np.float32(y)) + [classes[x]]))
oDataSet.attributes = oDataSet.attributes.astype(float)
oDataSet.normalize_data_set()
for j in range(20):
    print(j)
    oData = Data(len(oDataSet.labelsNames), 31, samples=50)
    oData.random_training_test_by_percent(
        np.unique(classes, return_counts=True)[1], 0.8)
    perc = Layered_perceptron_Logistic(learning_rate,
                                       len(oDataSet.labelsNames))
    perc.train(oDataSet.attributes[oData.Training_indexes],
               oDataSet.labels[oData.Training_indexes], epochs)
    oData.model = perc
    oData.confusion_matrix = np.zeros(
        (len(oDataSet.labelsNames), len(oDataSet.labelsNames)))
    for i in oData.Testing_indexes:
        data = np.matrix(np.hstack(([-1], oDataSet.attributes[i]))).T
        predicted = perc.predict(data)
        oData.confusion_matrix[int(oDataSet.labels[i]), predicted] += 1
    print(oData)
    oDataSet.append(oData)
oExp.add_data_set(
    oDataSet,
    description="  Experimento Dermatologia LP 20 realizaçoes.".format())
oExp.save("Objects/EXP01_4_LP_20.gzip".format())

oExp = Experiment.load("Objects/EXP01_4_LP_20.gzip".format())
print(oExp)
print(oExp.experimentResults[0].sum_confusion_matrix)
예제 #3
0
    ax1 = fig.add_subplot(111)
    # ax2 = ax1.twiny()
    p = [oDataSet.attributes[0], oDataSet.attributes[-1]]
    res = []
    for i in p:
        data = np.matrix(np.hstack(([-1], i))).T
        predict = perc.predict(data)[0, 0]
        res.append([i, predict])
    res = np.array(res)
    ax1.plot(base[[0, -1]], res[:, 1])

    p = [base[0], base[-1]]
    res = []
    for i in p:
        predict = 2 * i + 3
        res.append([i, predict])
    res = np.array(res)
    ax1.plot(res[:, 0], res[:, 1])

    plt.show()
    oData.params = {
        "MSE": ert / oData.Testing_indexes.shape[0],
        "RMSE": np.sqrt(ert / oData.Testing_indexes.shape[0])
    }

    print(oData.params)
    oDataSet.append(oData)

oExp.add_data_set(oDataSet)
oExp.save("Objects/EXP01_DT1_20.gzip")