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()
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()
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)
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)
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)
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)
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)
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)
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)
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)