'clf__penalty': ['l2'],
    'clf__tol': uniform(0.0001, 0.01),
    'clf__verbose': [0],
}

param_grid.update(text_grid)

cv_kwargs = dict(n_iter=30,
                 scoring=None,
                 fit_params=None,
                 n_jobs=4,
                 iid=True,
                 refit=True,
                 cv=None,
                 verbose=3,
                 pre_dispatch='2*n_jobs',
                 error_score=0)

if __name__ == "__main__":
    for level, (X, y), n_classes_ in iterate_heirarchy():
        gridsearch = CustomGridSearch(pipeline,
                                      param_grid,
                                      n_classes_,
                                      random=True,
                                      **cv_kwargs)
        gridsearch \
            .set_data(X, y) \
            .fit() \
            .generate_report(name="LinearSVC", level=level, notes="") \
            .write_to_mongo()
}

param_grid.update(text_grid)

cv_kwargs = dict(
    n_iter=50,
    scoring=None,
    fit_params=None,
    n_jobs=4,
    iid=True,
    refit=True,
    cv=None,
    verbose=3,
    pre_dispatch='2*n_jobs',
    error_score=0
)

if __name__ == "__main__":

    print(param_grid)

    for level, (X, y), n_classes_ in iterate_heirarchy():
        gridsearch = CustomGridSearch(pipeline, param_grid, n_classes_, random=True, **cv_kwargs)
        gridsearch.set_data(X, y)\
            .fit()\
            .generate_report(
                name="LogisticRegression_LDA_NORM",
                level=level,
                notes="added 1300 + topics")\
            .write_to_mongo()