На этом шаге мы обобщим правила использования библиотеки scikit-learn.
Давайте дадим краткий обзор API, который мы рассматривали на предыдущих шагах. Все алгоритмы в scikit-learn, будь то предварительная обработка, алгоритмы машинного обучения с учителем или машинное обучения без учителя, реализованы в виде классов. Эти классы в scikit-learn называются estimators (моделями). Чтобы применить алгоритм, вы сперва должны создать экземпляр конкретного класса:
[In 86]: from sklearn.linear_nodel import LogisticRegression logreg = LogisticRegression()
Этот класс-модель содержит алгоритм, а также записывает модель, обученную на данных с помощью этого алгоритма.
При построении модели вы должны задать те ли иные ее параметры. Эти параметры включают в себя регуляризацию, настройку сложности, количество выделяемых кластеров и т.д. Все модели имеют метод fit(), который используется для построения модели. Метод fit() всегда требует в качестве первого аргумента данные X, представленных в виде массива NumPy или разреженной матрицы SciPy, в которой каждая строка представляет собой отдельную точку данных. Предполагается, что данные Х всегда записаны в виде массива NumPy или разреженной матрицы SciPy, которая содержит непрерывные элементы (числа с плавающей точкой). Алгоритмы машинного обучения с учителем дополнительно требуют аргумент y, который является одномерным массивом NumPy, содержащим целевые значения для регрессии или классификации (т.е. уже известные метки или ответы).
Есть два основных способа применить обученную модель в scikit-learn. Чтобы создать прогноз в виде нового ответа типа у, вы должны использовать метод predict(). Для создания нового представления входных данных X используется метод transform(). Таблица 1 обобщает случаи использования методов predict() и transform().
estimator.fit(x_train, [y_train]) estimator.predict(X_text) estimator.transform(X_test) |
|
---|---|
Классификация | Предварительная обработка |
Регрессия | Сокращение размерности |
Кластеризация | Выделение характеристик Отбор характеристик |
Со следующего шага мы начнем рассматривать типы данных и конструирование признаков.