Skip to content

Latest commit

 

History

History
387 lines (257 loc) · 24 KB

File metadata and controls

387 lines (257 loc) · 24 KB

Scikit-learn kullanarak regresyon modeli oluşturma: dört farklı regresyon yöntemi

Yeni Başlayanlar için Not

Doğrusal regresyon, sayısal bir değeri (örneğin, ev fiyatı, sıcaklık veya satışlar) tahmin etmek istediğimizde kullanılır. Bu yöntemde, giriş özellikleri ile çıktı arasındaki ilişkiyi en iyi temsil eden düz bir çizgi bulunur.

Bu derste, daha ileri regresyon tekniklerini keşfetmeden önce temel kavramı anlamaya odaklanacağız. Doğrusal ve polinomsal regresyon infografiği

İnfografik Dasani Madipalli tarafından

Giriş

Şimdiye kadar, balkabağı fiyatlandırma veri setinden toplanan örnek verilerle regresyonun ne olduğu hakkında bilgi edindiniz. Ayrıca Matplotlib kullanarak bunu görselleştirdiniz.

Şimdi Makine Öğrenimi için regresyona daha derinlemesine dalmaya hazırsınız. Görselleştirme, veriyi anlamlandırmanıza olanak sağlarken, Makine Öğrenimi'nin gerçek gücü modellerin eğitilmesinden gelir. Modeller geçmiş verilere göre eğitilir ve veri bağımlılıklarını otomatik olarak yakalar, böylece modelin daha önce görmediği yeni veriler için tahmin yapmanızı sağlar.

Bu derste, temel doğrusal regresyon ve polinomsal regresyon olmak üzere iki regresyon türünü ve bu tekniklerin altında yatan bazı matematikleri öğreneceksiniz. Bu modeller, farklı giriş verilerine bağlı olarak balkabağı fiyatlarını tahmin etmemize olanak sağlayacak.

Yeni başlayanlar için ML - Doğrusal Regresyonu Anlamak

🎥 Doğrusal regresyon hakkında kısa bir video özeti için yukarıdaki resme tıklayın.

Bu müfredat boyunca, matematik bilgimizin minimum düzeyde olduğunu varsayıyoruz ve bu konuyu diğer alanlardan gelen öğrenciler için erişilebilir kılmaya çalışıyoruz. Bu yüzden anlaşılmayı kolaylaştırmak için notlar, 🧮 açıklamalar, diyagramlar ve diğer öğrenme araçlarına dikkat edin.

Ön Koşul

Artık incelediğimiz balkabağı verisinin yapısına aşina olmalısınız. Bu dersin notebook.ipynb dosyasında önceden yüklenmiş ve önceden temizlenmiş halde bulunmaktadır. Dosyada balkabağı fiyatı bushel başına yeni bir veri çerçevesinde gösterilmektedir. Bu not defterlerini Visual Studio Code'daki çekirdeklerde çalıştırabildiğinizden emin olun.

Hazırlık

Hatırlatma olarak, bu verileri sorular sormak için yüklüyorsunuz.

  • Balkabaklarını satın almak için en iyi zaman ne zamandır?
  • Minyatür balkabaklarından bir kutu için ne kadar fiyat bekleyebilirim?
  • Onları yarım bushel sepetlerde mi yoksa 1 1/9 bushel kutularda mı almalıyım? Veriye daha derinlemesine bakalım.

Önceki derste, Pandas veri çerçevesi oluşturdunuz ve fiyatlandırmayı bushel bazında standartlaştırarak orijinal veri setinin bir kısmını doldurdunuz. Ancak bu şekilde sadece yaklaşık 400 veri noktası toplayabildiniz ve sadece sonbahar aylarına ait veriler oldu.

Bu derse eşlik eden not defterinde önceden yüklenmiş veriye bir göz atın. Veri önceden yüklü ve ay verisini göstermek için ilk bir dağılım grafiği çizildi. Belki veriyi daha da temizleyerek verinin doğası hakkında biraz daha detay alabiliriz.

Doğrusal regresyon çizgisi

Ders 1'de öğrendiğiniz gibi, doğrusal regresyon egzersizinin amacı bir çizgi çizmek ve:

  • Değişken ilişkilerini göstermek. Değişkenler arasındaki ilişkiyi göstermek
  • Tahmin yapmak. Yeni bir veri noktasının o çizgiye göre nerede düşeceğini doğru şekilde tahmin etmek

En Küçük Kareler Regresyonu genellikle bu tür bir çizgiyi çizer. "En Küçük Kareler" terimi modelimizdeki toplam hatayı minimize etmeyi ifade eder. Her veri noktası için gerçek nokta ile regresyon çizgisi arasındaki dikey mesafe (kalan) ölçülür.

Bu mesafeleri kareye almamızın iki temel sebebi vardır:

  1. Büyüklük, Yönden Önde: -5 hatasını +5 hatası ile aynı şekilde ele almak istiyoruz. Karekök alma işlemi tüm değerleri pozitif yapar.

  2. Aykırı Değerleri Cezalandırma: Karekök alma büyük hatalara daha fazla ağırlık verir ve çizgiyi uzak noktalara daha yakın tutmaya zorlar.

Sonra bu kareleri toplarız. Amaç, toplam karenin en küçük olduğu çizgiyi bulmaktır — bu yüzden adı "En Küçük Kareler"dir.

🧮 Matematiği göster

En uygun çizgi (line of best fit) şu denklemle ifade edilir:

Y = a + bX

X 'açıklayıcı değişken'dir. Y 'bağımlı değişken'dir. Çizginin eğimi b ve a, X = 0 iken Y değerini ifade eden y-kesişimidir.

eğimi hesapla

Öncelikle eğimi b hesaplayın. İnfografik Jen Looper tarafından

Başka bir deyişle, balkabağı verimizin orijinal sorusu olan: "ay bazında bushel başına balkabağı fiyatını tahmin et" durumunda, X fiyatı ifade ederken, Y satış ayını temsil eder.

denklem tamamla

Y değerini hesaplayın. Yaklaşık 4$ ödüyorsanız, Nisan olmalı! İnfografik Jen Looper tarafından

Düzgün çizgiyi hesaplayan matematik, eğimi ve aynı zamanda X = 0 iken Y'nin konumunu gösteren y-kesişimini içermektedir.

Bu değerlerin hesaplama yöntemini Math is Fun sitesinde görebilirsiniz. Ayrıca bu En Küçük Kareler hesaplayıcısını ziyaret ederek sayı değerlerinin çizgiye etkisini izleyebilirsiniz.

Korelasyon

Bir diğer önemli terim de verilen X ve Y değişkenleri arasındaki Korelasyon Katsayısıdır. Bir dağılım grafiği kullanarak bu katsayıyı hızlıca görselleştirebilirsiniz. Veriler düzgün bir çizgi üzerinde ise yüksek korelasyon vardır, ama veriler X ve Y arasında rastgele dağılmışsa korelasyon düşüktür.

İyi bir doğrusal regresyon modeli, En Küçük Kareler Regresyon yöntemi ile çizilmiş regresyon çizgisi kullanarak yüksek (0'a değil, 1'e yakın) bir Korelasyon Katsayısına sahip olandır.

✅ Bu derse eşlik eden not defterini çalıştırın ve Ay ile Fiyat arasındaki dağılım grafiğine bakın. Dağınık grafik yorumu ile balkabağı satışlarında Ay ile Fiyat arasında yüksek mi yoksa düşük mü bir korelasyon görüyorsunuz? Ay yerine yılın günü gibi daha ince bir ölçüm kullandığınızda değişir mi?

Aşağıdaki kodda, verinin temizlendiğini ve new_pumpkins adında aşağıdakine benzer bir veri çerçevesi elde edildiğini varsayacağız:

ID Ay YılınGünü Çeşit Şehir Paket Düşük Fiyat Yüksek Fiyat Fiyat
70 9 267 TURTA TİPİ BALTIMORE 1 1/9 bushel karton 15.0 15.0 13.636364
71 9 267 TURTA TİPİ BALTIMORE 1 1/9 bushel karton 18.0 18.0 16.363636
72 10 274 TURTA TİPİ BALTIMORE 1 1/9 bushel karton 18.0 18.0 16.363636
73 10 274 TURTA TİPİ BALTIMORE 1 1/9 bushel karton 17.0 17.0 15.454545
74 10 281 TURTA TİPİ BALTIMORE 1 1/9 bushel karton 15.0 15.0 13.636364

