Skip to content
This repository has been archived by the owner on Mar 18, 2023. It is now read-only.

Commit

Permalink
♻️ Extract Regression into its own module
Browse files Browse the repository at this point in the history
  • Loading branch information
eigenein committed Sep 4, 2022
1 parent 9203f52 commit fca06ca
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 20 deletions.
2 changes: 1 addition & 1 deletion src/trainer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ use tokio::task::yield_now;
use tokio::time::sleep;

pub use self::client::*;
pub use self::model::*;
pub use self::regression::*;
pub use self::requests::*;
pub use self::responses::*;
use self::sample::*;
use crate::math::logit;
use crate::opts::TrainOpts;
use crate::prelude::*;
use crate::trainer::model::{Model, Regression};
use crate::{database, wargaming};

pub async fn run(opts: TrainOpts) -> Result {
Expand Down
3 changes: 1 addition & 2 deletions src/trainer/client.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
use reqwest::StatusCode;

use crate::prelude::*;
use crate::trainer::model::Regression;
use crate::trainer::requests;
use crate::trainer::requests::Given;
use crate::trainer::responses::RecommendResponse;
use crate::trainer::{requests, Regression};

#[derive(Clone)]
pub struct Client {
Expand Down
18 changes: 1 addition & 17 deletions src/trainer/model.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
use nalgebra::DVector;
use serde::{Deserialize, Serialize};

use crate::prelude::*;
use crate::trainer::Regression;

#[derive(Default)]
pub struct Model {
Expand All @@ -10,17 +8,3 @@ pub struct Model {
AHashMap<wargaming::TankId, AHashMap<wargaming::TankId, Regression>>,
>,
}

#[derive(Serialize, Deserialize)]
pub struct Regression {
pub bias: f64,
pub k: f64,
pub x: DVector<f64>,
pub y: DVector<f64>,
}

impl Regression {
pub fn predict(&self, x: f64) -> f64 {
self.k * x + self.bias
}
}
16 changes: 16 additions & 0 deletions src/trainer/regression.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
use nalgebra::DVector;
use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize)]
pub struct Regression {
pub bias: f64,
pub k: f64,
pub x: DVector<f64>,
pub y: DVector<f64>,
}

impl Regression {
pub fn predict(&self, x: f64) -> f64 {
self.k * x + self.bias
}
}

0 comments on commit fca06ca

Please sign in to comment.