33import logging
44import os
55import six
6- import sys
76
87import arff
98
@@ -26,9 +25,9 @@ class OpenMLDataset(object):
2625
2726 Parameters
2827 ----------
29- name : string
28+ name : str
3029 Name of the dataset
31- description : string
30+ description : str
3231 Description of the dataset
3332 FIXME : which of these do we actually nee?
3433 """
@@ -82,7 +81,7 @@ def __init__(self, dataset_id=None, name=None, version=None, description=None,
8281 feature = OpenMLDataFeature (int (xmlfeature ['oml:index' ]),
8382 xmlfeature ['oml:name' ],
8483 xmlfeature ['oml:data_type' ],
85- None , # todo add nominal values (currently not in database)
84+ None , # todo add nominal values (currently not in database)
8685 int (xmlfeature .get ('oml:number_of_missing_values' , 0 )))
8786 if idx != feature .index :
8887 raise ValueError ('Data features not provided in right order' )
@@ -124,6 +123,28 @@ def __init__(self, dataset_id=None, name=None, version=None, description=None,
124123 logger .debug ("Saved dataset %d: %s to file %s" %
125124 (self .dataset_id , self .name , self .data_pickle_file ))
126125
126+ def push_tag (self , tag ):
127+ """Annotates this data set with a tag on the server.
128+
129+ Parameters
130+ ----------
131+ tag : str
132+ Tag to attach to the dataset.
133+ """
134+ data = {'data_id' : self .dataset_id , 'tag' : tag }
135+ _perform_api_call ("/data/tag" , data = data )
136+
137+ def remove_tag (self , tag ):
138+ """Removes a tag from this dataset on the server.
139+
140+ Parameters
141+ ----------
142+ tag : str
143+ Tag to attach to the dataset.
144+ """
145+ data = {'data_id' : self .dataset_id , 'tag' : tag }
146+ _perform_api_call ("/data/untag" , data = data )
147+
127148 def __eq__ (self , other ):
128149 if type (other ) != OpenMLDataset :
129150 return False
@@ -310,7 +331,6 @@ def retrieve_class_labels(self, target_name='class'):
310331 else :
311332 return None
312333
313-
314334 def get_features_by_type (self , data_type , exclude = None ,
315335 exclude_ignore_attributes = True ,
316336 exclude_row_id_attribute = True ):
@@ -372,11 +392,7 @@ def publish(self):
372392
373393 Returns
374394 -------
375- return_code : int
376- Return code from server
377-
378- return_value : string
379- xml return from server
395+ self
380396 """
381397
382398 file_elements = {'description' : self ._to_xml ()}
@@ -396,7 +412,7 @@ def _to_xml(self):
396412
397413 Returns
398414 -------
399- xml_dataset : string
415+ xml_dataset : str
400416 XML description of the data.
401417 """
402418 xml_dataset = ('<oml:data_set_description '
0 commit comments