K-Means Ortalaması

Katılım
8 Aralık 2018
Mesajlar
3
Excel Vers. ve Dili
Office 365 Türkçe
Merhabalar. K-means algoritması ile ilgili excel projem. 3 temel problemle karşı karşıyayım ve probleme dair nasıl araştırma yapacağımı bile pek bilmiyorum. Ne kadar çok fonksiyona baksam da işime yarayanı bulamadım.

1. Sorun



işaretli olan "kümeleme sonucu" sütunundan, rakamlara karşılık gelen x ve y lerin ortalamasını alacağım. Örneğin bütün 2 rakamlarına karşılık gelen bütün x lerin, sonrasında y lerin ortalamasını alacağım. Fakat bunları 20 kere başka yerde daha yapacağım için ve o kümeleme sonucu çıkan rakamların yerlerinin de değişeceği için işlem sağlayamıyorum.

2. Sorun




Uzaklık kısımında yazan verileri, x ve y lerle işleme sokmak için başka bir sayfadan çekiyorum ve ilk çektiğim küme için 1. iterasyon tablosunu oluşturuyorum. Burada hücre sabitleme işimi görüyor fakat 2. iterasyon tablosuna geçtiğimde, 1. iterasyon için sabitlediğim verinin altına geçmek istiyorum fakat sabitlendiği için geçemiyorum. Her veri yeni oluşturduğum tablo için de sabitlenmiş veriyi elle değiştirmek istemiyorum.

3. Sorun

Yeni bir iterasyon tablosu oluşturken, her veri için çektiğim x ve y veri sutunlarının yeri sağa doğru kayıyor. Sabitleme işlemi onlara uygulayamıyorum çünkü her satırdan çekeceğim veri ayrı oluyor.





Dosyayı direkt nasıl ekleyeceğimi bulamadığım için dosyatc sitesine yükledim. Şimdiden teşekkür ediyorum.

http://s7.dosya.tc/server11/waazi3/k-means_v1.xlsx.html
 
Katılım
21 Aralık 2016
Mesajlar
724
Excel Vers. ve Dili
Office 365 TR
http://s7.dosya.tc/server11/426dp7/k-means_v1.xlsx.html

Sorunuzu yanlış yorumluyorum galiba, çünkü iterasyon 3 den sonra değerler değişmiyor.
Formüllerde Dolaylı , EğerOrtalama ve Kaydır fonksiyonları kullanıldı.
Formüllerin değerlendirilmesi, Formüllü hücre seçili iken, Formüller >> Formül Denetleme >> Formülü Değerlendir ile adım adım yapılabilir.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.
Neyi hesapladığınız/hesaplamaya çalıştığınız konusunda bir fikrim yok.
Ancak anladığım kadarıyla formülleri sağa ve aşağı doğru kopyalarken sabit/değişken olması gereken kısımlar var.

Eğer durum buysa;
-- ADRES işlevini kullanmanızı ve
-- bu işlev içerisinde kullanılacak satır no ve sütun no değişkenleri için de
formülün yapıştırılacağı hücrenin satır/sütun numarası ( SATIR() veya SÜTUN() ) üzerinden MOD ve TAMSAYI işlevlerini kullanarak değişimdeki ritimi yakalamalısınız.
-- bu ritmi yakaladığınızda da bu adres bilgisini DOLAYLI işlevi içinde kullanabilirsiniz (bu aşamada ADRES işlevleri sonucunun başına ÇİFT TIRNAK arasında ilgili sayfa adını eklersiniz).

