Polinom Regresyon: Önemi, Adım Adım Uygulama

Yayınlanan: 2021-01-29

İçindekiler

Tanıtım

Bu geniş Makine Öğrenimi alanında, çoğumuzun üzerinde çalışacağı ilk algoritma ne olurdu? Evet, Doğrusal Regresyondur. Çoğunlukla Makine Öğrenimi Programlamanın ilk günlerinde öğrenilecek ilk program ve algoritma olan Lineer Regresyon, lineer bir veri türü ile kendi önemine ve gücüne sahiptir.

Ya karşılaştığımız veri kümesi doğrusal olarak ayrılabilir değilse? Doğrusal regresyon modeli hem bağımsız hem de bağımlı değişkenler arasında herhangi bir ilişki türetemiyorsa ne olur?

Polinom Regresyon olarak bilinen başka bir regresyon türü geliyor. Polinom Regresyon, adından da anlaşılacağı gibi bağımlı (y) değişkeni ile bağımsız değişken (x) arasındaki ilişkiyi n'inci dereceden bir polinom olarak modelleyen bir regresyon algoritmasıdır. Bu yazıda, Python'da uygulanmasıyla birlikte Polinom Regresyonun arkasındaki algoritmayı ve matematiği anlayacağız.

Polinom Regresyon Nedir?

Daha önce tanımlandığı gibi, Polinom Regresyon, bağımlı ve bağımsız değişkenler arasında eğrisel bir ilişki oluşturan doğrusal olmayan verilere belirli (n) dereceli bir polinom denkleminin uyduğu özel bir doğrusal regresyon durumudur.

y= b 0 +b 1 x 1 + b 2 x 1 2 + b 3 x 1 3 +…… b n x 1 n

Burada,

y bağımlı değişkendir (çıktı değişkeni)

x1 bağımsız değişkendir (yordayıcılar)

b 0 önyargıdır

b 1 , b 2 , ….b n regresyon denklemindeki ağırlıklardır.

Polinom denkleminin ( n ) derecesi yükseldikçe, polinom denklemi daha karmaşık hale gelir ve daha sonraki bölümde tartışılacak olan modelin fazla uyma eğilimi gösterme olasılığı vardır.

Regresyon Denklemlerinin Karşılaştırılması

Basit Doğrusal Regresyon ===> y= b0+b1x

Çoklu Doğrusal Regresyon ===> y= b0+b1x1+ b2x2+ b3x3+…… bnxn

Polinom Regresyon ===> y= b0+b1x1+ b2x12+ b3x13+…… bnx1n

Yukarıdaki üç denklemden, aralarında birkaç ince fark olduğunu görüyoruz. Basit ve Çoklu Lineer Regresyonlar, Polinom Regresyon denkleminden sadece 1 derece olması bakımından farklıdır. Çoklu Lineer Regresyon, x1, x2 vb. birçok değişkenden oluşur. Polinom Regresyon denkleminin yalnızca bir x1 değişkeni olmasına rağmen, onu diğer ikisinden ayıran bir n derecesine sahiptir.

Polinom Regresyon İhtiyacı

Aşağıdaki diyagramlardan, ilk diyagramda, verilen doğrusal olmayan veri noktaları kümesine doğrusal bir çizginin sığdırılmaya çalışıldığını görebiliriz. Doğrusal olmayan bu verilerle düz bir doğrunun ilişki kurmasının oldukça zorlaştığı anlaşılmaktadır. Bu nedenle modeli eğittiğimizde kayıp fonksiyonu artar ve yüksek hataya neden olur.

Öte yandan Polinom Regresyon uyguladığımızda çizginin veri noktalarına iyi uyduğu açıkça görülmektedir. Bu, veri noktalarına uyan polinom denkleminin, veri kümesindeki değişkenler arasında bir tür ilişki türettiği anlamına gelir. Bu nedenle, veri noktalarının doğrusal olmayan bir şekilde düzenlendiği bu tür durumlar için Polinom Regresyon modeline ihtiyaç duyarız.

Python'da Polinom Regresyonun Uygulanması

Buradan, Python'da Polinom Regresyon uygulayan bir Makine Öğrenimi modeli oluşturacağız. Lineer Regresyon ve Polinom Regresyon ile elde edilen sonuçları karşılaştıracağız. Önce Polinom Regresyon ile çözeceğimiz problemi anlayalım.

Sorun Açıklaması

Burada, bir şirketten birkaç aday kiralamak isteyen bir Start-up örneğini düşünün. Şirkette farklı iş rolleri için farklı pozisyonlar vardır. Başlangıç, önceki şirketteki her bir rol için maaşın ayrıntılarını içerir. Bu nedenle, bir aday önceki maaşından bahsettiğinde, yeni kurulan şirketin İK'sının bunu mevcut verilerle doğrulaması gerekir. Böylece, Konum ve Düzey olmak üzere iki bağımsız değişkenimiz var. Bağımlı değişken (çıktı), Polinom Regresyon kullanılarak tahmin edilecek Maaştır .

