a13n
AI 에이전트를 만들고 클라우드에서 실행합니다
scikit-learn에 포함되지 않은 고전 추정기의 동료 검토 변형을 scikit-learn API와 공개 벤치마크로 제공
Peer-reviewed variants of classic estimators that never made it into scikit-learn, with the scikit-learn API and a public benchmark gate.
개발 도구PythonGitHub @OliverHennhoefer온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Peer-reviewed and proven variants of classic ML models that never made it into scikit-learn.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Naive Bayes, LDA, k-NN, CART, random forests, AdaBoost, the lasso, logistic regression and Isolation Forest are the workhorses of applied machine learning. The literature has published variants of each that fix a known weakness and compared them carefully with the original, but most never reached a mainstream Python library. aspective collects them.
check_estimator,
so pipelines, grid search and cross-validation just work. Anomaly
detectors follow PyOD's BaseDetector contract.pip install aspective # classifiers and regressors
pip install "aspective[pyod]" # detectors then subclass PyOD's BaseDetector
The anomaly detectors work without PyOD through a small stand-in base class with the same contract. With PyOD installed they are genuine PyOD detectors and work inside PyOD's ensembles (LSCP, SUOD), thresholding and benchmarks.
from sklearn.datasets import load_wine
from sklearn.model_selection import GridSearchCV
from aspective.discriminant_analysis import RegularizedDiscriminantAnalysis
X, y = load_wine(return_X_y=True)
search = GridSearchCV(
RegularizedDiscriminantAnalysis(),
{"lam": [0, 0.25, 0.5, 0.75, 1], "gamma": [0, 0.1, 0.5]},
).fit(X, y)
from aspective.anomaly import RSHashDetector
detector = RSHashDetector(contamination=0.05, random_state=0).fit(X)
detector.decision_scores_ # higher means more anomalous
detector.predict(X) # 0 inlier, 1 outlier, as in PyOD
Start from the model you already use; the guide says which variant helps when.
| Estimator | Improves on | Paper |
|---|---|---|
discriminant_analysis.RegularizedDiscriminantAnalysis | LDA, QDA | Friedman, JASA 1989 |
discriminant_analysis.MixtureDiscriminantAnalysis | LDA | Hastie & Tibshirani, JRSS-B 1996 |
naive_bayes.AODEClassifier | Naive Bayes | Webb, Boughton & Wang, Machine Learning 2005 |
naive_bayes.A2DEClassifier | Naive Bayes | Webb, Boughton, Zheng, Ting & Salem, Machine Learning 2012 |
naive_bayes.TANClassifier | Naive Bayes | Friedman, Geiger & Goldszmidt, Machine Learning 1997 |
naive_bayes.KDBClassifier | Naive Bayes | Sahami, KDD 1996 |
naive_bayes.HiddenNaiveBayesClassifier | Naive Bayes | Zhang, Jiang & Su, AAAI 2005 |
naive_bayes.FlexibleNaiveBayes | Gaussian naive Bayes | John & Langley, UAI 1995 |
neighbors.DANNClassifier | k-NN classification | Hastie & Tibshirani, IEEE TPAMI 1996 |
neighbors.LoessRegressor | k-NN regression | Cleveland & Devlin, JASA 1988 |
ensemble.RotationForestClassifier | Random forest | Rodríguez, Kuncheva & Alonso, IEEE TPAMI 2006 |
ensemble.LogitBoostClassifier | AdaBoost | Friedman, Hastie & Tibshirani, Annals of Statistics 2000 |
ensemble.MultiBoostClassifier | AdaBoost | Webb, Machine Learning 2000 |
ensemble.LocalLinearForestRegressor | Random forest | Friedberg, Tibshirani, Athey & Wager, JCGS 2020 |
tree.M5ModelTreeRegressor | Regression tree (CART) | Quinlan 1992; Wang & Witten, ECML 1997 |
linear_model.FirthLogisticRegression | Logistic regression | Firth, Biometrika 1993; Puhr et al., Statistics in Medicine 2017 (FLIC/FLAC) |
linear_model.CauchyLogisticRegression | Logistic regression |
If you use aspective, please cite it via CITATION.cff (or
GitHub's "Cite this repository" button) and the original paper of each
estimator you use.
Proposals for new estimators are welcome: open an estimator proposal. See CONTRIBUTING.md for the bar an estimator has to clear and the development setup:
uv sync --extra pyod # package, tests and the bench/ testbed
uv run pytest # unit tests and the benchmark gate check
uv run aspective-bench run my-model # benchmark a model, see bench/README.md
| Gelman, Jakulin, Pittau & Su, Annals of Applied Statistics 2008 |
linear_model.RelaxedLasso, RelaxedLassoCV | Lasso | Meinshausen, CSDA 2007 |
linear_model.AdaptiveLasso, AdaptiveLassoCV | Lasso | Zou, JASA 2006 |
linear_model.NonconvexPenaltyRegression, NonconvexPenaltyRegressionCV (MCP, SCAD) | Lasso | Zhang, Annals of Statistics 2010; Fan & Li, JASA 2001 |
linear_model.Bolasso | Lasso (variable selection) | Bach, ICML 2008 |
linear_model.L2BoostRegressor | Lasso | Bühlmann & Yu, JASA 2003; Bühlmann, Annals of Statistics 2006 |
linear_model.MARSRegressor | Linear regression, CART | Friedman, Annals of Statistics 1991 |
linear_model.PSplineGAMRegressor | Linear regression | Hastie & Tibshirani, Statistical Science 1986; Eilers & Marx, Statistical Science 1996 |
anomaly.RSHashDetector | Isolation Forest, subspace detectors | Sathe & Aggarwal, ICDM 2016 |
anomaly.LeSiNNDetector | Isolation Forest, k-NN detector | Pang, Ting & Albrecht, ICDM Workshops 2015 |
anomaly.ExtendedIsolationForestDetector | Isolation Forest | Hariri, Carrasco Kind & Brunner, IEEE TKDE 2021 |