def execute_test(resolution, x_n, y_n):

    X, y = load_winequality_red()

    s = 'chlorides'
    c = X[s]
    c_log = np.log(c)
    c_log[c_log < -3.5] = -3.5
    c_log[c_log > -1.5] = -1.5
    X[s] = c_log

    s = 'residual sugar'
    c = X[s]
    c_log = np.log(c)
    c_log[c_log > 2] = 2
    X[s] = c_log

    s = 'sulphates'
    c = X[s]
    c[c > 1.25] = 1.25
    X[s] = c

    s = 'total sulfur dioxide'
    c = X[s]
    c_log = np.log(c)
    X[s] = c_log

    X_train, X_test, y_train, y_test = split_train_test(X, y, test_size=0.05)
    # X_train = X
    # X_test = X
    # y_train = y
    # y_test = y

    learning_system = FuzzyLearningSystem(res=resolution)

    learning_system.fit(X_train, y_train, X_n=x_n, y_n=y_n)

    score = learning_system.score(X_test, y_test)

    return score
def test_model():
    X, y = load_sample_set()

    # X_train, X_test, y_train, y_test = split_train_test(X, y, test_size = 0.10)
    X_train = X
    X_test = X
    y_train = y
    y_test = y

    learning_system = FuzzyLearningSystem(res=1000)

    learning_system.fit(X_train, y_train, X_n=4, y_n=2)
    print(learning_system)

    score = learning_system.score(X_test, y_test)
    print(score)

    df = pd.DataFrame()

    for i in np.arange(0, 11, 0.5):

        y_hat = learning_system.get_result({'X': i})['y']

        a_row = pd.Series([i, y_hat])
        row_df = pd.DataFrame([a_row])
        df = pd.concat([row_df, df])

    plt.scatter(X, y)
    plt.scatter(df[0], df[1])
    plt.show()
def execute_test(resolution, x_n, y_n):

    X, y = load_weather()

    X_train, X_test, y_train, y_test = split_train_test(X, y, test_size=0.2)

    learning_system = FuzzyLearningSystem(res=resolution)

    learning_system.fit(X_train, y_train, X_n=x_n, y_n=y_n)

    score = learning_system.score(X_test, y_test)

    print(learning_system)

    learning_system.generate_rules_csv('weather_rules.csv')

    return score
Ejemplo n.º 4
0
clean_y = y.copy()
clean_y['Y'] = 1.1**X['x']

X_train = X
X_test = X
y_train = y
y_test = y

fig, axes = plt.subplots(nrows=3, ncols=3)

df = pd.DataFrame()

for x_range in range(3, 6):
    for y_range in range(2, 5):

        learning_system = FuzzyLearningSystem(res=1000)

        learning_system.fit(X_train, y_train, X_n=x_range, y_n=y_range)

        # learning_system.plot_variables()
        # print(learning_system)

        score = learning_system.score(X_test, clean_y)

        df = df[0:0]

        for i in np.arange(0, 50, 1):

            y_hat = learning_system.get_result({'x': i})['Y']

            a_row = pd.Series([i, y_hat])
Ejemplo n.º 5
0
# min_max_scaler = preprocessing.StandardScaler()

# x = X.values #returns a numpy array
# x_scaled = min_max_scaler.fit_transform(x)
# X = pd.DataFrame(x_scaled)

# print(X.min(), X.max())


# X_train, X_test, y_train, y_test = split_train_test(X, y, test_size = 0.10)
X_train = X
X_test = X
y_train = y
y_test = y

learning_system = FuzzyLearningSystem(res=1000)

learning_system.fit(X_train, y_train, X_n=3, y_n=4)

# learning_system.plot_variables()


print(learning_system)

score = learning_system.score(X_test, y_test)
print(score)

df = pd.DataFrame()

for i in np.arange(54,79,0.5):