MAKİNE ÖĞRENMESİ İLE İLGİLİ KÜTÜPHANELER
Makine öğrenmesi, bilgisayarların verilerden öğrendiği ve deneyimle iyileştiği yapay zekanın bir alt alanıdır. Makine öğrenmesi uygulamaları geliştirmek için çeşitli programlama dilleri ve platformlar kullanılabilir. Bunlardan bazıları şunlardır:
- Python: Açık kaynak kodlu, işlevsel ve ücretsiz bir programlama dilidir. Geniş topluluk desteği, kütüphane zenginliği ve işlevselliği nedeniyle özellikle son yıllarda programlama, makine öğrenmesi ve yapay zekâ alanlarında tercih edilen bir programlama dilidir. Python ile makine öğrenmesi uygulamaları geliştirmek için popüler kütüphaneler arasında scikit-learn, TensorFlow ve PyTorch bulunur. - Google Colab Not Defteri: Bulut tabanlı bir platformdur. Python kodunu tarayıcı üzerinden çalıştırmaya ve paylaşmaya olanak sağlar. Google Colab Not Defteri, makine öğrenmesi uygulamaları için gerekli olan kütüphaneleri ve araçları içerir. Ayrıca, Google’ın GPU ve TPU gibi güçlü hesaplama kaynaklarına erişim sağlar. - Microsoft Azure Machine Learning: Bulut tabanlı bir platformdur. Makine öğrenmesi modellerini oluşturmak, eğitmek, dağıtmak ve yönetmek için kapsamlı bir çözüm sunar. Azure Machine Learning, Python, R ve diğer programlama dillerini destekler. Ayrıca, Azure Databricks, Azure Synapse Analytics ve Azure Cognitive Services gibi diğer Azure hizmetleriyle entegre çalışır. - AutoCAD: Vektör tabanlı çizim ve tasarım programlarından biridir. İki boyutlu ve üç boyutlu geometrik nesneler oluşturabileceğiniz bir programdır. Makine mühendisleri, mekanik tasarımlarını gerçekleştirmek için AutoCAD kullanabilir. - SolidWorks: Üç boyutlu modelleme ve simülasyon programlarından biridir. Makine mühendisleri, parça, montaj ve çizim tasarımlarını yapmak için SolidWorks kullanabilir. Bu yazılımların dışında, makine öğrenmesi için faydalı olabilecek diğer yazılımlar arasında MATLAB, ANSYS, Excel ve Word bulunur. SciPy Kütüphanesi SciPy kütüphanesi, Python programlama dilinde bilimsel hesaplamalar yapmak için kullanılan bir kütüphanedir. SciPy, NumPy kütüphanesinin sağladığı çok boyutlu diziler ve matematiksel işlemler üzerine kurulmuştur. SciPy, NumPy’dan daha fazla fonksiyon ve modül içerir. SciPy’nin alt modülleri, farklı bilimsel alanlarda kullanılan yöntemleri içerir. Örneğin: - scipy.integrate: Sayısal integrasyon ve diferansiyel denklemler çözme yöntemleri sunar. - scipy.linalg: Lineer cebir, matris ayrıştırma, özdeğer bulma ve diğer matris işlemleri için fonksiyonlar sağlar. - scipy.optimize: Optimizasyon problemleri, kök bulma, eğri uydurma ve diğer matematiksel optimizasyon yöntemleri için fonksiyonlar içerir. - scipy.signal: Sinyal işleme, filtreleme, Fourier analizi, dalgalet dönüşümü ve diğer sinyal analizi yöntemleri için fonksiyonlar sunar. - scipy.stats: İstatistik, olasılık dağılımları, hipotez testleri, korelasyon analizi ve diğer istatistiksel yöntemler için fonksiyonlar sağlar. SciPy kütüphanesi, bilimsel hesaplamalar için güçlü ve esnek bir araçtır. SciPy, Python’un avantajlarından yararlanarak, kolay okunabilir, hızlı yazılabilir ve genişletilebilir bir kod yazmayı mümkün kılar. SciPy, bilim, mühendislik, veri analizi, makine öğrenimi ve diğer birçok alanda kullanılan bir kütüphanedir. SciPy Kurulumu ve İçe Aktarılması SciPy, Python’da bilimsel hesaplama yapmak için kullanılan ücretsiz ve açık kaynaklı bir kütüphanedir. SciPy, NumPy, SciPy.ndimage ve diğer kütüphaneler üzerine inşa edilmiştir ve optimizasyon, lineer cebir, integrasyon, interpolasyon, özel fonksiyonlar, FFT, sinyal ve görüntü işleme, ODE çözücüleri gibi bilim ve mühendislikte yaygın olan problemler için algoritmalar sağlar. SciPy’ı sisteminize kurmak için çeşitli yöntemler vardır. En kolay yöntemlerden biri, pip veya conda gibi paket yöneticilerini kullanmaktır. Pip, Python paketlerini indirmek ve yüklemek için kullanılan standart bir araçtır. Conda ise Anaconda gibi bilimsel Python dağıtımlarıyla birlikte gelen bir paket ve ortam yöneticisidir. Anaconda, Python’un yanı sıra SciPy ve diğer birçok bilimsel kütüphaneyi de içeren popüler bir dağıtımdır. SciPy’ı pip ile kurmak için, komut satırında şu komutu çalıştırmanız yeterlidir: python python -m pip install scipy SciPy’ı conda ile kurmak için, komut satırında şu komutu çalıştırmanız yeterlidir: python conda install -c conda-forge scipy SciPy’ı Jupyter Notebook üzerinde kurmak için, pip komutunun başına ünlem işareti (!) eklemeniz gerekir: python !pip install scipy Eğer Anaconda platformu üzerinde Jupyter Notebook ile çalışıyorsanız, SciPy kütüphanesi zaten kurulu olarak gelir ve ekstra bir kurulum yapmanıza gerek yoktur. SciPy kütüphanesini Python programınızda kullanmak için, şu komutu kullanarak içe aktarmanız gerekir: python import scipy as sp Bu komut, SciPy kütüphanesini sp adıyla içe aktarır ve kütüphanenin fonksiyonlarını sp.fonksiyon_adi şeklinde çağırmanızı sağlar. Örneğin, SciPy’nin optimize modülündeki minimize fonksiyonunu kullanmak için şu komutu yazabilirsiniz: python from scipy import optimize result = optimize.minimize(sp.sin, x0=0) Bu komut, sinüs fonksiyonunu minimum yapan x değerini bulmaya çalışır. x0 parametresi, başlangıç noktasını belirtir. result değişkeni, optimize işleminin sonucunu içerir. SciPy, scikit-learn ve scikit-image gibi bilimsel eklenti paketleri için de bir temel oluşturur. scikit-learn, Python’da makine öğrenmesi yapmak için kullanılan bir kütüphanedir. scikit-learn, sınıflandırma, regresyon, kümeleme, boyut indirgeme, model seçimi ve ön işleme gibi çeşitli makine öğrenmesi görevleri için modüller sunar. scikit-image ise Python’da görüntü işleme yapmak için kullanılan bir kütüphanedir. scikit-image, filtreleme, segmentasyon, kayıt, morfoloji ve analiz gibi görüntü işleme algoritmaları sağlar. scikit-learn ve scikit-image kütüphanelerini kullanmak için, SciPy gibi pip veya conda ile kurmanız ve Python programınızda içe aktarmanız gerekir. Örneğin, scikit-learn kütüphanesini kurmak için şu komutu kullanabilirsiniz: python pip install scikit-learn scikit-learn kütüphanesini içe aktarmak için şu komutu kullanabilirsiniz: python import sklearn as sk scikit-image kütüphanesini kurmak için şu komutu kullanabilirsiniz: python pip install scikit-image scikit-image kütüphanesini içe aktarmak için şu komutu kullanabilirsiniz: python import skimage as ski scikit-learn ve scikit-image kütüphaneleri, SciPy kütüphanesinin sağladığı algoritmaları ve veri yapılarını kullanarak daha ileri düzeyde bilimsel uygulamalar geliştirmenize olanak tanır. Makine öğrenmesi uygulamaları geliştirirken scikit-learn kütüphanesi yaygın olarak kullanıldığından, bu konuda daha fazla örnek bulabilirsiniz. scikit-image kütüphanesi ise görüntü işleme uygulamaları geliştirirken size yardımcı olacaktır. Seaborn Kütüphanesi Seaborn, Python programlama dilinde verileri görselleştirmek için kullanılan bir kütüphanedir. Matplotlib adlı başka bir kütüphaneye dayanır, ancak daha güzel ve anlaşılır grafikler üretir. Seaborn, Pandas adlı bir kütüphane ile uyumludur. Pandas, verileri tablo şeklinde depolamak ve işlemek için kullanılır. Seaborn, verilerin nasıl dağıldığını, hangi özelliklerin birbiriyle ilişkili olduğunu, hangi grupların arasında farklılıklar olduğunu görmek için çok yararlıdır. Seaborn ile çeşitli grafik türleri oluşturabilirsiniz, örneğin: - Histogram: Verilerin frekansını gösteren dikdörtgenlerden oluşan bir grafiktir. Verilerin ortalaması, medyanı, modu, çarpıklığı gibi istatistiksel özelliklerini görmek için kullanılır. - Kutu grafiği: Verilerin minimum, maksimum, çeyreklikler, medyan ve aykırı değerlerini gösteren bir grafiktir. Verilerin yayılımını ve simetrisini görmek için kullanılır. - Saçılım grafiği: Verilerin iki değişken arasındaki ilişkisini gösteren noktalardan oluşan bir grafiktir. Verilerin korelasyonunu, regresyonunu, kümeleme gibi özelliklerini görmek için kullanılır. - Çizgi grafiği: Verilerin bir değişkene göre nasıl değiştiğini gösteren çizgilerden oluşan bir grafiktir. Verilerin eğilimini, dalgalanmasını, sezonluluğunu gibi özelliklerini görmek için kullanılır. Seaborn kütüphanesi, veri görselleştirme konusunda çok yetenekli ve kolay kullanımlı bir kütüphanedir. Verileri anlamak ve sunmak için çok faydalıdır. Seaborn Kurulumu ve İçe Aktarılması Seaborn, Python’da veri görselleştirme yapmak için kullanılan bir kütüphanedir. Seaborn’u kullanabilmek için öncelikle sisteminizde kurulu olması gerekir. Eğer kurulu değilse, Python’un paket yöneticisi olan pip ile kolayca kurabilirsiniz. Bunun için pip install seaborn komutunu çalıştırmanız yeterlidir. Eğer Jupyter Notebook üzerinde çalışıyorsanız, başına ! işareti koyarak da aynı komutu çalıştırabilirsiniz. Anaconda platformunu kullanıyorsanız, Seaborn zaten kurulu olarak gelir, ekstra bir işlem yapmanıza gerek yoktur. Seaborn kütüphanesini kullanmak için, öncelikle Python kodunuza içe aktarmanız gerekir. Bunun için import seaborn as sns komutunu yazmanız yeterlidir. Bu şekilde Seaborn’u sns takma adıyla kullanabilirsiniz. Seaborn kütüphanesi, veri görselleştirme yapmak için gerekli olan diğer kütüphaneleri de otomatik olarak içe aktarır. Örneğin, pandas, numpy ve matplotlib gibi kütüphaneler Seaborn ile birlikte çalışır. Seaborn kütüphanesi, içinde bazı hazır veri setleri barındırır. Bu veri setleri, veri görselleştirme örnekleri yapmak için kullanışlıdır. Seaborn’de bulunan veri setlerinin listesini görmek için sns.get_dataset_names() komutunu çalıştırabilirsiniz. Bu komut size şöyle bir çıktı verir: [’anagrams’, ’anscombe’, ’attention’, ’brain_networks’, ’car_crashes’, ’diamonds’, ’dots’, ’exercise’, ’flights’, ’fmri’, ’gammas’, ’geyser’, ’iris’, ’mpg’, ’penguins’, ’planets’, ’tips’, ’titanic’] Bu veri setlerinden birini kullanmak için, sns.load_dataset("veri_seti_adi") komutunu kullanabilirsiniz. Örneğin, tips veri setini kullanmak için sns.load_dataset("tips") komutunu çalıştırabilirsiniz. Bu komut size bir pandas DataFrame nesnesi döndürür. Bu nesne üzerinde pandas kütüphanesinin sunduğu tüm işlemleri yapabilirsiniz. Tips veri seti, bir restoranda müşterilerin verdikleri bahşişlere ilişkin bilgiler içerir. Bu veri setinde toplam 7 sütun (kolon) vardır. Bunlar: - total_bill: Toplam hesap miktarı - tip: Verilen bahşiş miktarı - sex: Müşterinin cinsiyeti - smoker: Müşterinin sigara içip içmediği - day: Ziyaret edilen gün - time: Ziyaret edilen zaman (Öğle veya akşam) - size: Masadaki kişi sayısı Tips veri seti hakkında daha fazla bilgi almak için, info ve describe metodlarını kullanabilirsiniz. info metodu, veri setinin boyutu, sütun isimleri, veri tipleri ve eksik değerler hakkında bilgi verir. describe metodu ise, sayısal sütunlara ait tanımlayıcı istatistikleri verir. Örneğin, ortalama, standart sapma, minimum, maksimum, çeyreklikler ve medyan gibi değerleri gösterir. Tips veri setini kullanarak veri görselleştirme yapmak için, Seaborn kütüphanesinin sunduğu çeşitli fonksiyonlardan yararlanabilirsiniz. Örneğin, veri setindeki iki sütun arasındaki ilişkiyi görmek için sns.scatterplot(x="total_bill", y="tip", data=tips) komutunu çalıştırabilirsiniz. Bu komut, total_bill ve tip sütunlarını x ve y eksenlerine yerleştirerek bir saçılım grafiği (scatter plot) oluşturur. data parametresine ise, veri setinin adını verirsiniz. Bu grafikten, total_bill ve tip sütunları arasında pozitif bir ilişki olduğunu görebilirsiniz. Yani, hesap miktarı arttıkça bahşiş miktarı da artmaktadır. Seaborn kütüphanesi, veri görselleştirme yapmak için çok sayıda fonksiyon sunar. Bu fonksiyonların tam listesini ve kullanım örneklerini Seaborn resmi web sitesi seaborn.pydata.org/dan inceleyebilirsiniz. Seaborn ile Veri Görselleştirme Seaborn, Python’da istatistiksel veri görselleştirmesi yapmak için kullanılan bir kütüphanedir. Matplotlib kütüphanesine dayanır, ancak daha yüksek seviyeli ve daha kolay kullanımlı fonksiyonlar sunar. Seaborn ile veri çerçevelerini (DataFrame) doğrudan grafiklere dönüştürebilir, renk paletleri ve temalar seçebilir, veri dağılımlarını ve ilişkilerini gösterebilirsiniz. Bazı Seaborn fonksiyonlarını ve parametrelerini kısaca açıklamak gerekirse: - scatterplot fonksiyonu, iki değişken arasındaki ilişkiyi noktalar halinde gösteren bir grafik çizer. data parametresi ile veri çerçevesini, x ve y parametreleri ile değişkenleri belirtirsiniz. Örneğin, tips veri setinde bahşiş ve fatura toplamı arasındaki ilişkiyi görmek için şöyle yazabilirsiniz: python import seaborn as sns import matplotlib.pyplot as plt sns.set() # Seaborn’un varsayılan stilini ayarla tips = sns.load_dataset("tips") # tips veri setini yükle sns.scatterplot(data=tips, x="total_bill", y="tip") # scatterplot çiz plt.show() # grafiği göster - set_style fonksiyonu, grafiğin arka planını, ızgarasını ve eksenlerini değiştirmenizi sağlar. darkgrid, whitegrid, dark, white ve ticks gibi farklı stiller seçebilirsiniz. Örneğin, arka planı beyaz, ızgarayı koyu ve eksenleri kalın yapmak için şöyle yazabilirsiniz: python sns.set_style("whitegrid", {"axes.edgecolor": "black", "axes.linewidth": 2}) - palette parametresi, grafiğin renklerini belirlemenizi sağlar. Seaborn’un önceden tanımlanmış renk paletlerinden birini seçebilir veya kendi renklerinizi belirtebilirsiniz. Örneğin, grafiği mavi tonlarında yapmak için şöyle yazabilirsiniz: python sns.scatterplot(data=tips, x="total_bill", y="tip", palette="Blues") - set fonksiyonu, grafiğin boyutunu, çözünürlüğünü ve yazı tipini ayarlamanızı sağlar. rc parametresi ile bu ayarları bir sözlük olarak verirsiniz. Örneğin, grafiği 8x6 inç boyutunda, 300 dpi çözünürlükte ve 14 punto yazı tipinde yapmak için şöyle yazabilirsiniz: python sns.set(rc={"figure.figsize": (8, 6), "figure.dpi": 300, "font.size": 14}) - color parametresi, grafiğin çizgilerinin ve noktalarının rengini belirtmenizi sağlar. Bir renk adı, kodu veya paleti verebilirsiniz. Örneğin, grafiği kırmızı yapmak için şöyle yazabilirsiniz: python sns.scatterplot(data=tips, x="total_bill", y="tip", color="red") - hue parametresi, veriyi kategorik olarak gruplandırmanızı sağlar. Bir kategorik değişken adı verirseniz, grafiğin renkleri o değişkene göre ayrılır. Örneğin, grafiği yemek zamanına göre gruplamak için şöyle yazabilirsiniz: python sns.scatterplot(data=tips, x="total_bill", y="tip", hue="time") - relplot fonksiyonu, ilişkisel bir grafik çizer. scatterplot gibi iki değişken arasındaki ilişkiyi noktalar halinde gösterebilir veya lineplot gibi iki değişken arasındaki ilişkiyi çizgiler halinde gösterebilir. kind parametresi ile grafiğin türünü belirtirsiniz. relplot fonksiyonu, scatterplot ve lineplot fonksiyonlarından daha esnektir, çünkü birden fazla grafik çizmenizi sağlar. Örneğin, cinsiyete göre farklı grafikler çizmek için şöyle yazabilirsiniz: python sns.relplot(data=tips, x="total_bill", y="tip", kind="scatter", col="sex") - height parametresi, grafiğin yüksekliğini belirlemenizi sağlar. Bir sayısal değer verirseniz, grafiğin boyutu o değere göre ayarlanır. Örneğin, grafiği 5 inç yüksekliğinde yapmak için şöyle yazabilirsiniz: python sns.relplot(data=tips, x="total_bill", y="tip", kind="scatter", height=5) - style parametresi, kategorik olarak hue parametresinden başka bir kategorik gösterim olanağı verir. Bir kategorik değişken adı verirseniz, grafiğin şekilleri o değişkene göre ayrılır. Örneğin, grafiği sigara içip içmeme durumuna göre farklı şekillerde yapmak için şöyle yazabilirsiniz: python sns.relplot(data=tips, x="total_bill", y="tip", kind="scatter", style="smoker") - sizes parametresi, sayısal büyüklüğü göstermenizi sağlar. Bir sayısal değişken adı verirseniz, grafiğin noktalarının büyüklüğü o değişkene göre değişir. Örneğin, grafiği masadaki kişi sayısına göre farklı büyüklüklerde yapmak için şöyle yazabilirsiniz: python sns.relplot(data=tips, x="total_bill", y="tip", kind="scatter", sizes="size") - lineplot fonksiyonu, çizgi grafiği çizer. İki değişken arasındaki ilişkiyi çizgiler halinde gösterir. data parametresi ile veri çerçevesini, x ve y parametreleri ile değişkenleri belirtirsiniz. Örneğin, cinsiyete göre fatura toplamı ve bahşiş arasındaki ilişkiyi görmek için şöyle yazabilirsiniz: python sns.lineplot(data=tips, x="total_bill", y="tip", hue="sex") Korelasyon ve Isı Haritası - inner parametresine verilebilecek argümanlar şunlardır: - box: Grafik içinde bir kutu grafiği gösterir. Bu sayede, kategorik değişkenlerin istatistiksel özetini ve yoğunluğunu aynı anda görebiliriz. Örneğin, aşağıdaki grafik, sigara içen ve içmeyen müşterilerin verdiği bahşişlerin dağılımını göstermektedir. Bu grafikten, sigara içen müşterilerin bahşişlerinin ortalamasının, medyanının, minimumunun, maksimumunun ve çeyrekliklerinin sigara içmeyen müşterilerden daha yüksek olduğunu, ayrıca sigara içen müşterilerin bahşişlerinin daha fazla varyasyona sahip olduğunu görebiliriz. python import seaborn as sns import matplotlib.pyplot as plt tips = sns.load_dataset("tips") sns.catplot(x="smoker", y="tip", data=tips, kind="violin", inner="box") plt.show() - quartile: Grafik içinde çeyreklikleri gösterir. Bu sayede, kategorik değişkenlerin dağılımının çeyrekliklerine göre nasıl değiştiğini görebiliriz. Örneğin, aşağıdaki grafik, sigara içen ve içmeyen müşterilerin verdiği bahşişlerin dağılımını göstermektedir. Bu grafikten, sigara içen müşterilerin bahşişlerinin çeyrekliklerinin sigara içmeyen müşterilerden daha yüksek olduğunu, ancak sigara içmeyen müşterilerin bahşişlerinin daha simetrik bir dağılıma sahip olduğunu görebiliriz. python import seaborn as sns import matplotlib.pyplot as plt tips = sns.load_dataset("tips") sns.catplot(x="smoker", y="tip", data=tips, kind="violin", inner="quartile") plt.show() - point: Grafik içinde noktaları gösterir. Bu sayede, kategorik değişkenlerin dağılımının bireysel değerlerini görebiliriz. Örneğin, aşağıdaki grafik, sigara içen ve içmeyen müşterilerin verdiği bahşişlerin dağılımını göstermektedir. Bu grafikten, sigara içen müşterilerin bahşişlerinin daha fazla çeşitlilik gösterdiğini, ancak sigara içmeyen müşterilerin daha fazla sayıda olduğunu görebiliriz. python import seaborn as sns import matplotlib.pyplot as plt tips = sns.load_dataset("tips") sns.catplot(x="smoker", y="tip", data=tips, kind="violin", inner="point") plt.show() - stick: Grafik içinde çubukları gösterir. Bu sayede, kategorik değişkenlerin dağılımının bireysel değerlerini görebiliriz. Örneğin, aşağıdaki grafik, sigara içen ve içmeyen müşterilerin verdiği bahşişlerin dağılımını göstermektedir. Bu grafikten, sigara içen müşterilerin bahşişlerinin daha fazla çeşitlilik gösterdiğini, ancak sigara içmeyen müşterilerin daha fazla sayıda olduğunu görebiliriz. python import seaborn as sns import matplotlib.pyplot as plt tips = sns.load_dataset("tips") sns.catplot(x="smoker", y="tip", data=tips, kind="violin", inner="stick") plt.show() - None: Grafik içinde hiçbir şey göstermez. Bu sayede, kategorik değişkenlerin dağılımının sadece yoğunluğunu görebiliriz. Örneğin, aşağıdaki grafik, sigara içen ve içmeyen müşterilerin verdiği bahşişlerin dağılımını göstermektedir. Bu grafikten, sigara içen müşterilerin bahşişlerinin daha fazla yoğunlaştığı bölgeleri görebiliriz. python import seaborn as sns import matplotlib.pyplot as plt tips = sns.load_dataset("tips") sns.catplot(x="smoker", y="tip", data=tips, kind="violin", inner=None) plt.show() - split parametresi, farklı kategoriler için grafiği bölmek için kullanılır. Bu sayede, kategorik değişkenlerin dağılımını karşılaştırmak daha kolay olur. Örneğin, aşağıdaki grafik, cinsiyete göre sigara içen ve içmeyen müşterilerin verdiği bahşişlerin dağılımını göstermektedir. Bu grafikten, sigara içen kadınların bahşişlerinin daha fazla çeşitlilik gösterdiğini, sigara içen erkeklerin bahşişlerinin daha yüksek olduğunu, sigara içmeyen kadınların bahşişlerinin daha düşük olduğunu, sigara içmeyen erkeklerin bahşişlerinin daha simetrik bir dağılıma sahip olduğunu görebiliriz. python import seaborn as sns import matplotlib.pyplot as plt tips = sns.load_dataset("tips") sns.catplot(x="smoker", y="tip", hue="sex", data=tips, kind="violin", split=True) plt.show() - Birçok özelliğin birbiriyle ilişkisini birden fazla grafikle görselleştirmek için, Seaborn kütüphanesinde bulunan PairGrid fonksiyonu kullanılır. Bu fonksiyon, bir veri kümesindeki sayısal değişkenlerin ikili kombinasyonlarını gösteren bir ızgara oluşturur. Izgaranın her bir hücresine farklı bir grafik türü uygulanabilir. Örneğin, aşağıdaki grafik, tips veri kümesindeki toplam fatura, bahşiş ve masa boyutu değişkenlerinin birbiriyle ilişkisini göstermektedir. Izgaranın üst üçgeninde korelasyon katsayıları, alt üçgeninde dağılım grafiği, ana köşegeninde ise yoğunluk grafiği çizilmiştir. Bu grafikten, toplam fatura ve bahşiş arasında en yüksek korelasyonun olduğunu, toplam fatura ve masa boyutu arasında orta derecede korelasyonun olduğunu, bahşiş ve masa boyutu arasında ise düşük derecede korelasyonun olduğunu görebiliriz. python import seaborn as sns import matplotlib.pyplot as plt import numpy as np tips = sns.load_dataset("tips") g = sns.PairGrid(tips, vars=["total_bill", "tip", "size"]) g.map_upper(lambda x, y, **kwargs: plt.text(x.mean(), y.mean(), f"{np.corrcoef(x, y)[0, 1]:.2f}", ha="center", va="center")) g.map_lower(sns.scatterplot) g.map_diag(sns.kdeplot) plt.show() Scikit-learn Scikit-learn, Python programlama dilinde makine öğrenmesi algoritmalarını uygulamak için kullanılan bir kütüphanedir. Makine öğrenmesi, verilerden öğrenerek tahminler yapabilen bilgisayar sistemlerinin geliştirilmesi sürecidir. Scikit-learn, makine öğrenmesi sürecindeki farklı aşamaları kolaylaştırmak için çeşitli araçlar ve modüller sağlar. Bu aşamalar şunlardır: - Veri ön işleme: Verileri makine öğrenmesi algoritmalarına uygun hale getirmek için yapılan işlemlerdir. Örneğin, verileri standartlaştırmak, eksik değerleri doldurmak, kategorik verileri sayısal verilere dönüştürmek, verileri eğitim ve test kümelerine ayırmak gibi işlemlerdir. Scikit-learn, sklearn.preprocessing, sklearn.impute, sklearn.feature_extraction gibi modüller ile veri ön işleme işlemlerini gerçekleştirebilir. - Model seçimi ve eğitimi: Makine öğrenmesi algoritmalarını verilere uygulayarak bir model oluşturmak ve bu modelin performansını değerlendirmek için yapılan işlemlerdir. Örneğin, doğrusal regresyon, lojistik regresyon, destek vektör makineleri, karar ağaçları, k-ortalama, yapay sinir ağları gibi algoritmaları kullanarak bir model eğitmek, çapraz doğrulama, ızgara arama, rastgele arama gibi yöntemlerle modelin hiperparametrelerini ayarlamak, doğruluk, hassasiyet, geri çağırma, F1 skoru, ROC eğrisi gibi metriklerle modelin performansını ölçmek gibi işlemlerdir. Scikit-learn, sklearn.linear_model, sklearn.svm, sklearn.tree, sklearn.cluster, sklearn.neural_network gibi modüller ile model seçimi ve eğitimi işlemlerini gerçekleştirebilir. - Model kullanımı ve iyileştirilmesi: Eğitilmiş bir modeli yeni veriler üzerinde tahmin yapmak veya modeli daha iyi hale getirmek için yapılan işlemlerdir. Örneğin, modeli kaydetmek ve yüklemek, modeli seri hale getirmek, modeli güncellemek, modeli bir web servisi olarak sunmak, modelin açıklanabilirliğini artırmak, modelin yanlış yaptığı durumları analiz etmek gibi işlemlerdir. Scikit-learn, sklearn.externals.joblib, sklearn.pipeline, sklearn.model_selection.learning_curve gibi modüller ile model kullanımı ve iyileştirilmesi işlemlerini gerçekleştirebilir. Scikit-learn kütüphanesini kullanabilmek için öncelikle sisteme kurmak gerekir. Bunun için Python’un paket yöneticisi olan pip kullanılabilir. Komut satırında pip install scikit-learn komutu ile Scikit-learn kütüphanesi sisteme kurulur. Eğer Jupyter Notebook gibi bir ortamda çalışılıyorsa, !pip install scikit-learn komutu ile kütüphane kurulabilir. Anaconda gibi bir platform kullanılıyorsa, Scikit-learn kütüphanesi zaten kurulu olarak gelir. Scikit-learn kütüphanesini kullanmak için içe aktarmak gerekir. Bunun için import sklearn komutu kullanılabilir. Ancak genellikle Scikit-learn kütüphanesinin alt modüllerini kullanmak daha pratiktir. Örneğin, from sklearn.linear_model import LinearRegression komutu ile doğrusal regresyon modelini içe aktarabiliriz. Scikit-learn kütüphanesinin versiyonunu öğrenmek için sklearn.__version__ komutu kullanılabilir. Örneğin, aşağıdaki kod bloğu Scikit-learn kütüphanesinin versiyonunu yazdırır. python import sklearn print(sklearn.__version__) |