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