def kde_opt1(df_cell_train_feats, y_train, df_cell_test_feats):
def prepare_feats(df):
df_new = pd.DataFrame()
df_new["hour"] = (1 + df["hour"]) * 3.92105
df_new["weekday"] = (1 + df["weekday"]) * 4.28947
df_new["accuracy"] = df["accuracy"].apply(lambda x: np.log10(x)) * 9.44736
df_new["x"] = df["x"] * 424.489
df_new["y"] = df["y"] * 959.183
return df_new
logging.info("train kde_opt1 model")
df_cell_train_feats_kde = prepare_feats(df_cell_train_feats)
df_cell_test_feats_kde = prepare_feats(df_cell_test_feats)
n_class = len(np.unique(y_train))
y_test_pred = np.zeros((len(df_cell_test_feats_kde), n_class), "d")
Xte = df_cell_test_feats_kde.values
for i in range(n_class):
X = df_cell_train_feats_kde[y_train == i].values
cstd = np.std(np.sum(np.abs(X), axis=1))
gridcv = GridSearchCV(KernelDensity(kernel='gaussian', metric='manhattan'), {'bandwidth': cstd * np.logspace(-1, 1, 10)}, cv=5)
gridcv.fit(X)
y_test_pred[:, i] += np.exp(gridcv.best_estimator_.score_samples(Xte))
return y_test_pred
model.py 文件源码
python
阅读 26
收藏 0
点赞 0
评论 0
评论列表
文章目录