Python Eğitimi

Python ANA SAYFA Python Tanıtımı Python Başlarken Python Sözdizimi Python Yorumları Python Değişkenleri Python Veri Türleri Python Numaraları Python Döküm Python Dizeleri Python Boole'leri Python Operatörleri Python Listeleri piton demetleri Python Setleri Python Sözlükleri Python Eğer... Başka Python while Döngüleri Döngüler için Python Python Fonksiyonları piton lambda Python Dizileri Python Sınıfları/Nesneleri Python Kalıtımı Python Yineleyiciler Python Kapsamı Python Modülleri Python Tarihleri Python Matematik Python JSON'u Python Normal İfade Python PIP'si Python Deneyin... Hariç Python Kullanıcı Girişi Python Dize Biçimlendirme

Dosya yönetimi

Python Dosya İşleme Python Okuma Dosyaları Python Dosyaları Yazma/Oluşturma Python Dosyaları Sil

Python Modülleri

NumPy Eğitimi Panda İzlenecek Yol Scipy Eğitimi

Python Matplotlib'i

Matplotlib'e Giriş Matplotlib Başlarken Matplotlib Pyplot Matplotlib Çizimi Matplotlib İşaretçileri Matplotlib Hattı Matplotlib Etiketleri Matplotlib Izgarası Matplotlib Alt Noktaları Matplotlib Dağılımı Matplotlib Çubukları Matplotlib Histogramları Matplotlib Pasta Grafikleri

Makine öğrenme

Başlarken Ortalama Medyan Modu Standart sapma Yüzdelik Veri Dağıtımı Normal Veri Dağılımı Dağılım grafiği Doğrusal Regresyon Polinom Regresyon Çoklu regresyon Ölçek Tren/Test Karar ağacı

Python MySQL

MySQL'e Başlayın MySQL Veritabanı Oluştur MySQL Tablo Oluştur MySQL Ekle MySQL Seçimi MySQL Nerede MySQL Sıralaması MySQL Sil MySQL Bırakma Tablosu MySQL Güncellemesi MySQL Sınırı MySQL'e Katılma

Python MongoDB

MongoDB Başlarken MongoDB Veritabanı Oluştur MongoDB Koleksiyon Oluştur MongoDB Ekle MongoDB Bul MongoDB Sorgusu MongoDB Sıralaması MongoDB Sil MongoDB Damla Koleksiyonu MongoDB Güncellemesi MongoDB Sınırı

Python Referansı

Python'a Genel Bakış Python Yerleşik İşlevleri Python Dizisi Yöntemleri Python Liste Yöntemleri Python Sözlük Yöntemleri Python Tuple Yöntemleri Python Kümesi Yöntemleri Python Dosya Yöntemleri Python Anahtar Kelimeleri Python İstisnaları Python Sözlüğü

Modül Referansı

Rastgele Modül İstek Modülü İstatistik Modülü Matematik Modülü cMath Modülü

Python Nasıl Yapılır?

Liste Kopyalarını Kaldır Bir Dizeyi Ters Çevir İki Sayı Ekle

Python Örnekleri

Python Örnekleri Python Derleyici Python Alıştırmaları Python Testi Python Sertifikası

Makine Öğrenimi - Çoklu Regresyon


Çoklu regresyon

Çoklu regresyon, lineer regresyon gibidir, ancak birden fazla bağımsız değere sahiptir, bu, iki veya daha fazla değişkene dayalı bir değeri tahmin etmeye çalıştığımız anlamına gelir .

Aşağıdaki veri setine bir göz atın, arabalar hakkında bazı bilgiler içeriyor.

Araba modeli Ses Ağırlık CO2
toyota Aygo 1000 790 99
Mitsubishi uzay yıldızı 1200 1160 95
Skoda Citigo 1000 929 95
Fiat 500 900 865 90
Mini Cooper 1500 1140 105
VW Yukarı! 1000 929 105
Skoda fabia 1400 1109 90
Mercedes Bir sınıf 1500 1365 92
Ford şenlik 1500 1112 98
audi A1 1600 1150 99
hyundai I20 1100 980 99
Suzuki Süratli 1300 990 101
Ford şenlik 1000 1112 99
Honda sivil 1600 1252 94
hyundai I30 1600 1326 97
Opel astra 1600 1330 97
BMW 1 1600 1365 99
Mazda 3 2200 1280 104
Skoda Ani 1600 1119 104
Ford Odak 2000 1328 105
Ford Mondeo 1600 1584 94
Opel nişan 2000 1428 99
Mercedes C-Sınıfı 2100 1365 99
Skoda Octavia 1600 1415 99
Volvo S60 2000 1415 99
Mercedes CLA 1500 1465 102
audi A4 2000 1490 104
audi A6 2000 1725 114
Volvo V70 1600 1523 109
BMW 5 2000 1705 114
Mercedes E-Sınıfı 2100 1605 115
Volvo XC70 2000 1746 117
Ford B-Max 1600 1235 104
BMW 2 1600 1390 108
Opel Zafira 1600 1405 109
Mercedes SLK 2500 1395 120

