Temel İstatistik ve Veri Okuryazarlığı

iammbrn
Türkçe Yayın
Published in
5 min readMar 15, 2024
Resim Link

İstatistik Nedir?

İstatistik veya sayım bilimi, belirli bir amaç için veri toplama, tablo ve grafiklerle özetleme, sonuçları yorumlama, sonuçların güven derecelerini açıklama, örneklerden elde edilen sonuçları kitle için genelleme, özellikler arasındaki ilişkiyi araştırma, çeşitli konularda geleceğe ilişkin tahmin yapma, deney düzenleme ve gözlem ilkelerini kapsayan bir bilimdir. Belirli bir amaç için verilerin toplanması, sınıflandırılması, çözümlenmesi ve sonuçlarının yorumlanması esasına dayanır. Vikipedi

Veri Okuryazarlığı Nedir?

Veri okuryazarlığı, verileri okuma, çalışma, analiz etme ve verilerle tartışma yeteneği olarak tanımlanmaktadır. Veri kümelerine kolay erişim, bu becerileri uygulamak için çok önemlidir. Vikipedi

#datayi (CSV veya başka kaynakalardan) okutmak için pandas kütüphanesini dahil ettik.
import pandas as pd

data_bus='/kaggle/input/iris-flower-dataset/IRIS.csv' # data yolunu data_bus değişkenine atadık.

data=pd.read_csv(data_bus) #pandas kütühanesindeki read_cvs fonksiyonunu kullanarak data_bus dosyasındaki veriler okundu ve data değişkenine atandı.

data.describe() # data içindeki verinin istatistiksel özetini oluşturur.
data içindeki verinin istatistiksel özeti.

1-) Aritmetik Ortalama(average) Bulma:

  • Aritmetik Ortalama bir sayı dizisindeki sayıların toplamının, sayı dizisindeki sayıların sayı adedine bölümü ile elde edilen sonuçtur.
  • Örnek: Dizi=[1+2+3+4+5] diye bir dizimiz olsun bu dizideki elamanların Aritmetik Ortalaması=(toplam=(n * n+1)/2)/(sayı adedi=n)
  • Aritmetik Ortalaması=15/5=3 tür.
def find_Average(array):  #find_Average fonksiyonu parametre olarak verilen dizininin elemanlarının Aritmetik ortalamasını değer olarak döndürüen fonksiyondur.
total=0
average=0
data_count=0
for i in array: #datanın sepal_lenght sütunundaki verilere tek tek ulaşıp total değişkenine eklemek için kullanırız.
total+=i
data_count+=1

average=total/data_count # bulduğumuz toplam ve veri sayısını kullanrak bu verilerin ortalamasına ulaşırız.
return average

print("Average of sepal_length values=",find_Average(data["sepal_length"])) #Verilerin ortalaması ekran çıktısı olarak verilir.

Çıktı:

Average of sepal_length values= 5.843333333333335

2-) Mod (Tepe Değer) Bulma:

  • Mod bir sayı dizisinde en çok tekrar eden değerdir.
  • Örnek: Dizi=[300,400,300,600,300,400] diye bir dizimiz olsun bu dizinin Mod=dizi içinde en çok tekrar eden eleman
  • Mod=300 dür.
import time   #time kütüphanesini programı biraz bekletip sonra çıktı vermesi için kullandım.

def find_Mode(array): #find_Mod fonksiyonu parametre olarak veilen dizi içindeki mod elemanını ve bu elemanın dizideki frekansını(tekrar sayısını) değer olarak döndürür.
dictionary=dict()
for number in array:
if number in dictionary:
dictionary[number] += 1
else:
dictionary[number] = 1
max_count = 0
mod=None

for number,count in dictionary.items(): #sözlük key(anahtar) ve value(değer) değerileri bir liste içinde demet olarak number ve count değişkenlerine sırasıyla atanır.
if(count>max_count):
max_count=count
mod=number

return mod


