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
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])
# 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):