Пример #1
0
from matplotlib import cm
import numpy as np

from MachineLearn.Classes import Experiment, DataSet, Data
from T3.Perceptron import Layered_perceptron
import matplotlib.pyplot as plt

COLOR = cm.rainbow(np.linspace(0, 1, 5))
learning_rate = 0.01
epochs = 5000

oExp = Experiment()

oDataSet = DataSet()
base = np.loadtxt("Datasets/column_3C.dat", usecols=range(6), delimiter=" ")
classes = np.loadtxt("Datasets/column_3C.dat", 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(len(oDataSet.labelsNames), 31, samples=50)
    oData.random_training_test_by_percent([60, 150, 100], 0.8)
    perc = Layered_perceptron(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
Пример #2
0
from sklearn.preprocessing import LabelBinarizer
import matplotlib.pyplot as plt

from T6_2.kmeans_initializer import InitCentersKMeans

COLOR = cm.rainbow(np.linspace(0, 1, 5))
LEARNING_RATE = 0.1
epochs = 300
K_FOLD = 3
GRID_NEURON = [20, 15, 10, 5]
GRID_B = [.25, .5, .75, 1]
_OPTIMIZER = RMSprop(learning_rate=LEARNING_RATE)

oExp = Experiment()

oDataSet = DataSet()
base = np.loadtxt("Datasets/artifitial1.data", usecols=range(1), delimiter=",")
classes = np.loadtxt("Datasets/artifitial1.data", 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()
oDataSet.labels = np.array([classes]).T

for j in range(10):
    slices = KFold(n_splits=K_FOLD, shuffle=True)
    oData = Data(1, 31, samples=50)
    indices = np.arange(oDataSet.attributes.shape[0])
    np.random.shuffle(indices)