Perhaps you should decide for making the attribute all numeric, or all nominal (also known as categorical, or all strings).
Benefits of an all numeric attribute: algorithms can determine a mathematical relationship between that attribute and any other attribute, including the target (or desired output), e.g., correlation, dependence/independence, covariance. Furthermore, if you use tree-based algorithms, nodes can define decision rules such as doors>3 or persons<2.
The benefit of having an all nominal attributes includes: algorithms can finish faster because of the limited number of things that can be done with categorical values. Cons: most algorithms do not directly support nominal attributes. Tree-based algorithms are limited in the type of decisions nodes they can produce, e.g., doors is '3' or persons is not 'more'.
Caveat: if the attribute you are dealing with is the target or desired output, having it all numeric will make weka interpret it as a regression problem, while having that attribute as nominal will automatically be interpreted as a classification problem.
If you are interested in making your attribute all numeric, you could probably replace all occurrences more
with, say, a -1
using excel.
If later down the road you need to go from all numeric to a nominal attribute, you could simply use a filter do to that. Or if you are using the java API you could check Walter's solution:
import weka.core.Instances;
import weka.filters.Filter;
import weka.filters.unsupervised.attribute.NumericToNominal;
public class Main {
public static void main(String[] args) throws Exception {
//load training instances
Instances originalTrain= //...load data with numeric attributes
NumericToNominal convert= new NumericToNominal();
String[] options= new String[2];
options[0]="-R";
options[1]="1-2"; //range of variables to make numeric
convert.setOptions(options);
convert.setInputFormat(originalTrain);
Instances newData=Filter.useFilter(originalTrain, convert);
System.out.println("Before");
for(int i=0; i<2; i=i+1) {
System.out.println("Nominal? "+originalTrain.attribute(i).isNominal());
}
System.out.println("After");
for(int i=0; i<2; i=i+1) {
System.out.println("Nominal? "+newData.attribute(i).isNominal());
}
}
}