Veriyi temizlemek için kullanılan kod notebook.ipynb dosyasında mevcuttur. Önceki derste yapılan aynı temizleme adımları uygulanmıştır ve DayOfYear sütunu aşağıdaki ifade ile hesaplanmıştır:

day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days)

Doğrusal regresyonun matematiğini anladığınıza göre, hangi balkabağı paketinin en iyi fiyatı sağlayacağını tahmin etmek için bir Regresyon modeli oluşturalım. Tatil balkabağı tarlası için balkabağı alan biri, satın alımlarını optimize edebilmek adına bu bilgiye ihtiyaç duyabilir.

Korelasyon Arayışı

Yeni başlayanlar için ML - Korelasyon Arayışı: Doğrusal Regresyonun Anahtarı

🎥 Korelasyon hakkında kısa bir video özeti için yukarıdaki resme tıklayın.

Önceki dersten muhtemelen farklı ayların ortalama fiyatının şöyle göründüğünü gördünüz:

Aylara göre ortalama fiyat

Bu, bir miktar korelasyon olduğunu düşündürür ve Ay ile Fiyat veya YılınGünü ile Fiyat arasındaki ilişkiyi tahmin etmek için doğrusal regresyon modeli eğitebiliriz. Aşağıda sonuncusu gösteren bir dağılım grafiği bulunmaktadır:

Yılın Günü ve Fiyat Dağılım Grafiği

corr fonksiyonunu kullanarak korelasyonu kontrol edelim:

print(new_pumpkins['Month'].corr(new_pumpkins['Price']))
print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price']))

Görüldüğü gibi korelasyon oldukça küçük, Ay için -0.15, YılınGünü için ise -0.17, fakat başka önemli bir ilişki olabilir. Fiyatların farklı balkabağı çeşitlerine göre kümelendiği görünüyor. Bu hipotezi doğrulamak için, her balkabağı kategorisini farklı renkte gösterelim. scatter fonksiyonuna bir ax parametresi vererek tüm noktaları aynı grafik üzerinde çizebiliriz:

ax=None
colors = ['red','blue','green','yellow']
for i,var in enumerate(new_pumpkins['Variety'].unique()):
    df = new_pumpkins[new_pumpkins['Variety']==var]
    ax = df.plot.scatter('DayOfYear','Price',ax=ax,c=colors[i],label=var)

Yılın Günü ve Fiyat Dağılım Grafiği Renkli

İncelemenize göre, çeşit genel fiyata satış tarihinden daha fazla etki ediyor. Bir çubuk grafik ile de görebiliriz:

new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar')

Fiyat ve Çeşit Çubuk Grafiği

Şimdi sadece bir balkabağı çeşidi olan 'turta tipi' üzerinde duralım ve tarihin fiyat üzerindeki etkisini görelim:

pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE']
pie_pumpkins.plot.scatter('DayOfYear','Price') 

Yılın Günü ve Fiyat Dağılım Grafiği

Şimdi Price ve DayOfYear arasındaki korelasyonu corr fonksiyonu ile hesaplayalım; yaklaşık -0.27 alacağız — bu, tahmin modelleri eğitmenin mantıklı olduğunu gösteriyor.

Doğrusal regresyon modeli eğitmeden önce verimizin temiz olduğundan emin olmak önemlidir. Doğrusal regresyon eksik değerlerle iyi çalışmaz, bu yüzden boş hücreleri temizlemek mantıklıdır:

pie_pumpkins.dropna(inplace=True)
pie_pumpkins.info()

Başka bir yöntem ise o boş değerleri ilgili sütunun ortalama değerleri ile doldurmaktır.

Basit Doğrusal Regresyon

Yeni başlayanlar için ML - Scikit-learn kullanarak Doğrusal ve Polinomsal Regresyon

🎥 Doğrusal ve polinomsal regresyon hakkında kısa video özeti için yukarıdaki resme tıklayın.

