Skip to content

msuvorov7/base_ml_algo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

base_ml_algo

implementation of basic ML algorithms

knn:

  • KNN - базовый класс, основанный на подсчёте матрицы расстояний
  • KNNClassifier - алгоритм классификации
  • KNNRegressor - алгоритм регресии
  • BatchedKNNClassifier - модификация классификатора для подстёта по батчам
  • BatchedKNNRegressor - модификация регрессора для подсчёта по батчам

Реализация содержит:

  • евклидову и косинусную метрику
  • поддержку поиска методами kd_tree, ball_tree, brute из sklearn
  • вычисление классов путём госования или взвешивания (регрессия Надарая-Ватсона)

linear

  • LinReg - аналитическое нахождение весов
  • GradLinRed - нахождение весов градиентным спуском по всей выборке
  • SGDLinReg - нахождение весов градиентным спуском по батчам
  • LogReg - логистическая регрессия для бинарной классификации на градиентном спуске
  • SGDLogReg - логистическая регрессия для бинарной классификации по батчам
  • SoftmaxRegression - логистическая регрессия для многоклассовой классификации
  • SGDSoftmaxReg - логистическая регрессия для многоклассовой классификации по батчам
  • ElasticLogReg - логистическая регрессия для бинарной классификации с регуляризациями Ridge и Lasso
  • ElasticSoftmaxReg - логистическая регрессия для многоклассовой классификации с регуляризациями Ridge и Lasso
  • LinearClassifier - обобщенная модель линейного классификатора (аналог SGDClassifier) для меток {-1,1}

tree

  • ClassificationDecisionTree - алгоритм классификации на основе дерева решений
  • RegressionDecisionTree - алгоритм регрессии на основе дерева решений

Реализация содержит:

  • энтропийный критерий
  • критерй Джини
  • MSE критерий

svm

  • LinearSVC - классический линейный классификатор методом опорных векторов
  • SVC - классификатор с использованием ядер:
    • Linear - линейное ядро
    • RBF - радиальное базисное ядро
  • LinSVR - классический линейный регрессор методом опорных векторов

bagging

  • Bagger - базовый класс, осуществляющий выборку без возвращений из строк и столбцов матрицы
  • BaggingClassifier - поддерживает классификацию для дерева решений и ближайшего соседа
  • BaggingRegressor - поддерживает регрессию для дерева решений и ближайшего соседа

Данные алгоритмы выбраны из-за своей неустойчивости, так как только с такими концепция бэггинга будет работать хорошо

boosting

  • Booster - базовый класс с прототипами функций для градиентного бустинга (в качестве первого алгоритма выбрана линейная регрессия)
  • BoostingClassifier - градиентный бустинг для бинарной классификации, использующий производную logloss
  • BoostingMultiClassifier - градиентный бустинг для многоклассовой классификации, использующий производную кросс-энтропии
  • BoostingRegressor - градиентный бустинг для задачи регрессии, использующий производную mse loss
  • AdaBoosting - бинарный классификатор на основе адаптивного бустинга над решающими деревьями
  • MultiClassAdaBoosting - классификатор для многих классов на основе адаптивного бустинга над решающими деревьями

kmeans

  • Kmeans - стандартная реализация алгоритма Ллойда для кластеризации
  • Soft-Kmeans - тот же метод k-средних, но с мягкой кластеризацией через softmax расстояний до центров
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy