Scikit Kullanarak Doğrusal Regresyon Kılavuzu [Örneklerle]

Yayınlanan: 2021-06-18

Denetimli öğrenme algoritmaları genellikle iki tiptir: Sürekli ve ayrık çıktıların tahmini ile regresyon ve sınıflandırma.

Aşağıdaki makale, doğrusal regresyon ve python'un en popüler makine öğrenimi kitaplıklarından biri olan Scikit-learn kitaplığı kullanılarak uygulanmasını tartışacaktır. Python kitaplığında sınıflandırma, regresyon, kümeleme ve boyut azaltma için makine öğrenimi ve istatistiksel modeller için araçlar mevcuttur. Python programlama dilinde yazılan kütüphane, NumPy, SciPy ve Matplotlib python kütüphaneleri üzerine kurulmuştur.

İçindekiler

Doğrusal Regresyon

Doğrusal regresyon, denetimli öğrenme yöntemi altında regresyon görevini yerine getirir. Bağımsız değişkenlere dayalı olarak bir hedef değer tahmin edilir. Yöntem daha çok değişkenler arasındaki ilişkiyi tahmin etmek ve belirlemek için kullanılır.

Cebirde doğrusallık terimi, değişkenler arasında doğrusal bir ilişki anlamına gelir. İki boyutlu bir uzayda değişkenler arasında düz bir çizgi çıkarılır.

Bir çizgi, X eksenindeki bağımsız değişkenler ile Y eksenindeki bağımlı değişkenler arasında bir çizimse, veri noktalarına en iyi uyan doğrusal regresyon yoluyla düz bir çizgi elde edilir.

Düz bir çizginin denklemi şu şekildedir:

Y = mx + b

nerede, b= kesişme

m= doğrunun eğimi

Bu nedenle, doğrusal regresyon yoluyla,

  • Kesişme ve eğim için en uygun değerler iki boyutta belirlenir.
  • x ve y değişkenlerinde veri özellikleri olduğundan ve dolayısıyla aynı kaldığından herhangi bir değişiklik yoktur.
  • Sadece kesme ve eğim değerleri kontrol edilebilir.
  • Eğim ve kesişim değerlerine dayalı birden çok düz çizgi mevcut olabilir, ancak doğrusal regresyon algoritması aracılığıyla veri noktalarına birden çok çizgi yerleştirilir ve en az hataya sahip çizgi döndürülür.

Python ile Doğrusal Regresyon

Python'da doğrusal regresyon uygulamak için, işlevleri ve sınıfları ile birlikte uygun paketler uygulanmalıdır. Python'daki NumPy paketi açık kaynaklıdır ve hem tek hem de çok boyutlu diziler olmak üzere diziler üzerinde çeşitli işlemlere izin verir.

Python'da yaygın olarak kullanılan bir diğer kütüphane, makine öğrenme problemleri için kullanılan Scikit-learn'dir.

Scikit-learN

Scikit-learn kitaplığı, geliştiricilere hem denetimli hem de denetimsiz öğrenmeye dayalı algoritmalar sunar. Python'un açık kaynak kitaplığı, makine öğrenimi görevleri için tasarlanmıştır.

Veri bilimcileri, scikit-learn kullanarak verileri içe aktarabilir, ön işleyebilir, çizebilir ve verileri tahmin edebilir.

David Cournapeau, scikit-learn'i ilk olarak 2007'de geliştirdi ve kütüphane on yıllardan beri büyüme kaydetti.

scikit-learn tarafından sağlanan araçlar şunlardır:

  • Regresyon: Lojistik Regresyon ve Lineer regresyon içerir
  • Sınıflandırma: K-En Yakın Komşular yöntemini içerir
  • Model seçimi
  • Kümeleme: Hem K-Means++ hem de K-Means'i içerir
  • ön işleme

Kütüphanenin avantajları şunlardır:

  • Kütüphanenin öğrenilmesi ve uygulanması kolaydır.
  • Açık kaynaklı bir kütüphanedir ve bu nedenle ücretsizdir.
  • Derin öğrenme de dahil olmak üzere makine öğrenimi yönleri kapatılabilir.
  • Güçlü ve çok yönlü bir pakettir.
  • Kütüphane ayrıntılı belgelere sahiptir.
  • Makine öğrenimi için en çok kullanılan araç takımlarından biri.

scikit-learn'i içe aktarma

Scikit-learn ilk önce pip veya conda aracılığıyla kurulmalıdır.

  • Gereksinimler: NumPy ve Scipy kitaplıklarının kurulu olduğu python 3'ün 64 bit sürümü. Ayrıca veri grafiği görselleştirmesi için matplotlib gereklidir.

