See also: Neural Network parse string data?
I do not see a problem with using MurMur3 per se.
For the categorical labels, you can use one-hot encoding / one-of-k encoding.
For the strings, it's an application-specific question. Presumably if you use exactly those strings as features, it will be very sparse. The effect of this will depend on the algorithm that you are using, and how the training data compare to the data you see in practice. You are running the risk that you will effectively either only create a traditional IP/email whitelist/blacklist OR throw out the feature altogether.
You must decide what you want (eg should a certain email address always get a certain output label?) and have some intuition about the application so as to generate more features from IP address and email address. For example, from email address you can extract the local part (eg "john1972") and domain, and from each of those you can extract:
- length
- character tri-grams
- count/proportion of numbers to alphachars
- number of hyphens
- dictionary validity
...
(From domain you can also extract TLD and possibly subdomains.)
You can try to tokenise . You can even hit external services to get information like number of Google hits, detected language, spam score etc.