Can you use machine learning for binary data?

I am totally new to artificial intelligence and neural networks and have a broad question that I hope is appropriate to ask here.

I am an ecologist working in animal movement and I want to use AI to apply to my field. This will be one of the few times this has been attempted so there is not much literature to help me here.

My dataset is binary. In short I have presence(1) and absence(0) of animal locations that are associated with a series of covariates (~20 environmental conditions such as temperature etc.). I have ~1 million rows of data to train the model on with a ratio of 1:100 (presence:absence).

Once trained, I would like a model that can predict if an animal will be in a location (or give a probability) based on new covariates (environmental conditions).

Is this sort of thing possible using AI?

If so where should I be looking for resources. I write in 'R', should I learn 'Python'?

Any input is much appreciated here!

• What mathematical training or expertise do you have? – Basile Starynkevitch Dec 23 '20 at 20:44
• Not a large amount, but I can learn. I have basic understanding of models I am used to (GLM's, GAM,s) but not much beyond that. Is a lot of experience crucial for this? – mb5572 Dec 23 '20 at 20:55
• binary data looks like predicate calculus or set theory... Maybe you might be interested in RefPerSys... If yes, send me an email to basile@starynkevitch.net – Basile Starynkevitch Dec 23 '20 at 21:00
• Potentially, even a simple method such as logistic regression will do. You could maybe try applying it at least as a baseline method. – Daniel B. Dec 25 '20 at 19:20

1 Answer

Of course you can use AI (specially Deep Learning) in your application. your covariates will be the input to your AI model and the model should predict probability of presence. The model has no problem with binary data and binary data is common in this field.

Also note that 1:100 ratio is not good and the network will probably learn to output absence for any input (this way it gets 99% accuracy but really it's not doing anything). So you should probably balance them (using almost same data, or telling network to pay more attention to presence data (by weighting the related loss)).

I think nowdays you can find Deep Learning in any popular coding language. But most of DL community use python and its really easy to learn.

If you want to learn Deep Learning there are a lot of sources on internet. But I suggest you the Deep Learning courses of Deeplearning.ai in coursera (If you have a lot of time) and CS231n of Stanford university on youtube (If you have time)