Motorun boyutuna bağlı olarak bir arabanın CO2 emisyonunu tahmin edebiliriz, ancak çoklu regresyonla, tahmini daha doğru hale getirmek için arabanın ağırlığı gibi daha fazla değişken ekleyebiliriz.


O nasıl çalışır?

Python'da işi bizim için yapacak modüllerimiz var. Pandalar modülünü içe aktararak başlayın.

import pandas

Pandalar Eğitimimizde Pandalar modülü hakkında bilgi edinin .

Pandas modülü, csv dosyalarını okumamıza ve bir DataFrame nesnesi döndürmemize izin verir.

Dosya yalnızca test amaçlıdır, buradan indirebilirsiniz: cars.csv

df = pandas.read_csv("cars.csv")

Ardından bağımsız değerlerin bir listesini yapın ve bu değişkeni çağırın X.

Bağımlı değerleri adlı bir değişkene koyun y.

X = df[['Weight', 'Volume']]
y = df['CO2']

İpucu: Bağımsız değerler listesini büyük harf X ile ve bağımlı değerler listesini küçük harf y ile adlandırmak yaygındır.

Sklearn modülünden bazı yöntemler kullanacağız, bu yüzden o modülü de içe aktarmamız gerekecek:

from sklearn import linear_model

Sklearn modülünden, LinearRegression()yöntemi doğrusal bir regresyon nesnesi oluşturmak için kullanacağız.

Bu nesnenin, fit()bağımsız ve bağımlı değerleri parametre olarak alan ve regresyon nesnesini ilişkiyi tanımlayan verilerle dolduran bir yöntemi vardır:

regr = linear_model.LinearRegression()
regr.fit(X, y)

Artık bir otomobilin ağırlığına ve hacmine dayalı olarak CO2 değerlerini tahmin etmeye hazır bir regresyon nesnemiz var:

#predict the CO2 emission of a car where the weight is 2300kg, and the volume is 1300cm3:
predictedCO2 = regr.predict([[2300, 1300]])

Örnek

Tüm örneği çalışırken görün:

import pandas
from sklearn import linear_model

df = pandas.read_csv("cars.csv")

X = df[['Weight', 'Volume']]
y = df['CO2']

regr = linear_model.LinearRegression()
regr.fit(X, y)

#predict the CO2 emission of a car where the weight is 2300kg, and the volume is 1300cm3:
predictedCO2 = regr.predict([[2300, 1300]])

print(predictedCO2)

Sonuç:

[107.2087328]

1,3 litrelik motora ve 2300 kg ağırlığa sahip bir otomobilin kat ettiği her kilometrede yaklaşık 107 gram CO2 salacağını tahmin etmiştik.



katsayı

Katsayı, bilinmeyen bir değişkenle olan ilişkiyi tanımlayan bir faktördür.

Örnek: eğer xbir değişken ise, o 2xzaman xiki keredir. xbilinmeyen değişkendir ve sayı 2katsayıdır.

Bu durumda, CO2'ye karşı ağırlığın ve CO2'ye karşı hacmin katsayı değerini isteyebiliriz. Aldığımız cevap(lar), bağımsız değerlerden birini arttırırsak veya azaltırsak ne olacağını söyler.

Örnek

Regresyon nesnesinin katsayı değerlerini yazdırın:

import pandas
from sklearn import linear_model

df = pandas.read_csv("cars.csv")

X = df[['Weight', 'Volume']]
y = df['CO2']

regr = linear_model.LinearRegression()
regr.fit(X, y)

print(regr.coef_)

Sonuç:

[0.00755095 0.00780526]

Sonuç Açıklaması

Sonuç dizisi, ağırlık ve hacmin katsayı değerlerini temsil eder.

Ağırlık: 0.00755095
Hacim: 0.00780526

Bu değerler bize ağırlık 1 kg artarsa ​​CO2 emisyonunun 0.00755095g arttığını söyler.

Motor hacmi (Hacim) 1 cm 3 artarsa ​​CO2 emisyonu 0,00780526 gr artar.

Bence bu adil bir tahmin, ama test edelim!

1300cm3 motorlu bir arabanın 2300kg ağırlığında olması durumunda CO2 emisyonunun yaklaşık 107g olacağını zaten tahmin etmiştik.

Ağırlığı 1000kg ile arttırırsak ne olur?

Örnek

Örneği öncekinden kopyalayın, ancak ağırlığı 2300'den 3300'e değiştirin:

import pandas
from sklearn import linear_model

df = pandas.read_csv("cars.csv")

X = df[['Weight', 'Volume']]
y = df['CO2']

regr = linear_model.LinearRegression()
regr.fit(X, y)

predictedCO2 = regr.predict([[3300, 1300]])

print(predictedCO2)

Sonuç:

[114.75968007]

1.3 litrelik motora ve 3300 kg ağırlığa sahip bir otomobilin kat ettiği her kilometrede yaklaşık 115 gram CO2 salacağını tahmin etmiştik.

Bu, 0.00755095 katsayısının doğru olduğunu gösterir:

107.2087328 + (1000 * 0.00755095) = 114.75968