Kurulum komutu: pip install -U scikit-learn

Ardından kurulumun tamamlanıp tamamlanmadığını doğrulayın

Numpy, Scipy ve matplotlib kurulumu

Kurulum şu şekilde onaylanabilir:

Kaynak

Scikit-learn aracılığıyla doğrusal regresyon

Scikit-learn paketi aracılığıyla doğrusal regresyonun uygulanması aşağıdaki adımları içerir.

  • Gerekli paketler ve sınıflar içe aktarılacaktır.
  • Verilerle çalışmak ve ayrıca uygun dönüşümleri sürdürmek için gereklidir.
  • Bir regresyon modeli oluşturulmalı ve mevcut verilerle donatılmalıdır.
  • Model uydurma verileri, oluşturulan modelin tatmin edici olup olmadığını analiz etmek için kontrol edilmelidir.
  • Modelin uygulanması yoluyla tahminler yapılmalıdır.

NumPy paketi ve LinearRegression sınıfı, sklearn.linear_model'den içe aktarılacaktır.

Kaynak

Sklearn lineer regresyon için gereken işlevlerin tümü, sonunda lineer regresyonu uygulamak için mevcuttur. sklearn.linear_model.LinearRegression sınıfı, regresyon analizi (hem doğrusal hem de polinom) gerçekleştirmek ve tahminleri gerçekleştirmek için kullanılır.

Herhangi bir makine öğrenimi algoritması ve scikit öğrenme doğrusal regresyonu için, önce veri kümesinin içe aktarılması gerekir. Verileri almak için Scikit-learn'de üç seçenek mevcuttur:

  • İris sınıflandırması veya Boston konut fiyatı için regresyon seti gibi veri kümeleri.
  • Gerçek dünyanın veri kümeleri, Scikit-learn önceden tanımlanmış işlevler aracılığıyla doğrudan internetten indirilebilir.
  • Scikit-learn veri oluşturucu aracılığıyla belirli bir modelle eşleştirmek için rastgele bir veri kümesi oluşturulabilir.

Hangi seçenek seçilirse seçilsin, modül veri kümelerinin içe aktarılması gerekir.

sklearn.datasets'i veri kümeleri olarak içe aktar

1. iris sınıflandırma seti

iris = datasets.load_iris()

Veri kümesi irisi, n_samples * n_features'ın 2B dizi veri alanı olarak depolanır. İthalatı bir sözlüğün nesnesi olarak gerçekleştirilir. Meta verilerle birlikte gerekli tüm verileri içerir.

DESCR, şekil ve _names işlevleri, verilerin tanımlarını ve biçimlendirmesini almak için kullanılabilir. İşlev sonuçlarının yazdırılması, iris veri kümesi üzerinde çalışırken ihtiyaç duyulabilecek veri kümesi bilgilerini görüntüler.

Aşağıdaki kod, iris veri kümesinin bilgilerini yükleyecektir.

Kaynak

2. Regresyon verilerinin üretilmesi

Yerleşik veriler için bir gereklilik yoksa, veriler seçilebilen bir dağıtım yoluyla üretilebilir.

1 bilgilendirici özellik ve 1 özellik seti ile regresyon verilerinin üretilmesi.

X , Y = datasets.make_regression(n_features=1, n_informative=1)

Üretilen veriler, x ve y nesneleri ile 2B veri kümesine kaydedilir. Oluşturulan verilerin özellikleri, make_regression işlevinin parametreleri değiştirilerek değiştirilebilir.

Bu örnekte, bilgilendirici özelliklerin ve özelliklerin parametreleri varsayılan değer olan 10'dan 1'e değiştirilmiştir.

Göz önünde bulundurulan diğer parametreler, izlenen hedef ve örnek değişkenlerin sayısının kontrol edildiği örnekler ve hedeflerdir .

  • Makine öğrenimi algoritmalarına faydalı bilgiler sağlayan özellikler bilgilendirici özellikler, yarar sağlamayanlar ise bilgilendirici özellikler olarak adlandırılır.

3. Çizim verileri

Veriler matplotlib kütüphanesi kullanılarak çizilir. İlk olarak, matplotlib içe aktarılmalıdır.

matplotlib.pyplot'u plt olarak içe aktar

Yukarıdaki grafik, kod aracılığıyla matplotlib aracılığıyla çizilir.

Kaynak

