Skip to content

Commit ddad829

Browse files
committed
add module for LinearRegression
1 parent 7c3e090 commit ddad829

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

lib/learn_kit/regression/linear.ex

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
defmodule LearnKit.Regression.Linear do
2+
@moduledoc """
3+
Module for Linear Regression algorithm
4+
"""
5+
6+
defstruct factors: [], results: []
7+
8+
alias LearnKit.Regression.Linear
9+
10+
@type factors :: [number]
11+
@type results :: [number]
12+
13+
@doc """
14+
Creates classificator with empty data_set
15+
16+
## Examples
17+
18+
iex> classificator = LearnKit.Regression.Linear.new
19+
%LearnKit.Regression.Linear{factors: [], results: []}
20+
21+
"""
22+
@spec new() :: %LearnKit.Regression.Linear{factors: [], results: []}
23+
24+
def new do
25+
Linear.new([], [])
26+
end
27+
28+
@doc """
29+
Creates classificator with data_set
30+
31+
## Parameters
32+
33+
- data_set: Keyword list with labels and features in tuples
34+
35+
## Examples
36+
37+
iex> classificator = LearnKit.Regression.Linear.new([1, 2, 3, 4], [2, 3, 4, 5])
38+
%LearnKit.Regression.Linear{factors: [1, 2, 3, 4], results: [2, 3, 4, 5]}
39+
40+
"""
41+
@spec new(factors, results) :: %LearnKit.Regression.Linear{factors: factors, results: results}
42+
43+
def new(factors, results) do
44+
%Linear{factors: factors, results: results}
45+
end
46+
end

0 commit comments

Comments
 (0)