Skip to content
This repository was archived by the owner on Jul 20, 2025. It is now read-only.

Commit 6566f7e

Browse files
committed
Adding Pauling Eneg + reducing N_ITER_DISORDER + more Py3 compatibility
1 parent 7b3c36f commit 6566f7e

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

mpds_ml_labs/prediction.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11

22
from __future__ import division
33
import os
4-
import cPickle
54

65
import numpy as np
76

87
from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier
98
from sklearn.model_selection import train_test_split
109
from sklearn.metrics import mean_absolute_error, r2_score, confusion_matrix
1110

12-
from struct_utils import order_disordered
13-
1411

1512
prop_models = {
1613
'w': {
@@ -89,8 +86,10 @@
8986
6, 12, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 86, 92, 98, 104, 110, 117,
9087
7, 13, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 49, 53, 57, 61, 65, 69, 73, 77, 81, 87, 93, 99, 105, 111, 118]
9188

89+
electronegativities = [0, 2.2, 0, 0.98, 1.57, 2.04, 2.55, 3.04, 3.44, 3.98, 0, 0.93, 1.31, 1.61, 1.9, 2.19, 2.58, 3.16, 0, 0.82, 1, 1.36, 1.54, 1.63, 1.66, 1.55, 1.83, 1.88, 1.91, 1.9, 1.65, 1.81, 2.01, 2.18, 2.55, 2.96, 3, 0.82, 0.95, 1.22, 1.33, 1.6, 2.16, 1.9, 2.2, 2.28, 2.2, 1.93, 1.69, 1.78, 1.96, 2.05, 2.1, 2.66, 2.6, 0.79, 0.89, 1.1, 1.12, 1.13, 1.14, 1.13, 1.17, 1.2, 1.2, 1.1, 1.22, 1.23, 1.24, 1.25, 1.1, 1.27, 1.3, 1.5, 2.36, 1.9, 2.2, 2.2, 2.28, 2.54, 2, 1.62, 2.33, 2.02, 2, 2.2, 0, 0.7, 0.9, 1.1, 1.3, 1.5, 1.38, 1.36, 1.28, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 0, 0, 0, 0, 0, 0]
90+
9291
MIN_DESCRIPTOR_LEN = 100
93-
N_ITER_DISORDER = 6
92+
N_ITER_DISORDER = 4
9493

9594

9695
def get_descriptor(ase_obj, kappa=None, overreach=False):
@@ -129,6 +128,8 @@ def get_ordered_descriptor(ase_obj, kappa=None, overreach=False):
129128
if 'disordered' not in ase_obj.info:
130129
return None, "Expected disordered structure, got ordered structure"
131130

131+
from struct_utils import order_disordered
132+
132133
descriptor = None
133134
for _ in range(N_ITER_DISORDER):
134135
order_obj, error = order_disordered(ase_obj)
@@ -169,6 +170,7 @@ def get_aligned_descriptor(ase_obj, kappa=None):
169170

170171

171172
def load_ml_models(prop_model_files):
173+
import cPickle
172174
ml_models = {}
173175
for file_name in prop_model_files:
174176
if not os.path.exists(file_name):
@@ -217,6 +219,9 @@ def ase_to_prediction(ase_obj, ml_models, prop_ids=False):
217219
None *or* error (str)
218220
"""
219221
if 'disordered' in ase_obj.info:
222+
223+
from struct_utils import order_disordered
224+
220225
results, avg_results = {}, {}
221226
for _ in range(N_ITER_DISORDER):
222227
order_obj, error = order_disordered(ase_obj)

0 commit comments

Comments
 (0)