Doğrusal Regresyon modelimizi eğitmek için Scikit-learn kütüphanesini kullanacağız.

from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split

Giriş değerlerini (özellikleri) ve beklenen çıktıyı (etiket) ayrı numpy dizileri olarak ayırarak başlıyoruz:

X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1)
y = pie_pumpkins['Price']

Giriş verisini Linear Regression paketinin doğru anlaması için reshape işlemi yapmamız gerektiğine dikkat edin. Doğrusal Regresyon, girdi olarak her satırı bir özellik vektörü olan 2D bir dizi bekler. Bizim durumumuzda sadece bir girdi olduğundan, array boyutu N×1 (N veri seti büyüklüğü) olmalıdır.

Sonra modeli eğitim ve test verisi olarak bölmemiz gerekmektedir, böylece eğitim sonrası modelimizi doğrulayabiliriz:

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

Son olarak, gerçek Doğrusal Regresyon modelinin eğitilmesi sadece iki satır kod alır. LinearRegression nesnesini tanımlıyoruz ve fit metodu ile veriye uyduruyoruz:

lin_reg = LinearRegression()
lin_reg.fit(X_train,y_train)

fit işleminden sonra LinearRegression nesnesi regresyonun tüm katsayılarını içerir ve bunlara .coef_ özelliği aracılığıyla erişilebilir. Bizim durumumuzda, yalnızca bir katsayı vardır ve bu yaklaşık -0.017 civarında olmalıdır. Bu, fiyatların zamanla biraz düşme eğiliminde olduğunu gösterir, ancak çok fazla değil, günde yaklaşık 2 sent kadar. Regresyonun Y eksenini kestiği noktaya lin_reg.intercept_ ile erişebiliriz - bizim örneğimizde bu yaklaşık 21 olacak ve yılın başındaki fiyatı gösterir.

Modelimizin ne kadar doğru olduğunu görmek için test veri seti üzerinde fiyatları tahmin edebilir ve ardından tahminlerimizin beklenen değerlere ne kadar yakın olduğunu ölçebiliriz. Bu, beklenen ve tahmin edilen değerler arasındaki tüm kare farkların ortalamasının karekökü olan kök ortalama kare hata (RMSE) metriği kullanılarak yapılabilir.

pred = lin_reg.predict(X_test)

rmse = np.sqrt(mean_squared_error(y_test,pred))
print(f'RMSE: {rmse:3.3} ({rmse/np.mean(pred)*100:3.3}%)')

Hatalarımız yaklaşık 2 puan civarında görünüyor, bu da yaklaşık %17. Çok iyi değil. Model kalitesinin diğer bir göstergesi belirleme katsayısıdır ve şöyle elde edilir:

score = lin_reg.score(X_train,y_train)
print('Model determination: ', score)

Eğer değer 0 ise, model giriş verilerini hesaba katmaz ve en kötü doğrusal tahminci gibi davranır ki bu sadece sonucun ortalamasıdır. Değer 1 olursa, tüm beklenen çıktıları mükemmel şekilde tahmin edebiliriz. Bizim durumumuzda, katsayı yaklaşık 0.06 civarında, yani oldukça düşük.

Regresyonun nasıl çalıştığını daha iyi görmek için test verilerini regresyon çizgisiyle birlikte de çizebiliriz:

plt.scatter(X_test,y_test)
plt.plot(X_test,pred)

Linear regression

Polinom Regresyonu

Doğrusal regresyonun bir başka türü Polinom Regresyonudur. Bazen değişkenler arasında doğrusal bir ilişki vardır - hacmi ne kadar büyükse balkabağının fiyatı o kadar yüksek olur - bazen bu ilişkiler düz bir çizgi ya da düzlem olarak çizilemez.

✅ İşte Polinom Regresyon kullanılabilecek başka örnekler

Date ve Price arasındaki ilişkiye bir kez daha bakın. Bu saçılım grafiği mutlaka bir doğruyla mı analiz edilmeli gibi görünüyor? Fiyatlar dalgalanamaz mı? Bu durumda polinom regresyonu deneyebilirsiniz.

✅ Polinomlar bir veya daha fazla değişken ve katsayı içerebilen matematiksel ifadelerden oluşur.

