示例#1
0
def main():
    @run_time
    def batch():
        print("Tesing the accuracy of LinearRegression(batch)...")
        # Train model
        reg = LinearRegression()
        reg.fit(X=X_train, y=y_train, lr=0.02, epochs=5000)
        # Model accuracy
        get_r2(reg, X_test, y_test)

    @run_time
    def stochastic():
        print("Tesing the accuracy of LinearRegression(stochastic)...")
        # Train model
        reg = LinearRegression()
        reg.fit(X=X_train, y=y_train, lr=0.001, epochs=1000,
                method="stochastic", sample_rate=0.5)
        # Model accuracy
        get_r2(reg, X_test, y_test)

    # Load data
    X, y = load_boston_house_prices()
    X = min_max_scale(X)
    # Split data randomly, train set rate 70%
    X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=10)
    batch()
    stochastic()
示例#2
0
def main():
    # Load data
    X, y = load_tagged_speech()
    X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=40)
    # Train model
    model = HMM()
    model.fit(X_train, y_train)
    # Model infomation.
    print("There are %d unique observations!" % len(model.observations))
    print("There are %d unique states!" % len(model.states))
    # Correctness test.
    tolerance = 1e-6
    start_probs_check = abs(sum(model.start_probs.values()) - 1) < tolerance
    assert start_probs_check, "Start probs incorrect!"
    trans_probs_check = all(
        abs(sum(dic.values()) - 1) < tolerance
        for dic in model.trans_probs.values())
    assert trans_probs_check, "Trans probs incorrect!"
    emit_probs_check = all(
        abs(sum(dic.values()) - 1) < tolerance
        for dic in model.emit_probs.values())
    assert emit_probs_check, "Emit probs incorrect!"
    print("Correctness test passed!")
    # Model accuracy.
    predictions = model.predict(X_test)
    numerator = sum(
        prediction == yi
        for prediction, yi in zip(chain(*predictions), chain(*y_test)))
    denominator = sum(map(len, y_test))
    acc = numerator / denominator
    print("Test accuracy is %.3f%%!" % (acc * 100))
def main():
    @run_time
    def batch():
        print("Tesing the accuracy of LogisticRegression(batch)...")
        # Train model
        clf = LogisticRegression()
        clf.fit(X=X_train, y=y_train, lr=0.05, epochs=200)
        # Model accuracy
        get_acc(clf, X_test, y_test)

    @run_time
    def stochastic():
        print("Tesing the accuracy of LogisticRegression(stochastic)...")
        # Train model
        clf = LogisticRegression()
        clf.fit(X=X_train,
                y=y_train,
                lr=0.01,
                epochs=200,
                method="stochastic",
                sample_rate=0.5)
        # Model accuracy
        get_acc(clf, X_test, y_test)

    # Load data
    X, y = load_breast_cancer()
    X = min_max_scale(X)
    # Split data randomly, train set rate 70%
    X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=10)
    batch()
    stochastic()
示例#4
0
def main():
    print("Tesing the accuracy of KNN classifier...")
    # Load data
    X, y = load_breast_cancer()
    # Split data randomly, train set rate 70%
    X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=20)
    # Train model
    clf = KNeighborsClassifier()
    clf.fit(X_train, y_train, k_neighbors=21)
    # Model accuracy
    get_acc(clf, X_test, y_test)
示例#5
0
def main():
    print("Tesing the accuracy of Gaussian NaiveBayes...")
    # Load data
    X, y = load_breast_cancer()
    # Split data randomly, train set rate 70%
    X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=10)
    # Train model
    clf = GaussianNB()
    clf.fit(X_train, y_train)
    # Model accuracy
    get_acc(clf, X_test, y_test)
示例#6
0
def main():
    print("Tesing the accuracy of KNN regressor...")
    # Load data
    X, y = load_boston_house_prices()
    # Split data randomly, train set rate 70%
    X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=10)
    # Train model
    reg = KNeighborsRegressor()
    reg.fit(X=X_train, y=y_train, k_neighbors=3)
    # Model accuracy
    get_r2(reg, X_test, y_test)
示例#7
0
def main():
    print("Tesing the accuracy of RandomForest...")
    # Load data
    X, y = load_breast_cancer()
    # Split data randomly, train set rate 70%
    X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=40)

    # Train model
    rf = RandomForest()
    rf.fit(X_train, y_train, n_samples=300, max_depth=3, n_estimators=20)
    # Model accuracy
    get_acc(rf, X_test, y_test)
示例#8
0
def main():
    print("Tesing the accuracy of DecisionTree...")
    # Load data
    X, y = load_breast_cancer()
    # Split data randomly, train set rate 70%
    X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=10)
    # Train model
    clf = DecisionTree()
    clf.fit(X_train, y_train, max_depth=3)
    # Show rules
    clf.rules
    # Model accuracy
    get_acc(clf, X_test, y_test)
def main():
    print("Tesing the accuracy of RegressionTree...")
    # Load data
    X, y = load_boston_house_prices()
    # Split data randomly, train set rate 70%
    X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=10)
    # Train model
    reg = RegressionTree()
    reg.fit(X=X_train, y=y_train, max_depth=5)
    # Show rules
    reg.rules
    # Model accuracy
    get_r2(reg, X_test, y_test)
示例#10
0
def main():
    print("Tesing the accuracy of GBDT regressor...")
    # Load data
    X, y = load_boston_house_prices()
    # Split data randomly, train set rate 70%
    X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=10)
    # Train model
    reg = GradientBoostingRegressor()
    reg.fit(X=X_train,
            y=y_train,
            n_estimators=4,
            lr=0.5,
            max_depth=2,
            min_samples_split=2)
    # Model accuracy
    get_r2(reg, X_test, y_test)
示例#11
0
def main():
    print("Tesing the accuracy of GBDT classifier...")
    # Load data
    X, y = load_breast_cancer()
    # Split data randomly, train set rate 70%
    X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=20)
    # Train model
    clf = GradientBoostingClassifier()
    clf.fit(X_train,
            y_train,
            n_estimators=2,
            lr=0.8,
            max_depth=3,
            min_samples_split=2)
    # Model accuracy
    get_acc(clf, X_test, y_test)
示例#12
0
def main():
    print("Tesing the accuracy of Ridge Regressor(stochastic)...")
    # Load data
    X, y = load_boston_house_prices()
    X = min_max_scale(X)
    # Split data randomly, train set rate 70%
    X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=10)
    # Train model
    reg = Ridge()
    reg.fit(X=X_train,
            y=y_train,
            lr=0.001,
            epochs=1000,
            method="stochastic",
            sample_rate=0.5,
            alpha=1e-7)
    # Model accuracy
    get_r2(reg, X_test, y_test)