Model formülü

Python ile Genelleştirilmiş Doğrusal Modeller

Ita Cirovic Donev

Data Science Consultant

Formül ve model matrisi

Veri kaynakları X ve Y ile diyagramın başlangıcı.

Python ile Genelleştirilmiş Doğrusal Modeller

Formül ve model matrisi

Formül diyagramı

Python ile Genelleştirilmiş Doğrusal Modeller

Formül ve model matrisi

Model matrisi diyagramı

Python ile Genelleştirilmiş Doğrusal Modeller

Formül ve model matrisi

glm sınıfına giriş diyagramı.

Python ile Genelleştirilmiş Doğrusal Modeller

Model matrisi

  • Model matrisi: y ∼ X

  • Model formülü

    'y ~ x1 + x2'
    
  • Model matrisi yapısını kontrol edin
    from patsy import dmatrix
    dmatrix('x1 + x2')
    
  Intercept  x1  x2
          1   1   4
          1   2   5
          1   3   6
Python ile Genelleştirilmiş Doğrusal Modeller

Değişken dönüştürme

import numpy as np
'y ~ x1 + np.log(x2)'
dmatrix('x1 + np.log(x2)')
DesignMatrix with shape (3, 3)
  Intercept  x1  np.log(x2)
          1   1     1.38629
          1   2     1.60944
          1   3     1.79176
Python ile Genelleştirilmiş Doğrusal Modeller

Merkezleme ve standartlaştırma

  • Durum tutan dönüşümler
'y ~ center(x1) + standardize(x2)'
dmatrix('center(x1) + standardize(x2)')
DesignMatrix with shape (3, 3)
  Intercept  center(x1)  standardize(x2)
          1          -1         -1.22474
          1           0          0.00000
          1           1          1.22474
Python ile Genelleştirilmiş Doğrusal Modeller

Kendi dönüşümünüzü yazın

def my_transformation(x):
  return 4 * x
dmatrix('x1 + x2 + my_transformation(x2)')
DesignMatrix with shape (3, 4)
  Intercept  x1  x2  my_transformation(x2)
          1   1   4                     16
          1   2   5                     20
          1   3   6                     24
Python ile Genelleştirilmiş Doğrusal Modeller

Aritmetik işlemler

x1 = np.array([1, 2, 3])
x2 = np.array([4,5,6])

dmatrix('I(x1 + x2'))
DesignMatrix with shape (3, 2)
  Intercept  I(x1 + x2)
          1           5
          1           7
          1           9
x1 = [1, 2, 3]
x2 = [4,5,6]

dmatrix('I(x1 + x2)')
DesignMatrix with shape (6, 2)
  Intercept  I(x1 + x2)
          1           1
          1           2
          1           3
          1           4
          1           5
          1           6
Python ile Genelleştirilmiş Doğrusal Modeller

Kategorik verilerin kodlanması

Renk türü: kırmızı, yeşil, mavi

Python ile Genelleştirilmiş Doğrusal Modeller

Kategorik verilerin kodlanması

Renk türü: kırmızı, yeşil, mavi ve veride renk gözlemleri diyagramı

Python ile Genelleştirilmiş Doğrusal Modeller

Kategorik verilerin kodlanması

Kırmızı, yeşil ve mavi renkleriyle one-hot kodlama diyagramı.

Python ile Genelleştirilmiş Doğrusal Modeller

Patsy kodlama

  • Metin ve boolean değerler otomatik kodlanır
  • Sayısal → kategorik
    • C() fonksiyonu
  • Referans grup
    • Varsayılan: ilk grup
    • Treatment
    • levels
Python ile Genelleştirilmiş Doğrusal Modeller

C() fonksiyonu

  • Sayısal değişken
    dmatrix('color', data = crab)
    
DesignMatrix with shape (173, 2)
  Intercept  color
          1      2
          1      3
          1      1
  [... rows omitted]
  • Kaç seviye var?
    crab['color'].value_counts()
    
2    95
3    44
4    22
1    12
Python ile Genelleştirilmiş Doğrusal Modeller

C() fonksiyonu

  • Kategorik değişken
    dmatrix('C(color)', data = crab)
    
DesignMatrix with shape (173, 4)
  Intercept  C(color)[T.2]  C(color)[T.3]  C(color)[T.4]
          1              1              0              0
          1              0              1              0
          1              0              0              0
  [... rows omitted]
Python ile Genelleştirilmiş Doğrusal Modeller

Referans grubunu değiştirme

dmatrix('C(color, Treatment(4))', data = crab)
DesignMatrix with shape (173, 4)
  Intercept  C(color)[T.1]  C(color)[T.2]  C(color)[T.3]  
          1              0              1              0 
          1              0              0              1 
          1              1              0              0 
  [... rows omitted]
Python ile Genelleştirilmiş Doğrusal Modeller

Referans grubunu değiştirme

l = [1, 2, 3,4]
dmatrix('C(color, levels = l)', data = crab)
DesignMatrix with shape (173, 4)
  Intercept  C(color)[T.2]  C(color)[T.3]   C(color)[T.4] 
          1               1            0               0     
          1               0            1               0
          1               0            0               0 
  [... rows omitted]
Python ile Genelleştirilmiş Doğrusal Modeller

Birden çok sabit terim

'y ~ C(color)-1'
dmatrix('C(color)-1', data = crab)
DesignMatrix with shape (173, 4)
  C(color)[1]  C(color)[2]  C(color)[3]  C(color)[4]
            0            1            0            0
            0            0            1            0
            1            0            0            0
  [... rows omitted]
Python ile Genelleştirilmiş Doğrusal Modeller

Hadi pratik yapalım!

Python ile Genelleştirilmiş Doğrusal Modeller

Preparing Video For Download...