Polinom regresyon, doğrusal olmayan verilere daha iyi uyması için eğri bir çizgi oluşturur. Bizim durumumuzda, giriş verisine karesel DayOfYear değişkenini dahil edersek, verimizi yıl içinde belirli bir noktada minimuma sahip parabolik bir eğriyle uyarlayabiliriz.

Scikit-learn, veri işleme adımlarını birleştirmek için faydalı bir pipeline API'si içerir. Bir pipeline bir dizi estimatordir. Bizim durumumuzda önce modele polinom özellikler ekleyen, ardından regresyon eğiten bir pipeline oluşturacağız:

from sklearn.preprocessing import PolynomialFeatures
from sklearn.pipeline import make_pipeline

pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())

pipeline.fit(X_train,y_train)

PolynomialFeatures(2) kullanmak, giriş verisindeki tüm ikinci dereceden polinomları dahil edeceğimiz anlamına gelir. Bizim durumumuzda bu sadece DayOfYear2 anlamına gelir, ancak örneğin iki değişken olan X ve Y için bu X2, XY ve Y2 ekler. İsterseniz daha yüksek dereceli polinomlar da kullanabilirsiniz.

Pipelinelar, orijinal LinearRegression nesnesi ile aynı şekilde kullanılabilir, yani pipeline üzerinde fit yapabilir ve sonra predict ile tahmin sonuçları alabilirsiniz. İşte test verileri ve yaklaşık eğriyi gösteren grafik:

Polynomial regression

Polinom Regresyon kullanarak MSE'yi biraz daha düşürebilir ve belirleme katsayısını biraz daha yükseltebiliriz, ama çok değil. Diğer özellikleri de hesaba katmamız gerekiyor!

Kabak fiyatlarının en düşük olduğu yerin Cadılar Bayramı civarı olduğunu görebilirsiniz. Bunu nasıl açıklarsınız?

🎃 Tebrikler, kabak fiyatını tahmin etmeye yardımcı olabilecek bir model yarattınız. Muhtemelen aynı prosedürü tüm kabak çeşitleri için tekrarlayabilirsiniz, ama bu zahmetli olur. Şimdi modelimizde kabak çeşidini nasıl dikkate alacağımızı öğrenelim!

Kategorik Özellikler

İdeal dünyada, farklı kabak çeşitlerinin fiyatlarını aynı modelle tahmin etmek isteriz. Ancak Variety sütunu, Month gibi sütunlardan biraz farklıdır çünkü sayısal olmayan değerler içerir. Bu tür sütunlara kategorik denir.

ML for beginners - Categorical Feature Predictions with Linear Regression

🎥 Kategorik özelliklerin kullanımına kısa video özetini izlemek için yukarıdaki görsele tıklayın.

Burada ortalama fiyatın çeşide nasıl bağlı olduğunu görebilirsiniz:

Average price by variety

Çeşidi dikkate almak için önce onu sayısal forma dönüştürmemiz veya kodlamamız gerekir. Bunu yapmanın birkaç yolu vardır:

  • Basit sayısal kodlama farklı çeşitlerin bir tablosunu oluşturur ve ardından çeşit adını o tablodaki bir indeks ile değiştirir. Bu doğrusal regresyon için en iyi fikir değildir çünkü doğrusal regresyon indeksin gerçek sayısal değerini alır ve sonucu buna göre katsayı ile çarpar. Bizim durumumuzda, indeks numarası ile fiyat arasındaki ilişki açıkça doğrusal değildir, indekslerin belirli bir şekilde sıralandığını varsaysak bile.
  • One-hot kodlama Variety sütununu dört farklı sütunla değiştirir, her biri bir çeşit içindir. Her sütun karşılık gelen satır o çeşide aitse 1, değilse 0 içerir. Bu, doğrusal regresyonda dört katsayı olacağı anlamına gelir; her kabak çeşidi için biri, o çeşidin "başlangıç fiyatı" (veya "ek fiyat") sorumlusudur.

Aşağıdaki kod kabak çeşidini one-hot kodlama ile nasıl yapabileceğimizi gösterir:

