Seaborn - Doğrusal İlişkiler
Çoğu zaman, birden çok nicel değişken içeren veri kümeleri kullanırız ve bir analizin amacı genellikle bu değişkenleri birbiriyle ilişkilendirmektir. Bu, regresyon çizgileri aracılığıyla yapılabilir.
Regresyon modellerini oluştururken, sık sık multicollinearity,Sürekli değişkenlerin tüm kombinasyonları arasındaki korelasyonu görmemiz gerekti ve varsa çoklu bağlantı doğrusunu kaldırmak için gerekli eylemi yapacağız. Bu gibi durumlarda aşağıdaki teknikler yardımcı olur.
Doğrusal Regresyon Modelleri Çizme Fonksiyonları
Seaborn'da regresyon yoluyla belirlenen doğrusal bir ilişkiyi görselleştirmek için iki ana işlev vardır. Bu işlevlerregplot() ve lmplot().
regplot vs lmplot
regplot | lmplot |
---|---|
x ve y değişkenlerini, basit numpy dizileri, pandas Series nesneleri dahil olmak üzere çeşitli biçimlerde veya pandaların DataFrame'deki değişkenlere referans olarak kabul eder | gerekli bir parametre olarak verilere sahiptir ve x ve y değişkenleri dizeler olarak belirtilmelidir. Bu veri biçimine "uzun biçimli" veri denir |
Şimdi grafikleri çizelim.
Misal
Reg grafiğini çizme ve ardından bu örnekteki aynı verilerle lmplot etme
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.regplot(x = "total_bill", y = "tip", data = df)
sb.lmplot(x = "total_bill", y = "tip", data = df)
plt.show()
Çıktı
İki grafik arasındaki boyut farkını görebilirsiniz.
Değişkenlerden biri ayrık değerler aldığında da doğrusal bir regresyon sığdırabiliriz
Misal
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.lmplot(x = "size", y = "tip", data = df)
plt.show()
Çıktı
Farklı Model Türlerinin Takılması
Yukarıda kullanılan basit doğrusal regresyon modeline uyması çok basittir, ancak çoğu durumda veriler doğrusal değildir ve yukarıdaki yöntemler regresyon çizgisini genelleştiremez.
Anscombe'un veri setini regresyon grafikleri ile kullanalım -
Misal
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('anscombe')
sb.lmplot(x="x", y="y", data=df.query("dataset == 'I'"))
plt.show()
Bu durumda veriler, daha az varyanslı doğrusal regresyon modeline uygundur.
En uygun çizginin iyi olmadığını gösteren verilerin yüksek sapma aldığı başka bir örnek görelim.
Misal
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('anscombe')
sb.lmplot(x = "x", y = "y", data = df.query("dataset == 'II'"))
plt.show()
Çıktı
Grafik, veri noktalarının regresyon çizgisinden yüksek sapmasını gösterir. Bu tür doğrusal olmayan, daha yüksek sıra kullanılarak görselleştirilebilirlmplot() ve regplot()Bunlar, veri kümesindeki basit doğrusal olmayan eğilim türlerini keşfetmek için bir polinom regresyon modeline uyabilir -
Misal
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('anscombe')
sb.lmplot(x = "x", y = "y", data = df.query("dataset == 'II'"),order = 2)
plt.show()