print("The program is running :)")
time.sleep(1) # programı bir saniye bekletir ve çalıştırmaya devam eder.
print("The mode of this number sequence is {}.".format(find_Mode(data["petal_length"]))) # find_Mode fonksiyonula petal_length dizisinde bulunan verilerin modunu bulur.

Çıktı:

The program is running :)

The mode of this number sequence is 1.5.

3-) Medyan(Ortanca) Bulma:

  • Medyan sıralanmış bir sayısal dizide dizinin ortasında bulunan sayıdır. Eğer dizinin elaman sayısı Çift ise bu durumda dizinin ortasında bulunan iki elemanın aritmetik ortalaması dizinin medyan değeri olur.
  • Tek sayıda elemanı bulunan dizide medyan ortadaki sayıdır.
  • Örnek: Dizi=[100,300,600,800,900,1000] diye sayısal bir dizimiz olsun. Bu sayısal dizinin Medyanı eleman sayısına bağlıdır.eleman sayısı çift olduğu için Medyan ortadaki iki elemanın Aritmetik ortalamasına eşit olur. Medyan=(600+800)/2=700' dür.
  • Örnek: Dizi=[1,2,3,4,5] diye bir dizimiz olsun. Bu dizinin Medyanı eleman sayısı tek olduğu için ortadaki elemana eşittir. Medyan=3' tür.
def find_Median(array): # find_Median fonksiyonu dizinin elaman sayısına bakarak bu dizinin ortanca değerini değer olarak dödürür.
if(len(array)%2!=0): #eleman sayısı tek ise.
index=round(len(array)/2)
return array[index]

else: #eleman sayısı çift ise.
index=int((len(array))/2)
average=(array[index]+array[index-1])/2
return average

print("The median of this series of numbers= {}".format(find_Median(data["petal_width"]))) # find_Mode fonksiyonula petal_width dizisinde bulunan verilerin medyanını bulur.

Çıktı:

The median of this series of numbers= 1.35

4-) Min Değer, Max Değer ve Değer Aralığı Bulma:

  • Min Değer, sıralanmış bir sayısal dizide dizinin ilk indeksinde bulunan sayıdır.
  • Max Değer, sıralanmış bir sayısal dizide dizinin son indeksinde bulunan sayıdır.
  • Değer Aralığı, sıralanmış bir sayısal dizide dizinin en büyük değeri ile en küçük değerinin farkıdır. Değer Aralığı = Max Değer — Min Değer
  • Örnek: Dizi=[1000,3000,5000,6000,9000,12000] diye bir dizimiz olsun.
  • Min Değer=1000'dir. Max Değer=12000'dir. Değer Aralığı=12000–1000=11000'dir.
def find_MinValue(array): #find_MinValue fonksiyonu parametre olarak verilen diziyi sıralar ve min değeri sonuç olarak döndürür.
return array.min()


def find_MaxValue(array): #find_MaxValue fonksiyonu parametre olarak verilen diziyi sıralar ve max değeri sonuç olarak döndürür.
return array.max()


def find_ValueRange(array): #find_ValueRange fonksiyonu parametre olarak verilen diziyi sıralar ve değer aralığını sonuç olarak döndürür.
return array.max()-array.min()

array=data["petal_length"]

print("The min value of this series of numbers= {}".format(find_MinValue(array)))
print("The max value of this series of numbers= {}".format(find_MaxValue(array)))
print("The ralue range of this series of numbers= {}".format(find_ValueRange(array)))

Çıktı:

The min value of this series of numbers= 1.0
The max value of this series of numbers= 6.9
The ralue range of this series of numbers= 5.9

5-) Standart Sapma Bulma:

  • Standart sapma, bir veri setinin ne kadar dağınık veya değişken olduğunu ölçen bir istatistiksel ölçüdür. Bir veri setindeki değerlerin ne kadar birbirinden farklı olduğunu gösterir. Düşük standart sapma, veri setindeki değerlerin birbirine yakın olduğunu gösterirken, yüksek standart sapma ise değerlerin birbirinden uzak olduğunu gösterir.
  • Standart Sapma bir dizideki sayılarin dizinin aritmetik ortalamasından farklarının karelerinin toplamının dizinin eleman sayısının bir eksiğine bölümünün kareköküdür.
