Skip to content
{{ message }}

Instantly share code, notes, and snippets.

# Mathieu Blondel mblondel

Last active Jan 19, 2021
Fuzzy K-means and K-medians
View kmeans.py
 # Copyright Mathieu Blondel December 2011 # License: BSD 3 clause import numpy as np import pylab as pl from sklearn.base import BaseEstimator from sklearn.utils import check_random_state from sklearn.cluster import MiniBatchKMeans from sklearn.cluster import KMeans as KMeansGood
Last active Oct 18, 2020
Multiclass SVMs
View multiclass_svm.py
 """ Multiclass SVMs (Crammer-Singer formulation). A pure Python re-implementation of: Large-scale Multiclass Support Vector Machine Training via Euclidean Projection onto the Simplex. Mathieu Blondel, Akinori Fujino, and Naonori Ueda. ICPR 2014. http://www.mblondel.org/publications/mblondel-icpr2014.pdf """
Last active Oct 15, 2020
Kernel SGD
View kernel_sgd.py
 # Mathieu Blondel, May 2012 # License: BSD 3 clause import numpy as np def euclidean_distances(X, Y=None, Y_norm_squared=None, squared=False): XX = np.sum(X * X, axis=1)[:, np.newaxis] YY = np.sum(Y ** 2, axis=1)[np.newaxis, :] distances = np.dot(X, Y.T) distances *= -2
Last active Oct 15, 2020
Vectorized projection onto the simplex
View projection_simplex_vectorized.py
 # Author: Mathieu Blondel # License: BSD 3 clause import numpy as np def projection_simplex(V, z=1, axis=None): """ Projection of x onto the simplex, scaled by z: P(x; z) = argmin_{y >= 0, sum(y) = z} ||y - x||^2
Created Oct 28, 2015
Semi-supervised Naive Bayes
View seminb.py
 # -*- coding: utf-8 -*- # Copyright (C) 2010 Mathieu Blondel # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful,
Last active Jan 27, 2020
Sparse Multiclass Classification in Numba!
View sparse_multiclass_numba.py
 """ (C) August 2013, Mathieu Blondel # License: BSD 3 clause This is a Numba-based reimplementation of the block coordinate descent solver (without line search) described in the paper: Block Coordinate Descent Algorithms for Large-scale Sparse Multiclass Classification. Mathieu Blondel, Kazuhiro Seki, and Kuniaki Uehara. Machine Learning, May 2013.
Created Nov 2, 2019
Projection onto the probability simplex using isotonic regression.
View projection_simplex_isotonic.py
 # Author: Mathieu Blondel # License: BSD 3 clause import numpy as np from sklearn.isotonic import isotonic_regression def projection_simplex(x, z=1): """ Compute argmin_{p : p >= 0 and \sum_i p_i = z} ||p - x||
Last active Jun 12, 2019
NMF by coordinate descent
View nmf_cd.py
 """ NMF by coordinate descent, designed for sparse data (without missing values) """ # Author: Mathieu Blondel # License: BSD 3 clause import numpy as np import scipy.sparse as sp import numba
Last active Feb 13, 2019
Frequent directions algorithm for matrix sketching.
View matrix_sketch.py
 # (C) Mathieu Blondel, November 2013 # License: BSD 3 clause import numpy as np from scipy.linalg import svd def frequent_directions(A, ell, verbose=False): """ Return the sketch of matrix A.
Created Nov 6, 2016
Efficient implementation of FISTA
View fista.py
 """ Efficient implementation of FISTA. """ # Author: Mathieu Blondel # License: BSD 3 clause import numpy as np