Yukarıdaki kodda:

  • Tuple değişkenleri paketinden çıkarılır ve kodun 1. satırında ayrı değişkenler olarak kaydedilir. Bu nedenle, ayrı öznitelikler manipüle edilebilir ve kaydedilebilir.
  • Veri kümesi x, y satır 2 boyunca bir dağılım grafiği oluşturmak için kullanılır. Matplotlib'de işaretleyici parametresinin kullanılabilirliği ile görseller, veri noktaları bir nokta (o) ile işaretlenerek geliştirilir.
  • Oluşturulan arsanın başlığı 3. satırda belirlenir.
  • Şekil .png resim dosyası olarak kaydedilebilir ve ardından mevcut şekil kapatılır.

Yukarıdaki kod aracılığıyla oluşturulan regresyon grafiği,

Şekil 1: Yukarıdaki koddan oluşturulan regresyon grafiği.

4. Doğrusal regresyon algoritmasının uygulanması

Boston konut fiyatının örnek verilerini kullanarak, aşağıdaki örnekte Scikit-learn doğrusal regresyon algoritması uygulanmaktadır . Diğer ML algoritmaları gibi, veri kümesi içe aktarılır ve ardından önceki veriler kullanılarak eğitilir.

Doğrusal regresyon yöntemi, sayısal bir miktar ile değişkenleri arasındaki ilişkiyi gerçekte bir değere sahip olan çıktı değeriyle ilişkilendiren tahmine dayalı bir model olduğu için işletmeler tarafından kullanılır.

Daha önceki verilerin bir günlüğü mevcut olduğunda, modelin devamı varsa gelecekte olacakların gelecekteki sonuçlarını tahmin edebildiği için model en iyi şekilde uygulanabilir.

Matematiksel olarak, veriler, veri noktaları ile tahmin edilen değer arasında var olan tüm artıkların toplamını en aza indirecek şekilde yerleştirilebilir.

Aşağıdaki kod parçası, sklearn doğrusal regresyon uygulamasını göstermektedir.

Kaynak

Kod şu şekilde açıklanmaktadır:

  • 6. satır, load_boston adlı veri kümesini yükler.
  • Veri seti 12. satıra bölünmüştür, yani %80 veri içeren eğitim seti ve %20 veri içeren test seti.
  • 23. satırda bir lineer regresyon modelinin oluşturulması ve daha sonra eğitildi.
  • Modelin performansı, ortalama_kare_hatası çağrılarak keten 29'da değerlendirilir.

Sklearn doğrusal regresyon grafiği aşağıda gösterilmiştir:

Boston konut fiyatları örnek verilerinin doğrusal regresyon modeli

Kaynak

Yukarıdaki şekilde, kırmızı çizgi, Boston konut fiyatının örnek verileri için çözülen doğrusal modeli temsil etmektedir. Mavi noktalar, orijinal verileri temsil eder ve kırmızı çizgi ile mavi noktalar arasındaki mesafe, artıkların toplamını temsil eder. Scikit -learn lineer regresyon modelinin amacı, artıkların toplamını azaltmaktır.

Çözüm

Makale, scikit-learn adlı açık kaynaklı bir python paketinin kullanımı yoluyla doğrusal regresyon ve uygulamasını tartıştı. Şimdiye kadar, bu paket aracılığıyla doğrusal regresyonun nasıl uygulanacağı kavramını elde edebilirsiniz. Veri analiziniz için kütüphaneyi nasıl kullanacağınızı öğrenmeye değer.

Makine öğreniminde python paketlerinin uygulanması ve yapay zeka ile ilgili sorunlar gibi konuyu daha fazla araştırmakla ilgileniyorsanız, upGrad tarafından sunulan Makine Öğrenimi ve Yapay Zekada Yüksek Lisans kursunu inceleyebilirsiniz. 21 ila 45 yaş arasındaki giriş seviyesindeki profesyonelleri hedefleyen kurs, öğrencileri 650+ saatlik çevrimiçi eğitim, 25+ vaka çalışması ve ödevler aracılığıyla makine öğrenimi konusunda eğitmeyi amaçlar. LJMU'dan sertifikalı kurs, mükemmel rehberlik ve işe yerleştirme yardımı sunar. Herhangi bir sorunuz veya sorunuz varsa, bize bir mesaj bırakın, sizinle iletişim kurmaktan memnuniyet duyarız.

Yapay Zeka Güdümlü Teknolojik Devrime Öncülük Edin

MAKİNE ÖĞRENİMİ VE YAPAY ZEKA YÖNETİCİ PG PROGRAMI
Şimdi Uygula