Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ff9679c970 | ||
|
|
c57a4370ba | ||
|
|
78f18505b1 | ||
|
|
58a8624fa9 |
+2
-2
@@ -2,7 +2,7 @@
|
||||
name = "smartcore"
|
||||
description = "Machine Learning in Rust."
|
||||
homepage = "https://smartcorelib.org"
|
||||
version = "0.4.8"
|
||||
version = "0.4.9"
|
||||
authors = ["smartcore Developers"]
|
||||
edition = "2021"
|
||||
license = "Apache-2.0"
|
||||
@@ -25,7 +25,7 @@ cfg-if = "1.0.0"
|
||||
ndarray = { version = "0.15", optional = true }
|
||||
num-traits = "0.2.12"
|
||||
num = "0.4"
|
||||
rand = { version = "0.8.5", default-features = false, features = ["small_rng"] }
|
||||
rand = { version = "0.9.2", default-features = false, features = ["small_rng"] }
|
||||
rand_distr = { version = "0.4", optional = true }
|
||||
serde = { version = "1", features = ["derive"], optional = true }
|
||||
ordered-float = "5.1.0"
|
||||
|
||||
+1
-1
@@ -166,7 +166,7 @@ pub struct LassoSearchParameters {
|
||||
/// The maximum number of iterations
|
||||
pub max_iter: Vec<usize>,
|
||||
#[cfg_attr(feature = "serde", serde(default))]
|
||||
/// The maximum number of iterations
|
||||
/// If false, force the intercept parameter (beta_0) to be zero.
|
||||
pub fit_intercept: Vec<bool>,
|
||||
}
|
||||
|
||||
|
||||
@@ -53,6 +53,7 @@ impl<T: FloatNumber, X: Array2<T>> InteriorPointOptimizer<T, X> {
|
||||
let lambda = lambda.max(T::epsilon());
|
||||
|
||||
//parameters
|
||||
let max_ls_iter = 100;
|
||||
let pcgmaxi = 5000;
|
||||
let min_pcgtol = T::from_f64(0.1).unwrap();
|
||||
let eta = T::from_f64(1E-3).unwrap();
|
||||
@@ -68,7 +69,6 @@ impl<T: FloatNumber, X: Array2<T>> InteriorPointOptimizer<T, X> {
|
||||
y.to_owned()
|
||||
};
|
||||
|
||||
let mut max_ls_iter = 100;
|
||||
let mut pitr = 0;
|
||||
let mut w = Vec::zeros(p);
|
||||
let mut neww = w.clone();
|
||||
@@ -170,7 +170,7 @@ impl<T: FloatNumber, X: Array2<T>> InteriorPointOptimizer<T, X> {
|
||||
s = T::one();
|
||||
let gdx = grad.dot(&dxu);
|
||||
|
||||
let lsiter = 0;
|
||||
let mut lsiter = 0;
|
||||
while lsiter < max_ls_iter {
|
||||
for i in 0..p {
|
||||
neww[i] = w[i] + s * dx[i];
|
||||
@@ -195,7 +195,7 @@ impl<T: FloatNumber, X: Array2<T>> InteriorPointOptimizer<T, X> {
|
||||
}
|
||||
}
|
||||
s = beta * s;
|
||||
max_ls_iter += 1;
|
||||
lsiter += 1;
|
||||
}
|
||||
|
||||
if lsiter == max_ls_iter {
|
||||
|
||||
Reference in New Issue
Block a user