Exemple #1
0
#    best = gscv.best_estimator_.fit(X, y)
#    y_pred = best.predict(X_pred)

y_pred = best.predict(X_pred)

#%%
# Applicability Domain (inside: +1, outside: -1)

from my_library import ad_knn_list

iappd = 3
if(iappd == 1):
    y_appd = ad_knn(X, X_pred)
elif(iappd == 2):
    y_appd = ad_ocsvm(X, X_pred)
else:
    y_appd = ad_knn_list(X, X_pred, 10)

data = []
for i in range(len(X_pred)):
#    temp = (f_pred[i], int(P_pred[i]), int(y_pred[i]), int(y_pred_db[i]), y_appd[i])
    temp = (f_pred[i], int(P_pred[i]), int(y_pred[i]), int(y_pred_db[i]))
    data.append(temp)

# properties=['formula','P', 'Tc(pred)', 'Tc(DB)','AD']
properties=['formula','P', 'Tc(pred)', 'Tc(DB)']
df = pd.DataFrame(data, columns=properties)
# df.sort_values('Tc', ascending=False, inplace=True)

# df.to_csv(output, index=False)
cv = ShuffleSplit(n_splits=n_splits, test_size=0.3)
cv = KFold(n_splits=n_splits, shuffle=True)
gscv = GridSearchCV(model, param_grid, cv=cv)
gscv.fit(X_train, y_train)
print_gscv_score_rgr(gscv, X_train, X_test, y_train, y_test, cv)

#%%
# Prediction
y_pred = gscv.predict(X_test)

# Applicability Domain (inside: +1, outside: -1)
iappd = 1
if (iappd == 1):
    y_appd = ad_knn(X_train, X_test)
else:
    y_appd = ad_ocsvm(X_train, X_test)

data = []
for i in range(len(X_test)):
    temp = (f_test[i], int(X_test[i][0]), int(y_pred[i]), y_appd[i])
    data.append(temp)

properties = ['formula', 'P', 'Tc', 'AD']
df = pd.DataFrame(data, columns=properties)
df.sort_values('Tc', ascending=False, inplace=True)

# df.to_csv(output, index=False)
df_in_ = df[df.AD == 1]
df_in_.to_csv(output, index=False)
print('Predicted Tc is written in file {}'.format(output))
    print(gscv.best_estimator_.fit(X_test, y_test).get_params())
    print(gscv.best_estimator_.fit(X, y).get_params())
#    {... 'n_neighbors': 1, 'p': 2, 'weights': 'uniform'}
#    {... 'n_neighbors': 1, 'p': 2, 'weights': 'uniform'}
#    {... 'n_neighbors': 1, 'p': 2, 'weights': 'uniform'}

# Re-learning with all data & best parameters -> Prediction
y_pred = gscv.best_estimator_.fit(X, y).predict(X_pred)

#%%
# Applicability Domain (inside: +1, outside: -1)
iappd = 1
if (iappd == 1):
    y_appd = ad_knn(X_train, X_pred)
else:
    y_appd = ad_ocsvm(X_train, X_pred)

data = []
for i in range(len(X_pred)):
    temp = (f_pred[i], int(P_pred[i]), int(y_pred[i]), y_appd[i])
    data.append(temp)

properties = ['formula', 'P', 'Tc', 'AD']
df = pd.DataFrame(data, columns=properties)
df.sort_values('Tc', ascending=False, inplace=True)

# df.to_csv(output, index=False)
df_in_ = df[df.AD == 1]
df_in_.to_csv(output, index=False)
print('Predicted Tc is written in file {}'.format(output))