2017-10-05 4 views
0

J'essaie d'extraire un attribut d'un ExampleSet dans un RapidMiner « Exécuter le script » comme ceci:SimpleAttribute au lieu de l'attribut dans le script Rapidminer?

ExampleSet exSet = input[0]; 
Attributes attrs = exSet.getAttributes(); 
Attribute attr = attrs.getAttribute("h_area"); 

mais je reçois une erreur et il est dit que attrs est pas un attributs, mais un objet SimpleAttributes.

Cela fonctionne:

Attribute[] attrs2 = exSet.createRegularAttributeArray(); 
Attribute attr2 = attrs2.getAt(1); 

Quelle est la bonne façon d'obtenir un attribut d'un ExampleSet?

Répondre

2

De these docs, il semble que l'appel getAttributes() renverra un objet qui implémente la Attributes classe abstraite, ce qui est SimpleAttributes, il semble assez juste à ce stade. Cependant, la méthode getAttribute() ne semble pas être définie dans l'un ou l'autre objet. Je ne peux pas tester cela ici et maintenant, mais avez-vous essayé ce qui suit:

ExampleSet exSet = input[0]; 
Attributes attrs = exSet.getAttributes(); 
Attribute attr = attrs.get("h_area"); 
+0

Oui, le .get ("AttributeName") devrait faire l'affaire. N'hésitez pas à poser d'autres questions ou à les poser à nouveau sur le forum de la communauté RapidMiner (http://community.rapidminer.com/). – David

+0

Oui ça marche! Je viens de me confondre avec les nombreuses classes avec des noms similaires. – Johan