Пакеты Python для линейной регрессии Пакет NumPy



бет3/13
Дата07.12.2022
өлшемі86,03 Kb.
#55707
1   2   3   4   5   6   7   8   9   ...   13
Байланысты:
3 Реализация линейной регрессии в Python

normalize — это логическое значение (по умолчанию False), которое определяет, следует ли нормализовать входные переменные (True) или нет (False).

  • copy_X — это логическое значение (по умолчанию True), которое решает, копировать (True) или перезаписывать входные переменные (False).

  • n_jobs является целым числом или None (по умолчанию) и представляет количество заданий, используемых в параллельных вычислениях. None обычно означает одно задание, а -1 — использовать все процессоры. В этом примере используются значения по умолчанию для всех параметров.

    Пришло время начать пользоваться моделью. Во-первых, вам нужно вызвать .fit() для модели:
    model.fit(x, y)
    С помощью .fit() вы вычисляете оптимальные значения весов b0​ и b1​, используя существующие входные и выходные данные (x и y) в качестве аргументов. Другими словами, .fit() соответствует модели. Он возвращает self, которое является самой переменной моделью. Вот почему вы можете заменить последние два утверждения на это:
    model = LinearRegression().fit(x, y)
    Шаг 4. Получите результаты
    После того, как вы настроили свою модель, вы можете получить результаты, чтобы проверить, удовлетворительно ли она работает и интерпретировать ее.
    Вы можете получить коэффициент детерминации (?2) с помощью .score(), вызванного для модели:
    >>> r_sq = model.score(x, y)
    >>> print('coefficient of determination:', r_sq)
    coefficient of determination: 0.715875613747954
    Когда вы применяете .score(), аргументы также являются предиктором x и регрессором y, а возвращаемое значение — ?2.
    Атрибуты модели: .intercept_, который представляет коэффициент, и .coef_, который представляет b1​:
    >>> print('intercept:', model.intercept_)
    intercept: 5.633333333333329
    >>> print('slope:', model.coef_)
    slope: [0.54]
    В приведенном выше коде показано, как получить b0​ и b1​. Вы можете заметить, что .intercept_ — это скаляр, а .coef_ — это массив.
    Значение b0​=5,63 (приблизительно) показывает, что ваша модель предсказывает реакцию 5,63, когда xx равно нулю. Значение b1​=0,54 означает, что прогнозируемый ответ увеличивается на 0,54, когда x увеличивается на единицу.
    Вы должны заметить, что вы также можете предоставить y как двумерный массив. В этом случае вы получите аналогичный результат. Вот как это может выглядеть:
    >>> new_model = LinearRegression().fit(x, y.reshape((-1, 1)))
    >>> print('intercept:', new_model.intercept_)
    intercept: [5.63333333]
    >>> print('slope:', new_model.coef_)
    slope: [ [0.54] ]
    Как видите, этот пример очень похож на предыдущий, но в данном случае .intercept_ — это одномерный массив с единственным элементом b0​, а .coef_ — это двумерный массив с единственным элементом b1​.


    Достарыңызбен бөлісу:
  • 1   2   3   4   5   6   7   8   9   ...   13




    ©emirsaba.org 2024
    әкімшілігінің қараңыз

        Басты бет