如何用车把代替EJS做到这一点?

时间:2019-12-29 04:20:00

标签: javascript express handlebars.js ejs templating

我正在尝试写Hahn的书《行动中的表现》,以便我能更好地澄清事情;但是,我想使用把手代替本书使用的EJS。我是他走过做留言簿的那一部分。我认为我应该能够将EJS转换为把手。现在,here是我要在把手中执行的.ejs文件。但是,作为此模板:

def ML_RandomF(X, y, random_state, n_folds, oneHot_ftrs, 
               num_ftrs, ordinal_ftrs, ordinal_cats, beta, test_size, score_type):

    scoring = {'roc_auc_score': make_scorer(roc_auc_score), 
               'f_beta': make_scorer(fbeta_score, beta=beta, average='weighted'), 
               'accuracy': make_scorer(accuracy_score)}

    X_other, X_test, y_other, y_test = train_test_split(X, y, test_size=test_size, random_state = random_state)
    kf = StratifiedKFold(n_splits=n_folds,shuffle=True,random_state=random_state)  

    reg = RandomForestClassifier(random_state=random_state, n_estimators=100, class_weight="balanced")
    sme = SMOTEENN(random_state=random_state)

    model = Pipeline([
        ('sampling', sme),
        ('classification', reg)])

    # ordinal encoder
    ordinal_transformer = Pipeline(steps=[
        ('ordinal', OrdinalEncoder(categories = ordinal_cats))])

    # oneHot encoder
    onehot_transformer = Pipeline(steps=[
        ('ordinal', OneHotEncoder(sparse=False, handle_unknown='ignore'))])

    # standard scaler
    numeric_transformer = Pipeline(steps=[
        ('scaler', StandardScaler())])

    preprocessor_X = ColumnTransformer(
        transformers=[
            ('num', numeric_transformer, num_ftrs),
            ('oneH', onehot_transformer, oneHot_ftrs),
            ('ordinal', ordinal_transformer, ordinal_ftrs)])

    pipe = Pipeline(steps=[('preprocessor_X', preprocessor_X), ('model', model)])

    param_grid = {'randomforestclassifier__max_depth': [3,5,7,10], 
                  'randomforestclassifier__min_samples_split': [10,25,40]}
    grid = GridSearchCV(pipe,param_grid=param_grid,
                        scoring=scoring,cv=kf, refit=score_type,
                        return_train_score=True,iid=True, verbose=2, n_jobs=-1)

    grid.fit(X_other, y_other)
    return grid, grid.score(X_test, y_test)

里面有实际的JS代码,我在HBS中无法真正拥有它,如何将这个项目转换为Handlebars?项目的根是here

到目前为止,我为Handlebars准备的app.js文件是:

<% include header %>
<% if (entries.length) { %>
  <% entries.forEach(function(entry) { %>
    <div class="panel panel-default">
      <div class="panel-heading">
        <div class="text-muted pull-right">
          <%= entry.published %>
        </div>
        <%= entry.title %>
      </div>
      <div class="panel-body">
        <%= entry.body %>
      </div>
    </div>
  <% }) %>
<% } else { %>   No entries! <a href="/new-entry">Add one!</a>
<% } %>
<% include footer %>

0 个答案:

没有答案