def find_standard_deviation(array): # find_standard_deviation fonksiyonu parametre olarak verilen dizinin elemanlarının standart sapmasını değer olarak döndürür.

total1=0
for i in array:
total1+=(i-find_Average(array))**2 #find_Average fonksiyonu ile ortalama değer bulunur ve her değerden ortalama değer çıkarılır.

standard_deviation=(total1/(len(array)-1))**(1/2)

return standard_deviation


print("The standard deviation of this series of numbers=",find_standard_deviation(data["sepal_width"]))

Çıktı:

The standard deviation of this series of numbers= 0.4335943113621737

6-) Varyans Bulma:

  • Varyans, bir veri kümesinin standart sapmasının karesine eşittir.
  • Varyans, bir veri setindeki değerlerin ortalama etrafında ne kadar dağınık olduğunu ölçen bir istatistiksel ölçüdür. Standart sapma gibi, bir veri setinin değişkenliğini ölçmek için kullanılır.
def find_variance(array): # find_variance fonksiyonu parametre olarak verilen dizinin varyans değerini döndürür.
variance=(find_standard_deviation(array))**2 #find_standard_deviation fonksiyonu ile dizinin standart sapması bulunur ve karesi alınarak varyans hesaplanır.
return variance

print("The variance of this series of numbers=",find_variance(data["sepal_width"]))

Çıktı:

The variance of this series of numbers= 0.18800402684563763

Data için Tüm işlemler:

def find_dataLiteracy(array1,array2,array3,array4): # find_dataLiteracy fonksiyonu elimizdeki dizlerin veri okuryazarlığını yapar.
print(array1.name,array2.name,array3.name,array4.name)
print("Average:{} {} {} {}".format(find_Average(array1),find_Average(array2),find_Average(array3),find_Average(array4)))
print("Mode:{} {} {} {}".format(find_Mode(array1),find_Mode(array2),find_Mode(array3),find_Mode(array4)))
print("Median:{} {} {} {}".format(find_Median(array1),find_Median(array2),find_Median(array3),find_Median(array4)))
print("Min:{} {} {} {}".format(find_MinValue(array1),find_MinValue(array2),find_MinValue(array3),find_MinValue(array4)))
print("Max:{} {} {} {}".format(find_MaxValue(array1),find_MaxValue(array2),find_MaxValue(array3),find_MaxValue(array4)))
print("ValueRange:{} {} {} {}".format(find_ValueRange(array1),find_ValueRange(array2),find_ValueRange(array3),find_ValueRange(array4)))
print("Std:{} {} {} {}".format(find_standard_deviation(array1),find_standard_deviation(array2),find_standard_deviation(array3),find_standard_deviation(array4)))
print("Variance:{} {} {} {}".format(find_variance(array1),find_variance(array2),find_variance(array3),find_variance(array4)))


find_dataLiteracy(data["sepal_length"],data["sepal_width"],data["petal_length"],data["petal_width"])

Çıktı:

sepal_length sepal_width petal_length petal_width
Average:5.843333333333335 3.0540000000000007 3.7586666666666693 1.1986666666666672
Mode:5.0 3.0 1.5 0.2
Median:6.5 2.95 4.35 1.35
Min:4.3 2.0 1.0 0.1
Max:7.9 4.4 6.9 2.5
ValueRange:3.6000000000000005 2.4000000000000004 5.9 2.4
Std:0.8280661279778629 0.4335943113621737 1.7644204199522617 0.7631607417008414
Variance:0.6856935123042505 0.18800402684563763 3.1131794183445156 0.5824143176733783

Bu yazıda Temel İstatistik ve Veri Okuryazarlığı konularına ilişkin kendi yorumlarımı ve örnek uygulamalarımı paylaştım. Umarım açıklayıcı ve ilgi çekici bir içerik olmuştur. Veri ve Makine Öğrenimi konularında konusunda sağladığı çok değerli bilgiler için Nihan Özbaltan hocama çok teşekkür ederim. “iammbrn”

--

--