Halledemezseniz; örnek belgedeki hücrelerde hangi hücreler üzerinden hesaplama yapacaksanız,
bu hücrelerin adreslerini, olması gereken hücrelere elle yazarak en az dört (küme sayfasındaki tüme sayısından yani 3'ten farklı olması bakımından) sütun grubu ve en az dört satır için örneklendirin. (yani hücrelere B3__C3 veya F4__G4 gibi adres bilgilerini elle yazın)
Özetle D3:F6, H3:J6, L3:N6 ve P3:R6 alanlarına ilgili hücrede hangi adreslerdeki verileri kullanacaksanız onların ADRESLERİNİ elle yazın
ve örnek belgeyi yenileyin.

Bu konuda cevap aldığınızda da; cevapta elde edilecek hücre adresleri bilgilerini, kendi formüllerinizde yerlerine koyarak sonuca gidersiniz.
.
 
Son düzenleme:
Katılım
8 Aralık 2018
Mesajlar
3
Excel Vers. ve Dili
Office 365 Türkçe
Öncelikle mesajlarınız için çok teşekkür ediyorum. Hemen geri dönemiyorum mesajlara şimdiden kusurma bakmayın.

Dolaylı, Adres, EğerOrtalama ve Kaydır fonksiyonlarında eksiğim olduğu için halledemediğimi gördüm. Dediğiniz bu fonksiyonlara bakıp anlamaya çalışıyorum. Ayrıca gönderdiğiniz Excel dosyası tam olarak yapmak istediğim şey. Verilerin tekrar etmesi beklenilen bir şey olduğu için sorun yok yani. Sadece aşağıda gösterdiğim satırları incelerken pek anlamlandıramadım. Benim bildiğim fonksiyonların biraz ötesinde işlemlere sahipler. Biraz detaylı olarak anlatabilme şansınız varsa sıfırdan kendim yapmak istiyorum. Teşekkürler.



 
Katılım
21 Aralık 2016
Mesajlar
724
Excel Vers. ve Dili
Office 365 TR
Küme Merkezleri sayfasındaki C5 hücresinde
=EĞERORTALAMA(KAYDIR(Veri!$A$2;1;($A5-1)*4+2;20;1);B1;Veri!$C$3:$C$22)
formülünün açıklanması
KAYDIR fonksiyonunun söz dizimi KAYDIR(başv; satırlar; sütunlar; [yükseklik]; [genişlik]) şeklindedir. Formülümüzdeki duruma göre
KAYDIR(Veri!$A$2;1;($A5-1)*4+2;20;1)
1 - Veri!$A$2 hücresine göre kaydırma işlemi yapılacak
2 - Veri!$A$2;1; ise Veri!$A$2 hücresi 1 satır aşağıya kayar. yani Veri!$A$3 olur.
3 - Veri!$A$2;1;($A5-1)*4+2 ise kolon kaydırma işlemi uygulaması
öncelikle, *4 : Veri sayfasında herbir iterasyon için 4 kolon vardır (uzaklık 1, uzaklık 2, uzaklık 3 ve kümeleşme sonucu) ,
A5 : Küme Merkezleri sayfasındaki A5 hücresinde iterasyon no vardır. A5 de 3 değeri var. İterasyon no 3.
(A5-1)*4 = (3 - 1) *4 = 8 kolon kaydırılacak anlamındadır. +2 de (ilk iterasyon başlamadan önceki x ve y değerlerine ait kolonlarının adedini
gösterir.) Toplamda 8 + 2 = 10 kolon kayar ve Veri!$A$3, Veri!$K$3 kolonu olarak 3. iterasyonun istediğimiz kümeleşme sonucu kolonuna kaydırılmış olur.
4 - Veri!$A$2;1;($A5-1)*4+2;20; satır yüksekliği olarak 20 satır anlamındadır. Yani K3 den başlayarak 20 satırlık alan : Veri!$K$3:$K$22

5 - Veri!$A$2;1;($A5-1)*4+2;20;1 ise kolon olarak genişlik 1 kolon anlamındadır. Sonuçta Veri!$K$3:$K$22 alanı seçilmiş olur. Eğer 1 yerine 2 yazıyor olsaydı Veri!$K$3:$L$22 şeklinde olacaktı.
EĞERORTALAMA(KAYDIR(Veri!$A$2;1;($A5-1)*4+2;20;1);B1;Veri!$C$3:$C$22)

Burada B1 hücresindeki değer 1 dir. Hücre biçimlendirmesi ile Küme Merkezi 1 şeklinde yazılmıştır.
EğerOrtalama : KAYDIR fonksiyonu ile seçilmiş alandaki 1 e karşılık gelen satırlar için, Veri!$C$3:$C$22 alanındaki ilgili satırlardaki değerlerin Ortalaması anlamındadır.
 
Katılım
21 Aralık 2016
Mesajlar
724
Excel Vers. ve Dili
Office 365 TR
Veri sayfasındaki D5 hücresindeki
=(((($B5)-(DOLAYLI("'Küme Merkezleri'!$B$"&D$1+2)))^2)+((($C5)-(DOLAYLI("'Küme Merkezleri'!$C$"&D$1+2)))^2))^(1/2)
DOLAYLI("'Küme Merkezleri'!$B$"&D$1+2)
Tırnak işaretleri arasındaki "'Küme Merkezleri'!$B$" olduğu gibi kalıp & işareti ile birleştirilecek değer : D$1+2
D1 : D1 hücresinde aslında rakamsal olarak 1 yazmakta. Hücre biçimlendirmesi ile İterasyon 1 şeklinde yazılmıştır. Diğer iterasyonlara da bakıldığında hep rakamsal değerler vardır.
D1 + 2 = 1 + 2 = 3 şu halde DOLAYLI("'Küme Merkezleri'!$B$"&D$1+2) = DOLAYLI("'Küme Merkezleri'!$B$"&3) = 'Küme Merkezleri'!$B$3 olacaktır.
Burada, Dolaylı fonksiyonunun kullanılmasındaki amaç, $ işareti ile hücre sabitlenmesi yapılıp kolon (ya da satır) değerlerinin formülle getirilip birleştirilmesiyle istenilen hücre (ya da alan) adreslerinin bulunmasıdır.
 
Katılım
8 Aralık 2018
Mesajlar
3
Excel Vers. ve Dili
Office 365 Türkçe
Verdiğiniz detaylı bilgilerden dolayı çok teşekkür ediyorum, çok fazla şey öğrendim. Sağ olun, var olun..
 
Üst