MCPcopy Create free account
hub / github.com/SeldonIO/seldon-server / fit

Method fit

python/seldon/vw.py:253–297  ·  view source on GitHub ↗

Convert data to vw lines and then train for required iterations Parameters ---------- X : pandas dataframe or array-like training samples y : array like, required for array-like X and not used presently for pandas dataframe class lab

(self,X,y=None)

Source from the content-addressed store, hash-verified

251
252
253 def fit(self,X,y=None):
254 """Convert data to vw lines and then train for required iterations
255
256 Parameters
257 ----------
258
259 X : pandas dataframe or array-like
260 training samples
261 y : array like, required for array-like X and not used presently for pandas dataframe
262 class labels
263
264 Returns
265 -------
266 self: object
267
268 Caveats :
269 1. A seldon specific fork of wabbit_wappa is needed to allow vw to run in server mode without save_resume. Save_resume seems to cause issues with the scores returned. Maybe connected to https://github.com/JohnLangford/vowpal_wabbit/issues/262
270 """
271 if isinstance(X,pd.DataFrame):
272 df = X
273 df_base = self._exclude_include_features(df)
274 df_base = df_base.fillna(0)
275 else:
276 check_X_y(X,y)
277 df = pd.DataFrame(X)
278 df_y = pd.DataFrame(y,columns=list('y'))
279 self.target='y'
280 df_base = pd.concat([df,df_y],axis=1)
281
282 min_target = df_base[self.target].astype(float).min()
283 if min_target == 0:
284 self.zero_based = True
285 else:
286 self.zero_based = False
287 if not self.target_readable is None:
288 self.create_class_id_map(df,self.target,self.target_readable,zero_based=self.zero_based)
289
290 self.num_classes = len(df_base[self.target].unique())
291 self._start_vw_if_needed("train")
292 df_vw = df_base.apply(self._convert_row,axis=1)
293 for i in range(0,self.num_iterations):
294 for (index,val) in df_vw.iteritems():
295 self.vw.send_line(val,parse_result=False)
296 self._save_model(self.model_file)
297 return self
298
299 def _start_vw_if_needed(self,mode):
300 if self.vw is None or self.vw_mode != mode:

Callers 15

test_create_featuresMethod · 0.95
test_predictionsMethod · 0.95
test_dict_featureMethod · 0.95
test_list_featureMethod · 0.95
test_vw_argsMethod · 0.95
test_numpy_inputMethod · 0.95
auto_transform.pyFile · 0.45
sklearn_scaler.pyFile · 0.45

Calls 5

_start_vw_if_neededMethod · 0.95
_save_modelMethod · 0.95
create_class_id_mapMethod · 0.80
applyMethod · 0.45

Tested by 9

test_create_featuresMethod · 0.76
test_predictionsMethod · 0.76
test_dict_featureMethod · 0.76
test_list_featureMethod · 0.76
test_vw_argsMethod · 0.76
test_numpy_inputMethod · 0.76