# How to use data for training and tests with glm?

**URL:** <https://discourse.julialang.org/t/how-to-use-data-for-training-and-tests-with-glm/92928>\
**Category:** Machine Learning\
**Tags:** question, package\
**Created:** [January 13, 2023, 3:45pm UTC](https://discourse.julialang.org/t/how-to-use-data-for-training-and-tests-with-glm/92928 "2023-01-13T15:45:42Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![jcbritobr](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jcbritobr/32/219275_2.png) [@jcbritobr](https://discourse.julialang.org/u/jcbritobr)\
**Post date:** [January 13, 2023, 3:45pm UTC](https://discourse.julialang.org/t/how-to-use-data-for-training-and-tests-with-glm/92928/1 "2023-01-13T15:45:42Z")

</div>

Hello, good morning.  
I’m having troubles to separate and use my data for training and tests with glm. Once I have tests and training data, I had fit my model with train data, but can’t understand how to predic with my test data. Below an example:

```julia
model = fit(LinearModel, @formula(y ~ x), train)
predict(LinearModel, [xtest ytest]) # ???

```

---

<div class="post-metadata">

**Author:** ![jcbritobr](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jcbritobr/32/219275_2.png) [@jcbritobr](https://discourse.julialang.org/u/jcbritobr)\
**Post date:** [January 13, 2023, 4:40pm UTC](https://discourse.julialang.org/t/how-to-use-data-for-training-and-tests-with-glm/92928/2 "2023-01-13T16:40:46Z")

</div>

I works using an AbstractTable, but, Is there a way to use only the x test values? I can do this by hand, but I think glm can do it also.

---

<div class="post-metadata">

**Author:** ![palday](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palday/32/12640_2.png) [@palday](https://discourse.julialang.org/u/palday)\
**Post date:** [January 13, 2023, 4:42pm UTC](https://discourse.julialang.org/t/how-to-use-data-for-training-and-tests-with-glm/92928/3 "2023-01-13T16:42:14Z")

</div>

```julia
ypredicted = predict(model, xtest)
# see how you did
norm(ytest - ypredicted) # from LinearAlgebra

```

---

<div class="post-metadata">

**Author:** ![jcbritobr](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jcbritobr/32/219275_2.png) [@jcbritobr](https://discourse.julialang.org/u/jcbritobr)\
**Post date:** [January 13, 2023, 4:59pm UTC](https://discourse.julialang.org/t/how-to-use-data-for-training-and-tests-with-glm/92928/4 "2023-01-13T16:59:58Z")

</div>

How I cant convert xdata from a vector to data type in xtest?  
Edit - Got it here. Needs to be a DataFrame

```julia
 DataFrame(x=test.x)

```

---

<div class="post-metadata">

**Author:** ![palday](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palday/32/12640_2.png) [@palday](https://discourse.julialang.org/u/palday)\
**Post date:** [January 13, 2023, 5:04pm UTC](https://discourse.julialang.org/t/how-to-use-data-for-training-and-tests-with-glm/92928/5 "2023-01-13T17:04:36Z")

</div>

There’s a method for predicting from a matrix, so just convert xtest to a matrix, even it’s a matrix with just a single column.

```julia
reshape(xtest, :, 1) # all rows, 1 column

```

---

<div class="post-metadata">

**Author:** ![jcbritobr](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jcbritobr/32/219275_2.png) [@jcbritobr](https://discourse.julialang.org/u/jcbritobr)\
**Post date:** [January 13, 2023, 5:07pm UTC](https://discourse.julialang.org/t/how-to-use-data-for-training-and-tests-with-glm/92928/6 "2023-01-13T17:07:07Z")

</div>

Nice… it needs a table format.