Yukarıdaki tabloyu bir grafikte görselleştirdiğimizde, verilerin doğada doğrusal olmadığını görüyoruz. Başka bir deyişle, seviye arttıkça maaş daha yüksek oranda artar ve bu da bize aşağıda gösterildiği gibi bir eğri verir.

Adım 1: Veri Ön İşlemeHerhangi bir Makine Öğrenimi modeli oluşturmanın ilk adımı kitaplıkları içe aktarmaktır. Burada, içe aktarılacak yalnızca üç temel kitaplığımız var. Bundan sonra, veri seti GitHub depomdan içe aktarılıyor ve bağımlı değişkenler ve bağımsız değişkenler atanıyor. Bağımsız değişkenler X değişkeninde depolanır ve bağımlı değişken y değişkeninde depolanır.

numpy'yi np olarak içe aktar

matplotlib.pyplot'u plt olarak içe aktar

pandaları pd olarak içe aktar

veri kümesi = pd.read_csv('https://raw.githubusercontent.com/mk-gurucharan/Regression/master/PositionSalaries_Data.csv')

X = veri kümesi.iloc[:, 1:-1].değerler

y = veri kümesi.iloc[:, -1].değerler

Burada [:, 1:-1] teriminde, ilk iki nokta üst üste tüm satırların alınması gerektiğini temsil eder ve 1:-1 terimi, dahil edilecek sütunların ilk sütundan sondan bir önceki sütuna kadar olduğunu belirtir. -1.

Adım 2: Doğrusal Regresyon ModeliBir sonraki adımda, bir Çoklu Doğrusal Regresyon modeli oluşturacağız ve bunu bağımsız değişkenlerden maaş verilerini tahmin etmek için kullanacağız. Bunun için LinearRegression sınıfı sklearn kitaplığından içe aktarılır. Daha sonra eğitim amacıyla X ve y değişkenlerine uyarlanır.

sklearn.linear_model'den LinearRegression'ı içe aktarın

regresör = LinearRegression()

regressor.fit(X, y)

Model oluşturulduktan sonra, sonuçları görselleştirerek aşağıdaki grafiği elde ederiz.

Açıkça görüldüğü gibi, doğrusal olmayan bir veri kümesine düz bir çizgi sığdırılmaya çalışılarak, Makine Öğrenimi modeli ile türetilen bir ilişki yoktur. Bu nedenle, değişkenler arasında bir ilişki elde etmek için Polinom Regresyona gitmemiz gerekiyor.

Adım 3: Polinom Regresyon ModeliBir sonraki adımda, bu veri kümesine bir Polinom Regresyon modeli yerleştireceğiz ve sonuçları görselleştireceğiz. Bunun için oluşturulacak polinom denkleminin derecesini verdiğimiz PolynomialFeatures isimli sklearn modülünden başka bir Class import ediyoruz. Daha sonra, Polinom denklemini veri kümesine sığdırmak için LinearRegression sınıfı kullanılır.

sklearn.preprocessing'den içe aktarma Polinom Özellikleri

sklearn.linear_model'den LinearRegression'ı içe aktarın

poly_reg = Polinom Özellikler(derece = 2)

X_poly = poly_reg.fit_transform(X)

lin_reg = LinearRegression()

lin_reg.fit(X_poly, y)

Yukarıdaki durumda, polinom denkleminin derecesini 2'ye eşit olarak verdik. Grafiği çizerken, türetilmiş bir tür eğri olduğunu görüyoruz, ancak yine de gerçek verilerden çok fazla sapma var (kırmızı ile). ) ve tahmin edilen eğri noktaları (yeşil). Böylece, bir sonraki adımda polinomun derecesini 3 ve 4 gibi daha yüksek sayılara çıkaracağız ve ardından bunu birbiriyle karşılaştıracağız.

Derece 3 ve 4 ile Polinom Regresyon sonuçlarını karşılaştırdığımızda, derece arttıkça modelin verilerle iyi çalıştığını görüyoruz. Böylece, daha yüksek bir derecenin Polinom denkleminin eğitim verilerine daha doğru bir şekilde uymasını sağladığını çıkarabiliriz. Ancak bu, aşırı takma için mükemmel bir durumdur. Bu nedenle, fazla uydurmayı önlemek için n'nin değerini tam olarak seçmek önemli hale gelir.

Aşırı Uydurma nedir?

Adından da anlaşılacağı gibi, Aşırı Uyum, bir fonksiyonun (veya bu durumda bir Makine Öğrenimi modelinin) bir dizi sınırlı veri noktasına çok yakından uyması durumunda istatistikte bir durum olarak adlandırılır. Bu, işlevin yeni veri noktalarıyla kötü performans göstermesine neden olur.

