• Yapay zeka soru ve sorunlarınızı uygun olan kategorilere açıp yanıt alabilirsiniz...

NumPy arange ile linspace arasındaki fark nedir?

  • Konuyu Başlatan Konuyu Başlatan Garfield
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 0
  • Etiketler Etiketler
    veri bilimi

Garfield

YZF Admin
Yaş
40
Konum
YurtDışı
Katılım
27 Eki 2026
Konular
664
Mesajlar
689
AI Seviyesi
Yeni
İki fonksiyon da NumPy dizisi üretir; temel fark, dizinin nasıl belirlendiğidir. arange() başlangıç, bitiş ve adım değerine göre ilerler; linspace() ise başlangıç ile bitiş arasına kaç değer yerleştirileceğini belirler. Bu nedenle belirli bir adımla ilerleyen sayılar için arange, iki uç nokta arasında sabit sayıda örnek üretmek için linspace kullanılır.

arange ve linspace nasıl çalışır?​


np.arange(start, stop, step) ifadesinde start başlangıç değeridir, stop varsayılan olarak diziye dahil edilmez ve step artış miktarını belirler. Örneğin:

Python:
import numpy as np

sayilar = np.arange(0, 10, 2)
print(sayilar)

Çıktı şöyledir:

Kod:
 [0 2 4 6 8]

Burada dizi 0'dan başlar, 2'şer artar ve 10'a ulaşmadan durur. Bitiş değeri genellikle dahil edilmez. Adım değeri açıkça yazılmazsa varsayılan adım 1'dir:

Python:
np.arange(3)
# array([0, 1, 2])

np.linspace(start, stop, num) ifadesinde ise num, üretilecek toplam değer sayısıdır. Başlangıç ve bitiş değerleri varsayılan davranışta diziye dahildir:

Python:
import numpy as np

sayilar = np.linspace(0, 10, 6)
print(sayilar)

Çıktı:

Kod:
 [ 0.  2.  4.  6.  8. 10.]

Bu örnekte adım doğrudan 2 olarak verilmemiştir. NumPy, 0 ile 10 arasında 6 değer üreterek 5 eşit aralık oluşturduğu için ardışık değerler arasındaki fark 2 olmuştur.

Hangi durumda hangisi seçilmeli?​


Seçim yaparken kendinize şu soruyu sorun: Belirli bir adımı mı biliyorum, yoksa toplam kaç örnek istediğimi mi?


Ölçütarangelinspace
Kontrol edilen değerAdım miktarıToplam değer sayısı
Bitiş değeriGenellikle dahil edilmezVarsayılan olarak dahil edilir
Sonuç türüTam sayı veya ondalık olabilirÇoğunlukla ondalık değerler üretir
Uygun kullanımSayaç, indeks ve düzenli adımlı aralıklarGrafik, simülasyon ve eşit aralıklı örnekleme
Dikkat edilmesi gereken noktaOndalık adımlarda eleman sayısı hassas olmayabilirÜretilen değerler arasındaki adım ayrıca hesaplanır


Örneğin 0 ile 1 arasında 0,1 adımlarla ilerlemek istiyorsanız arange doğal seçimdir:

Python:
np.arange(0, 1, 0.1)

Ancak 0 ve 1 dahil olmak üzere tam 11 değer istiyorsanız linspace daha açık ve güvenlidir:

Python:
np.linspace(0, 1, 11)

İki ifade matematiksel olarak benzer görünen sonuçlar verebilir; fakat amaçları aynı değildir. arange(0, 1, 0.1) adım değerini temel alır. linspace(0, 1, 11) ise kaç değer üretileceğini temel alır ve uç noktaları açıkça kontrol eder. Tabloyu izleyen bu ayrım, özellikle grafik ekseni veya bilimsel hesaplama için önemlidir: örnek sayısı sabit olmalıysa linspace, adım aralığı sabit olmalıysa arange kullanın.

Ondalık değerlerde neden linspace daha güvenli olabilir?​


Bilgisayarlar birçok ondalık sayıyı ikili kayan nokta biçiminde tam olarak temsil edemez. Bu nedenle np.arange(0, 1, 0.1) kullanıldığında bazı değerler bellekte 0.3 yerine 0.30000000000000004 gibi çok küçük gösterim farklarıyla tutulabilir. Bu durum çoğu hesaplamayı bozmaz; ancak eşitlik karşılaştırmalarında veya beklenen eleman sayısında sorun oluşturabilir.

linspace doğrudan başlangıç, bitiş ve toplam örnek sayısını hedeflediği için iki uç nokta arasında eşit aralık oluşturmak istediğinizde daha uygundur. Örneğin bir eğri çizmek için x değerleri üretirken:

Python:
import numpy as np

x = np.linspace(0, 2 * np.pi, 100)
y = np.sin(x)

print(x.shape)
print(y.shape)

Beklenen çıktı şöyledir:

Kod:
(100,)
(100,)

Burada x dizisi 0 ile 2π arasında 100 örnek içerir; y dizisi de her x değeri için sinüs sonucunu taşır. Bu kullanım, grafik veya sayısal örnekleme için uygun bir sabit örnek sayısı sağlar. Bununla birlikte linspace daha doğru bir bilimsel sonuç veya daha yüksek hassasiyet garantisi vermez; yalnızca değerlerin nasıl örnekleneceğini belirler.

Kısa karar kuralı​


Belirli bir sayı aralığında 2'şer, 5'er veya 0,1'er ilerlemek istiyorsanız np.arange kullanın. Başlangıç ve bitiş arasında tam olarak 50, 100 veya başka bir sayıda eşit aralıklı örnek istiyorsanız np.linspace kullanın. Bitiş değerinin kesinlikle dahil edilmesi gereken ve toplam örnek sayısının bilindiği durumlarda linspace genellikle daha anlaşılır tercihtir.
 
Son düzenleme:

Sen de şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic
Geri
Üst