C# Örneklerimize Veri Madenciliği Dersinin konusu olan Z-Score Normalizasyonu Hesaplanması ile devam ediyoruz önceki dersimizde Min Max Normalizasyonu Hesaplanması işleminden bahsetmiştik. Yine aynı örnekteki gibi bir form tasarımı oluşturup Z-Score Normalizasyonu Hesaplamasını yapacağız bunun için kullanacağımız formül

burada yapılacak işlem Değer’den dizinin ortalamasını çıkarıp daha sonra bunu standart sapmaya böleceğiz. C# ile Standart Sapma ve Ortalama Hesaplama örneğindeki komutları bu uygulamada kullanacağız.

List<int> sayiDizisi = new List<int>();
private void button1_Click(object sender, EventArgs e)
{
int sayi = Convert.ToInt32(textBox1.Text);
listBox1.Items.Add(sayi);
sayiDizisi.Add(sayi);
textBox1.Text = "";
}
private void button2_Click(object sender, EventArgs e)
{
listView1.Items.Clear();
double ort = ortalama(sayiDizisi);
double ssapma = standart(sayiDizisi);
label2.Text = "Ortalama="+ort.ToString("0.####");
label3.Text = "Standart Sapma="+ssapma.ToString("0.####");
foreach (double i in sayiDizisi)
{
ListViewItem liste = new ListViewItem();
liste.Text = i.ToString();
double zscore = (i - ort) / ssapma;
liste.SubItems.Add(zscore.ToString("0.####"));
// liste.SubItems.Add(zscore.ToString());
listView1.Items.Add(liste);//https://www.bilisimogretmeni.com/
}
}
static double ortalama(List<int> dizi) // Ortalama
{
double toplam = 0;
for (int i = 0; i < dizi.Count; i++)
toplam += dizi[i];
return toplam / dizi.Count;
}
static double standart(List<int> dizi) // Standart Sapma
{
double ort = ortalama(dizi);
double toplam = 0.0;
for (int i = 0; i < dizi.Count; i++)
toplam += Math.Pow((dizi[i] - ort), 2);
return Math.Sqrt(toplam / (dizi.Count - 1));
}//http://www.bilisimogretmeni.com/

