def LR(X_train, y_train, X_val, y_val): linear_model = xl.LRModel(task='binary', epoch=100, lr=0.005, reg_lambda=1.0, opt='adagrad', nthread=8, metric='auc') linear_model.fit(X_train, y_train, eval_set=[X_val, y_val]) y_pred = linear_model.predict(X_val) return y_pred
def __init__(self): self.xgb_model = xgb.XGBClassifier(max_depth=5, learning_rate=0.01, subsample=0.9, colsample_bylevel=0.5, verbosity=2) self.lr_model = xl.LRModel(task='binary', init=0.1, epoch=100, lr=0.01, reg_lambda=0.1, opt='sgd', stop_window=4)
""" Use sklearn api """ import xlearn as xl from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.metrics import roc_auc_score, accuracy_score data = load_iris() X = data["data"] y = data["target"] == 2 if __name__ == '__main__': X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0) lr = xl.LRModel(task="binary", init=0.1, epoch=10, lr=0.1, reg_lambda=1.0, opt="sgd") lr.fit(X_train, y_train, eval_set=[X_test, y_test], is_lock_free=False) y_score = lr.predict(X_test) y_pred = y_score >= 0.5 auc = roc_auc_score(y_test, y_score) acc = accuracy_score(y_test, y_pred) print(f"Auc.: {auc}, Acc.: {acc}")
# Load dataset iris_data = load_iris() X = iris_data['data'] y = (iris_data['target'] == 2) X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.3, random_state=0) # param: # 0. binary classification # 1. model scale: 0.1 # 2. epoch number: 10 (auto early-stop) # 3. learning rate: 0.1 # 4. regular lambda: 1.0 # 5. use sgd optimization method linear_model = xl.LRModel(task='binary', init=0.1, epoch=10, lr=0.1, reg_lambda=1.0, opt='sgd') # Start to train linear_model.fit(X_train, y_train, eval_set=[X_val, y_val], is_lock_free=False) # Generate predictions y_pred = linear_model.predict(X_val)
import xlearn as xl import pandas as pd df = pd.read_csv('test/support/data.txt', sep=' ', names=['y', 'x0', 'x1', 'x2', 'x3']) X = df.drop(columns=['y']) y = df['y'] model = xl.LRModel(task='reg', nthread=1, opt='adagrad') model.fit(X, y) print('predict', model.predict(X)[0:6].tolist()) model = xl.LRModel(task='reg', nthread=1, opt='adagrad') model.fit('test/support/data.txt') print('predict txt', model.predict('test/support/data.txt')[0:6].tolist()) model = xl.LRModel(task='reg', nthread=1, opt='adagrad') model.fit('test/support/data.csv') print('predict csv', model.predict('test/support/data.csv')[0:6].tolist())
import xlearn as xl model = xl.LRModel(task="reg") model.fit("test/data/boston/boston.csv") print(model.predict("test/data/boston/boston.csv")[:5])