Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def _get_cursor(self):
projection = make_tuple(self.columns)
projection += make_tuple(self._get_frame_index())
if not self.sort_order:
# implicit sort
projection += make_tuple(self._get_frame_om_fields())
cursor = self.collection.find(projection=projection)
if self.sort_order:
cursor.sort(qops.make_sortkey(make_tuple(self.sort_order)))
if self.head_limit:
cursor.limit(self.head_limit)
if self.skip_topn:
cursor.skip(self.skip_topn)
return cursor
def _get_cursor(self):
projection = make_tuple(self.columns)
projection += make_tuple(self._get_frame_index())
if not self.sort_order:
# implicit sort
projection += make_tuple(self._get_frame_om_fields())
cursor = self.collection.find(projection=projection)
if self.sort_order:
cursor.sort(qops.make_sortkey(make_tuple(self.sort_order)))
if self.head_limit:
cursor.limit(self.head_limit)
if self.skip_topn:
cursor.skip(self.skip_topn)
return cursor
def model(self):
om = get_omega(self.args)
name = self.args.get('')
action = self.args.get('')
async = self.args.get('--async')
kwargs_lst = self.args.get('--param')
output = self.args.get('--result')
X = self._ensure_valid_XY(self.args.get(''))
Y = self._ensure_valid_XY(self.args.get(''))
# parse the list of kw=value values
# e.g. key1=val1 key2=val2 => kwargs_lst = ['key1=val1', 'key2=val2']
# => kw_dct = { 'key1': eval('val1'), 'key2': eval('val2') }
kv_dct = {}
for kv in kwargs_lst:
k, v = kv.split('=', 1)
kv_dct[k] = eval(v)
kwargs = {}
if action in ('predict', 'predict_proba',
def _get_cursor(self):
projection = make_tuple(self.columns)
projection += make_tuple(self._get_frame_index())
if not self.sort_order:
# implicit sort
projection += make_tuple(self._get_frame_om_fields())
cursor = self.collection.find(projection=projection)
if self.sort_order:
cursor.sort(qops.make_sortkey(make_tuple(self.sort_order)))
if self.head_limit:
cursor.limit(self.head_limit)
if self.skip_topn:
cursor.skip(self.skip_topn)
return cursor
text = text.replace(',hour,', ' hour,')
text = text.replace('day hour,', 'day,hour ')
text = text.replace('hours,', 'hours ')
text = text.replace('hour,', 'hour ')
text = text.replace('working,day', 'working day')
text = text.replace('week,day', 'week day')
text = text.replace(',minutes', ' minutes')
text = text.replace(',minute', ' minute')
text = text.replace(',day', ' day')
text = text.replace(',end', ' end')
text = text.replace(',month,', ' month,')
# get parts separated by comma
parts = [part.strip() for part in text.split(',') if part]
try:
specs = self._parse_parts(parts)
sched = JobSchedule(**specs)
except:
raise ValueError(f'Cannot parse {orig_text}, read as {parts}')
return sched
def _apply_mixins(self):
"""
apply mixins in defaults.OMEGA_MDF_APPLY_MIXINS
"""
from omegaml import settings
defaults = settings()
for mixin, applyto in defaults.OMEGA_MDF_APPLY_MIXINS:
if any(v in self.caller._applyto for v in applyto.split(',')):
extend_instance(self, mixin)
def _apply_mixins(self, *args, **kwargs):
"""
apply mixins in defaults.OMEGA_MDF_MIXINS
"""
from omegaml import settings
defaults = settings()
for mixin, applyto in defaults.OMEGA_MDF_MIXINS:
if any(v in self._applyto for v in applyto.split(',')):
extend_instance(self, mixin, *args, **kwargs)
def partial_fit(
self, modelname, Xname, Yname=None, pure_python=True, **kwargs):
model = self.model_store.get(modelname)
X, metaX = self.data_store.get(Xname), self.data_store.metadata(Xname)
Y, metaY = None, None
if Yname:
Y, metaY = (self.data_store.get(Yname),
self.data_store.metadata(Yname))
model.partial_fit(reshaped(X), reshaped(Y), **kwargs)
# store information required for retraining
model_attrs = {
'metaX': metaX.to_mongo(),
'metaY': metaY.to_mongo() if metaY is not None else None,
}
try:
import sklearn
model_attrs['scikit-learn'] = sklearn.__version__
except:
model_attrs['scikit-learn'] = 'unknown'
meta = self.model_store.put(model, modelname, attributes=model_attrs)
return meta
def fit(self, modelname, Xname, Yname=None, pure_python=True, **kwargs):
model = self.model_store.get(modelname)
X, metaX = self.data_store.get(Xname), self.data_store.metadata(Xname)
Y, metaY = None, None
if Yname:
Y, metaY = (self.data_store.get(Yname),
self.data_store.metadata(Yname))
model.fit(reshaped(X), reshaped(Y), **kwargs)
# store information required for retraining
model_attrs = {
'metaX': metaX.to_mongo(),
'metaY': metaY.to_mongo() if metaY is not None else None,
}
try:
import sklearn
model_attrs['scikit-learn'] = sklearn.__version__
except:
model_attrs['scikit-learn'] = 'unknown'
meta = self.model_store.put(model, modelname, attributes=model_attrs)
return meta
def append(self, other):
if isinstance(other, Collection):
right = MDataFrame(other)
assert isinstance(
other, MDataFrame), "both must be MDataFrames, got other={}".format(type(other))
outname = self.collection.name
mrout = {
'merge': outname,
'nonAtomic': True,
}
mapfn = Code("""
function() {
this._id = ObjectId();
if(this['_om#rowid']) {
this['_om#rowid'] += %s;
}
emit(this._id, this);
}
""" % len(self))