# Using Neural Network for regression (in Julia)

**URL:** <https://discourse.julialang.org/t/using-neural-network-for-regression-in-julia/2410>\
**Category:** Machine Learning\
**Created:** [March 2, 2017, 7:56pm UTC](https://discourse.julialang.org/t/using-neural-network-for-regression-in-julia/2410 "2017-03-02T19:56:15Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Balinus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/balinus/32/243_2.png) [@Balinus](https://discourse.julialang.org/u/Balinus)\
**Post date:** [March 2, 2017, 7:56pm UTC](https://discourse.julialang.org/t/using-neural-network-for-regression-in-julia/2410/1 "2017-03-02T19:56:15Z")

</div>

Hello,

I’d like to use Julia for a small ML project. My dataset is about 2000 samples and 142 features.

I was hoping to use a simple Neural Network to do this task (with a ReLU neuron as the output node?). However, I just don’t know which package I should use for that! There are a lot of available package, but they seem to be aimed at complex problems/solutions.

Thanks for any suggestions and help! Bear in mind that I’m a total novice in this field. 🙂 Hence, I’m open to alternatives, but I’m looking for a fairly simple approach to begin with.

---

<div class="post-metadata">

**Author:** ![cstjean](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cstjean/32/1444_2.png) [@cstjean](https://discourse.julialang.org/u/cstjean)\
**Post date:** [March 2, 2017, 9:49pm UTC](https://discourse.julialang.org/t/using-neural-network-for-regression-in-julia/2410/2 "2017-03-02T21:49:14Z")

</div>

To my knowledge, deep learning is state-of-the-art on problems where the spatial/time structure can be exploited (via convolution/recursion), but it hasn’t made great strides elsewhere. With 2000 samples X 142 features, I would consider other classical (regularized) ML algorithms, like random forests or gaussian processes; they are much simpler to setup. Do you have a specific reason to favour deep learning?

---

<div class="post-metadata">

**Author:** ![malmaud](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/malmaud/32/29_2.png) [@malmaud](https://discourse.julialang.org/u/malmaud)\
**Post date:** [March 3, 2017, 12:42am UTC](https://discourse.julialang.org/t/using-neural-network-for-regression-in-julia/2410/3 "2017-03-03T00:42:38Z")

</div>

TensorFlow.jl works fine on simple problems. You can see a simple example of logistic regression in [its README](https://github.com/malmaud/TensorFlow.jl#logistic-regression-example).

---

<div class="post-metadata">

**Author:** ![Balinus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/balinus/32/243_2.png) [@Balinus](https://discourse.julialang.org/u/Balinus)\
**Post date:** [March 3, 2017, 1:18am UTC](https://discourse.julialang.org/t/using-neural-network-for-regression-in-julia/2410/4 "2017-03-03T01:18:29Z")

</div>

No deep reason to use deep learning. I was more looking at a simpler NN. I just thought that having so many features that a NN would be well suited for modelizing the non-linear relationships.

The use case is I want to predict the number of ticket sold at a ski stations, based on these features.

---

<div class="post-metadata">

**Author:** ![Balinus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/balinus/32/243_2.png) [@Balinus](https://discourse.julialang.org/u/Balinus)\
**Post date:** [March 3, 2017, 1:18am UTC](https://discourse.julialang.org/t/using-neural-network-for-regression-in-julia/2410/5 "2017-03-03T01:18:49Z")

</div>

Thanks, I’ll take a look at it!

However, I dont need logistic regression as far as I understand.

---

<div class="post-metadata">

**Author:** ![malmaud](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/malmaud/32/29_2.png) [@malmaud](https://discourse.julialang.org/u/malmaud)\
**Post date:** [March 3, 2017, 1:33am UTC](https://discourse.julialang.org/t/using-neural-network-for-regression-in-julia/2410/6 "2017-03-03T01:33:26Z")

</div>

Logistic regression is the simplest example of a neural network model, so I just linked to it for demonstration purposes. TensorFlow is for general deep learning.

---

<div class="post-metadata">

**Author:** ![Balinus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/balinus/32/243_2.png) [@Balinus](https://discourse.julialang.org/u/Balinus)\
**Post date:** [March 3, 2017, 1:39am UTC](https://discourse.julialang.org/t/using-neural-network-for-regression-in-julia/2410/7 "2017-03-03T01:39:19Z")

</div>

Ok! I see what you meant now. Thanks for the added details!

---

<div class="post-metadata">

**Author:** ![cstjean](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cstjean/32/1444_2.png) [@cstjean](https://discourse.julialang.org/u/cstjean)\
**Post date:** [March 3, 2017, 3:31am UTC](https://discourse.julialang.org/t/using-neural-network-for-regression-in-julia/2410/8 "2017-03-03T03:31:45Z")

</div>

> [@Balinus](#):
>
> The use case is I want to predict the number of ticket sold at a ski stations, based on these features.

I might be biased, but that sounds like a typical use case for scikit-learn-like modelling, whether directly through PyCall, or through [ScikitLearn.jl](https://github.com/cstjean/ScikitLearn.jl). See eg. the [Decision Tree example](https://github.com/cstjean/ScikitLearn.jl/blob/master/examples/Decision_Tree_Regression_Julia.ipynb) (could also use a random forest with nearly the same code), or the [Gaussian processes example](https://github.com/cstjean/ScikitLearn.jl/blob/master/examples/Gaussian_Processes_Julia.ipynb). PCA might help, too.

If you try deep learning, watch out for overfitting.

---

<div class="post-metadata">

**Author:** ![Balinus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/balinus/32/243_2.png) [@Balinus](https://discourse.julialang.org/u/Balinus)\
**Post date:** [March 3, 2017, 12:58pm UTC](https://discourse.julialang.org/t/using-neural-network-for-regression-in-julia/2410/9 "2017-03-03T12:58:55Z")

</div>

Thanks!

Somehow I forgot the existence of ScikitLearn.jl. This is looking like the package I need for this small project.

edit - Any reason why this package is not listed in JuliaML org?

---

<div class="post-metadata">

**Author:** ![cstjean](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cstjean/32/1444_2.png) [@cstjean](https://discourse.julialang.org/u/cstjean)\
**Post date:** [March 5, 2017, 2:03pm UTC](https://discourse.julialang.org/t/using-neural-network-for-regression-in-julia/2410/10 "2017-03-05T14:03:20Z")

</div>

For a list of all ML projects, [Julia.jl](https://github.com/svaksha/Julia.jl/blob/master/AI.md#machine-learning) is a good ressource.

---

<div class="post-metadata">

**Author:** ![mcreel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mcreel/32/30088_2.png) [@mcreel](https://discourse.julialang.org/u/mcreel)\
**Post date:** [March 5, 2017, 2:24pm UTC](https://discourse.julialang.org/t/using-neural-network-for-regression-in-julia/2410/11 "2017-03-05T14:24:30Z")

</div>

A regression example using MXNet.jl is here:  
[https://github.com/dmlc/MXNet.jl/blob/master/examples/regression-example.jl](https://github.com/dmlc/MXNet.jl/blob/master/examples/regression-example.jl)

---

<div class="post-metadata">

**Author:** ![Balinus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/balinus/32/243_2.png) [@Balinus](https://discourse.julialang.org/u/Balinus)\
**Post date:** [March 6, 2017, 4:01pm UTC](https://discourse.julialang.org/t/using-neural-network-for-regression-in-julia/2410/12 "2017-03-06T16:01:03Z")

</div>

Thanks for pointing that out. I’ll look at it more closely.

> [@cstjean](#):
>
> For a list of all ML projects, Julia.jl is a good ressource.

Yet, I don’t see ScikitLearn.jl there 🙂
