def product_model(): d = data.ClassificationData(target=True, n_samples=1000, n_features=100) est = step.Construct('sklearn.ensemble.RandomForestClassifier', n_estimators=10, name='estimator') m1 = model.FitPredict(inputs=[est, d], target=True, name='m1') m2 = model.FitPredict(inputs=[est, d], target=True, name='m2') p = model.PredictProduct(inputs=[m1,m2], target=True, inputs_mapping=['m1', 'm2'], name='p') return p
def calibration(): steps = [] for n_estimators, k_folds in product(range(50,300,100), [2,5]): d = data.ClassificationData(target=True, n_samples=1000, n_features=100) est = step.Construct('sklearn.ensemble.RandomForestClassifier', n_estimators=n_estimators, name='estimator') fit = model.Fit(inputs=[est, d], return_estimator=True, target=True, name='uncalibrated') predict = model.Predict(inputs=[fit,d], target=True, name='y') cal = step.Construct('sklearn.calibration.CalibratedClassifierCV', cv=k_folds, inputs=[predict], inputs_mapping={'y':None}, name='calibrator') cal_est = model.FitPredict(inputs=[cal, d], target=True, name='calibrated') metrics = model.PrintMetrics([ {'metric':'baseline'}, {'metric':'precision', 'k':100}, {'metric':'precision', 'k':200}, {'metric':'precision', 'k':300}, ], inputs=[cal_est]) steps.append(metrics) return steps
def calibration(): steps = [] for n_estimators, k_folds in product(range(50, 300, 100), [2, 5]): d = data.ClassificationData(n_samples=1000, n_features=100) d.target = True est = step.Call(ensemble, 'RandomForestClassifier', n_estimators=n_estimators) fit = model.Fit(inputs=[est, d], return_estimator=True) fit.target = True predict = model.Predict(inputs=[fit, d]) predict.target = True cal = step.Call('sklearn.calibration.CalibratedClassifierCV', cv=k_folds, inputs=[MapResults([predict], {'y': None})]) cal_est = model.FitPredict(inputs=[cal, d]) cal_est.target = True steps.append(cal_est) return steps
def product_model(): d = data.ClassificationData(n_samples=1000, n_features=100) d.target = True est = step.Call(ensemble, 'RandomForestClassifier', n_estimators=10) est.name = 'estimator' m1 = model.FitPredict(inputs=[est, d]) m1.target = True m1.name = 'm1' m2 = model.FitPredict(inputs=[est, d]) m2.target = True m2.name = 'm2' p = model.PredictProduct(inputs=[MapResults([m1, m2], ['m1', 'm2'])]) p.target = True p.name = 'p' return p
def product_model(): d = data.ClassificationData(n_samples=1000, n_features=100) d.target = True est = step.Construct(_class='sklearn.ensemble.RandomForestClassifier', n_estimators=10) est.name = 'estimator' m1 = model.FitPredict(inputs=[est, d]) m1.target = True m1.name = 'm1' m2 = model.FitPredict(inputs=[est, d]) m2.target = True m2.name = 'm2' p = model.PredictProduct(inputs=[m1,m2], inputs_mapping=['m1', 'm2']) p.target = True p.name = 'p' return p
def models(estimators, transform_search): steps = [] for transform_args, estimator in product(dict_product(transform_search), estimators): transform = lead.model.transform.LeadTransform(month=1, day=25, name='transform', **transform_args) y = model.FitPredict(inputs=[estimator, transform], name='y', target=True) steps.append(y) return steps