Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if __name__ == "__main__":
argparser = ArgumentParser()
argparser.add_argument("--n-estimators", type=int, default=(1 + BLK * 100))
argparser.add_argument("--lr", type=float, default=0.03)
argparser.add_argument("--minibatch-frac", type=float, default=0.1)
argparser.add_argument("--natural", action="store_true")
args = argparser.parse_args()
x_tr, y_tr, _ = gen_data(n=100)
poly_transform = PolynomialFeatures(1)
x_tr = poly_transform.fit_transform(x_tr)
ngb = NGBoost(
Base=default_tree_learner,
Dist=Normal,
Score=MLE,
n_estimators=args.n_estimators,
learning_rate=args.lr,
natural_gradient=args.natural,
minibatch_frac=args.minibatch_frac,
verbose=True,
)
blk = int(args.n_estimators / 100)
ngb.fit(x_tr, y_tr)
x_te, y_te, _ = gen_data(n=1000, bound=1.3)
x_te = poly_transform.transform(x_te)
preds = ngb.pred_dist(x_te)
if __name__ == "__main__":
argparser = ArgumentParser()
argparser.add_argument("--n-estimators", type=int, default=301)
argparser.add_argument("--lr", type=float, default=0.03)
argparser.add_argument("--minibatch-frac", type=float, default=0.1)
argparser.add_argument("--natural", action="store_true")
args = argparser.parse_args()
x_tr, y_tr, _ = gen_data(n=50)
poly_transform = PolynomialFeatures(1)
x_tr = poly_transform.fit_transform(x_tr)
ngb = NGBoost(
Base=default_tree_learner,
Dist=Normal,
Score=MLE,
n_estimators=args.n_estimators,
learning_rate=args.lr,
natural_gradient=args.natural,
minibatch_frac=args.minibatch_frac,
verbose=True,
)
ngb.fit(x_tr, y_tr)
x_te, y_te, _ = gen_data(n=1000, bound=1.3)
x_te = poly_transform.transform(x_te)
preds = ngb.pred_dist(x_te)
pctles, obs, _, _ = calibration_regression(preds, y_te)
def __init__(
self,
Dist=LogNormal,
Score=LogScore,
Base=default_tree_learner,
natural_gradient=True,
n_estimators=500,
learning_rate=0.01,
minibatch_frac=1.0,
col_sample=1.0,
verbose=True,
verbose_eval=100,
tol=1e-4,
random_state=None,
):
assert issubclass(
Dist, RegressionDistn
), f"{Dist.__name__} is not useable for regression."
if not hasattr(Dist, "censored_scores"):
raise ValueError(
"energy": lambda: pd.read_excel(
"https://archive.ics.uci.edu/ml/machine-learning-databases/00242/ENB2012_data.xlsx"
).iloc[:, :-1],
"protein": lambda: pd.read_csv("data/uci/protein.csv")[
["F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "RMSD"]
],
"yacht": lambda: pd.read_csv(
"http://archive.ics.uci.edu/ml/machine-learning-databases/00243/yacht_hydrodynamics.data",
header=None,
delim_whitespace=True,
),
"msd": lambda: pd.read_csv("data/uci/YearPredictionMSD.txt").iloc[:, ::-1],
}
base_name_to_learner = {
"tree": default_tree_learner,
"linear": default_linear_learner,
}
if __name__ == "__main__":
argparser = ArgumentParser()
argparser.add_argument("--dataset", type=str, default="concrete")
argparser.add_argument("--reps", type=int, default=5)
argparser.add_argument("--n-est", type=int, default=2000)
argparser.add_argument("--n-splits", type=int, default=20)
argparser.add_argument("--distn", type=str, default="Normal")
argparser.add_argument("--lr", type=float, default=0.01)
argparser.add_argument("--natural", action="store_true")
argparser.add_argument("--score", type=str, default="MLE")
argparser.add_argument("--base", type=str, default="tree")
from sklearn.preprocessing import OneHotEncoder
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import PolynomialFeatures
from dfply import *
from ngboost.distns import LogNormal, Exponential, MultivariateNormal
from ngboost.api import NGBSurvival
from ngboost.scores import MLE, CRPS
from ngboost.learners import default_tree_learner, default_linear_learner
from ngboost.evaluation import *
from sksurv.ensemble import GradientBoostingSurvivalAnalysis as GBSA
from sksurv.metrics import concordance_index_censored
np.random.seed(1)
base_name_to_learner = {
"tree": default_tree_learner,
"linear": default_linear_learner,
}
def Y_join(T, E):
col_event = "Event"
col_time = "Time"
y = np.empty(dtype=[(col_event, np.bool), (col_time, np.float64)], shape=T.shape[0])
y[col_event] = E.values
y[col_time] = T.values
return y
if __name__ == "__main__":
argparser = ArgumentParser()
np.random.seed(123)
dataset_name_to_loader = {
"housing": lambda: pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/housing/housing.data', header=None, delim_whitespace=True),
"concrete": lambda: pd.read_excel("https://archive.ics.uci.edu/ml/machine-learning-databases/concrete/compressive/Concrete_Data.xls"),
"wine": lambda: pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-red.csv', delimiter=";"),
"kin8nm": lambda: pd.read_csv("data/uci/kin8nm.csv"),
"naval": lambda: pd.read_csv("data/uci/naval-propulsion.txt", delim_whitespace=True, header=None).iloc[:,:-1],
"power": lambda: pd.read_excel("data/uci/power-plant.xlsx"),
"energy": lambda: pd.read_excel("https://archive.ics.uci.edu/ml/machine-learning-databases/00242/ENB2012_data.xlsx").iloc[:,:-1],
"protein": lambda: pd.read_csv("data/uci/protein.csv")[['F1', 'F2', 'F3', 'F4', 'F5', 'F6', 'F7', 'F8', 'F9', 'RMSD']],
"yacht": lambda: pd.read_csv("http://archive.ics.uci.edu/ml/machine-learning-databases/00243/yacht_hydrodynamics.data", header=None, delim_whitespace=True),
}
base_name_to_learner = {
"tree": default_tree_learner,
"linear": default_linear_learner,
}
score_name_to_score = {
"MLE": MLE,
"CRPS": CRPS,
}
class RegressionLogger(object):
def __init__(self, args):
self.args = args
self.verbose = args.verbose
self.r2s = []
self.mses = []
self.nlls = []
def __init__(self, Dist=Normal, Score=LogScore,
Base=default_tree_learner, gradient='natural',
n_estimators=500, learning_rate=0.01, minibatch_frac=1.0,
verbose=True, verbose_eval=100, tol=1e-4,
random_state=None):
self.Dist = Dist
self.Score = Score
self.Base = Base
self.Manifold = manifold(Score, Dist)
self.gradient = gradient
self.n_estimators = n_estimators
self.learning_rate = learning_rate
self.minibatch_frac = minibatch_frac
self.verbose = verbose
self.verbose_eval = verbose_eval
self.init_params = None
self.base_models = []
self.scalings = []