Makine Öğreniminde, bir modelin belirli bir eğitim veri noktası kümesine fazla uyduğu söylenirse, o zaman aynı model tamamen yeni bir nokta kümesiyle (örneğin test veri kümesi) tanıtıldığında, o zaman üzerinde çok kötü performans gösterir. fazla uydurma modeli, verilerle iyi bir şekilde genelleştirilmemiştir ve yalnızca eğitim veri noktalarına fazla uymaktadır.

Polinom regresyonunda, polinomun derecesi arttıkça modelin eğitim verilerine fazla uyması için iyi bir şans vardır. Yukarıda gösterilen örnekte, derecenin optimal değerini seçmek için yalnızca bir deneme-yanılma temeli ile düzeltilebilen polinom regresyonda tipik bir fazla uydurma durumu görüyoruz.

Ayrıca Okuyun: Makine Öğrenimi Proje Fikirleri

Çözüm

Sonuç olarak, Polinom Regresyon, bağımlı ve bağımsız değişkenler arasında doğrusal olmayan bir ilişkinin olduğu birçok durumda kullanılır. Bu algoritma aykırı değerlere karşı hassasiyetten muzdarip olsa da, regresyon çizgisine uymadan önce bunları tedavi ederek düzeltilebilir. Bu nedenle, bu makalede, basit bir veri kümesi üzerinde Python Programlamada uygulanmasının bir örneği ile birlikte Polinom Regresyon kavramıyla tanıştık.

Makine öğrenimi hakkında daha fazla bilgi edinmek istiyorsanız, çalışan profesyoneller için tasarlanmış ve 450+ saat zorlu eğitim, 30'dan fazla vaka çalışması ve ödev, IIIT- sunan IIIT-B & upGrad'ın Makine Öğrenimi ve Yapay Zeka alanında PG Diplomasına göz atın. B Mezun statüsü, 5'ten fazla pratik uygulamalı bitirme projesi ve en iyi firmalarla iş yardımı.

Dünyanın En İyi Üniversitelerinden ML Kursu öğrenin . Kariyerinizi hızlandırmak için Master, Executive PGP veya Advanced Certificate Programları kazanın.

Doğrusal regresyon ile ne demek istiyorsun?

Doğrusal regresyon, bağımlı bir değişken yardımıyla bilinmeyen bir değişkenin değerini bulabileceğimiz bir tür tahmine dayalı sayısal analizdir. Ayrıca bir bağımlı ve bir veya daha fazla bağımsız değişken arasındaki bağlantıyı da açıklar. Doğrusal regresyon, iki değişken arasındaki bağlantıyı göstermek için istatistiksel bir tekniktir. Doğrusal regresyon, bir dizi veri noktasından bir eğilim çizgisi çizer. Doğrusal regresyon, kanser teşhisi veya hisse senedi fiyatları gibi rastgele görünen verilerden bir tahmin modeli oluşturmak için kullanılabilir. Doğrusal regresyonu hesaplamak için birkaç yöntem vardır. Verilerdeki bilinmeyen değişkenleri tahmin eden ve görsel olarak veri noktaları ile trend çizgisi arasındaki dikey mesafelerin toplamına dönüştüren sıradan en küçük kareler yaklaşımı en yaygın olanlardan biridir.

Lineer Regresyonun bazı dezavantajları nelerdir?

Çoğu durumda, araştırmalarda değişkenler arasında bir bağlantı olduğunu tespit etmek için regresyon analizi kullanılır. Bununla birlikte, korelasyon nedensellik anlamına gelmez, çünkü iki değişken arasındaki bir bağlantı birinin diğerinin olmasına neden olduğu anlamına gelmez. Veri noktalarına iyi uyan basit bir doğrusal regresyondaki bir çizgi bile, koşullar ve mantıksal sonuçlar arasında bir ilişki sağlamayabilir. Doğrusal bir regresyon modeli kullanarak değişkenler arasında herhangi bir korelasyon olup olmadığını belirleyebilirsiniz. Bağlantının tam yapısını ve bir değişkenin diğerine neden olup olmadığını belirlemek için ekstra araştırma ve istatistiksel analiz gerekecektir.

Doğrusal regresyonun temel varsayımları nelerdir?

Doğrusal regresyonda üç temel varsayım vardır. Bağımlı ve bağımsız değişkenler her şeyden önce doğrusal bir bağlantıya sahip olmalıdır. Bu ilişkiyi kontrol etmek için bağımlı ve bağımsız değişkenlerin dağılım grafiği kullanılır. İkincisi, veri setindeki bağımsız değişkenler arasında minimum veya sıfır çoklu doğrusal bağlantı olmalıdır. Bağımsız değişkenlerin ilişkisiz olduğu anlamına gelir. Değer, etki alanı gereksinimi tarafından belirlenen sınırlı olmalıdır. Homoskedastisite üçüncü faktördür. Hataların eşit olarak dağıldığı varsayımı, en temel varsayımlardan biridir.