pd.get_dummies(new_pumpkins['Variety'])
ID FAIRYTALE MINIATURE MIXED HEIRLOOM VARIETIES PIE TYPE
70 0 0 0 1
71 0 0 0 1
... ... ... ... ...
1738 0 1 0 0
1739 0 1 0 0
1740 0 1 0 0
1741 0 1 0 0
1742 0 1 0 0

One-hot kodlu çeşidi giriş olarak kullanarak doğrusal regresyon eğitmek için sadece X ve y verilerini doğru başlatmamız gerekir:

X = pd.get_dummies(new_pumpkins['Variety'])
y = new_pumpkins['Price']

Kalan kod, yukarıda doğrusal regresyon eğitmek için kullandığımız ile aynıdır. Denerseniz, ortalama kare hata yaklaşık aynı kalır ama belirleme katsayısı çok daha yüksek olur (~%77). Daha doğru tahminler almak için, daha fazla kategorik özellik ile birlikte Month veya DayOfYear gibi sayısal özellikleri de dikkate alabiliriz. Tüm özellikleri birleştirmek için join kullanılabilir:

X = pd.get_dummies(new_pumpkins['Variety']) \
        .join(new_pumpkins['Month']) \
        .join(pd.get_dummies(new_pumpkins['City'])) \
        .join(pd.get_dummies(new_pumpkins['Package']))
y = new_pumpkins['Price']

Burada ayrıca City ve Package türü de dikkate alınır, bu da MSE'yi 2.84 (%10) ve belirleme katsayısını 0.94 yapar!

Hepsini Bir Araya Getirmek

En iyi modeli oluşturmak için, yukarıdaki örnekteki birleşik (one-hot kodlu kategorik + sayısal) verileri Polinom Regresyon ile birlikte kullanabiliriz. İşte kolayınız için tam kod:

# eğitim verilerini ayarla
X = pd.get_dummies(new_pumpkins['Variety']) \
        .join(new_pumpkins['Month']) \
        .join(pd.get_dummies(new_pumpkins['City'])) \
        .join(pd.get_dummies(new_pumpkins['Package']))
y = new_pumpkins['Price']

# eğitim-test bölünmesi yap
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

# işlem hattını kur ve eğit
pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
pipeline.fit(X_train,y_train)

# test verisi için sonuçları tahmin et
pred = pipeline.predict(X_test)

# MSE ve kararlılığı hesapla
mse = np.sqrt(mean_squared_error(y_test,pred))
print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')

score = pipeline.score(X_train,y_train)
print('Model determination: ', score)

Bu, bize neredeyse %97 belirleme katsayısı ve MSE=2.23 (~%8 tahmin hatası) verecektir.

Model MSE Belirleme
DayOfYear Doğrusal 2.77 (17.2%) 0.07
DayOfYear Polinom 2.73 (17.0%) 0.08
Variety Doğrusal 5.24 (19.7%) 0.77
Tüm özellikler Doğrusal 2.84 (10.5%) 0.94
Tüm özellikler Polinom 2.23 (8.25%) 0.97

🏆 Aferin! Bir derste dört regresyon modeli yarattınız ve model kalitesini %97’ye kadar yükselttiniz. Regresyonun son bölümünde kategorileri belirlemek için Lojistik Regresyondan bahsedeceğiz.


🚀Meydan Okuma

Bu not defterinde çeşitli değişkenlerle deney yaparak korelasyonun model doğruluğuna nasıl karşılık geldiğini görün.

Tekrar & Kendi Kendine Çalışma

Bu derste Doğrusal Regresyonu öğrendik. Başka önemli regresyon türleri de vardır. Stepwise, Ridge, Lasso ve Elasticnet teknikleri hakkında okuyun. Daha fazla öğrenmek için iyi bir kurs Stanford İstatistiksel Öğrenme kursu.

Ödev

Model Oluştur


Feragatnamesi:
Bu belge, AI çeviri hizmeti Co-op Translator kullanılarak çevrilmiştir. Doğruluk için çaba sarf etsek de, otomatik çevirilerin hata veya yanlışlık içerebileceğini lütfen unutmayınız. Orijinal belge, kendi yerel dilinde yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımı sonucu oluşabilecek herhangi bir yanlış anlama veya yanlış yorumdan sorumlu değiliz.