Эластичные редакторы позиции табуляции и плагины

Оценщики

sklearn реализуют методы, позволяющие вам сэкономить соответствующие подготовленные свойства оценки. Некоторые оценки реализуют сами методы __getstate__, но другие, такие как GMM, просто используют базовую реализацию , которая просто сохраняет внутренний словарь объектов:

def __getstate__(self):
    try:
        state = super(BaseEstimator, self).__getstate__()
    except AttributeError:
        state = self.__dict__.copy()

    if type(self).__module__.startswith('sklearn.'):
        return dict(state.items(), _sklearn_version=__version__)
    else:
        return state

Рекомендуемый метод для сохранения вашей модели на диск следует использовать модуль pickle :

from sklearn import datasets
from sklearn.svm import SVC
iris = datasets.load_iris()
X = iris.data[:100, :2]
y = iris.target[:100]
model = SVC()
model.fit(X,y)
import pickle
with open('mymodel','wb') as f:
    pickle.dump(model,f)

Однако вы должны сохранить дополнительные данные, чтобы вы могли переучивать свою модель в будущем, или страдают от последствий (например, запираются на старую версию sklearn).

Из документации :

Чтобы перестроить аналогичную модель с будущими версиями scikit-learn, дополнительные метаданные должны сохраняться вдоль маринованной модели:

Данные обучения, например ссылка на неизменяемый снимок

Исходный код python, используемый для генерации модели

Версии scikit-learn и ее зависимостей

Полученная оценка перекрестной проверки на обучающих данных

blockquote>

Это особенно верно для ансамблевых оценок, которые полагаются на модуль tree.pyx , написанный в Cython (например, IsolationForest), поскольку он создает связь с реализацией, которая не гарантируется быть стабильной между версиями sklearn. Он видел назад несовместимые изменения в прошлом.

Если ваши модели становятся очень большими, а загрузка становится неприятной, вы также можете использовать более эффективные joblib. Из документации:

В конкретном случае scikit может быть более интересно использовать замену joblib pickle (joblib.dump & amp; joblib.load), которая более эффективна на объектах, которые несут большие массивы numpy внутри, как это часто бывает для оснащенных оценками scikit-learn, но могут только рассортировать диск, а не строку:

blockquote>

28
задан waldyrious 11 September 2018 в 09:00
поделиться

3 ответа

Я сделал довольно мало гугления, пытающегося найти этот ответ. Существует много людей, просящих его:

только для именования некоторых...

, таким образом, я не думаю, что каждый существует все же, извините: (

4
ответ дан Jiaaro 28 November 2019 в 03:52
поделиться

Проблема состоит в том, что только несколько инструментариев/платформ имеют текстовые виджеты, которые предлагают способность установить неоднородные позиции табуляции на различных строках. К моему знанию те инструментарии/платформы являются Java Swing (используемый демонстрацией на эластичной странице позиций табуляции), GTK (используемый Gedit и плагином Gedit), и по-видимому новая версия Visual Studio (VS 2010).

Ожидают (в конечном счете) видеть больше разработок на всех тех платформах.

1
ответ дан Editor guy 28 November 2019 в 03:52
поделиться

Браузер кода может быть первым для Windows. Я хотел бы видеть эту функцию как дополнительный модуль для других редакторов.

6
ответ дан 28 November 2019 в 03:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: