ARŞ.GÖR.ZEYNEP BEHRİN GÜVEN DOÇ.DR.TURGAY TUGAY BİLGİN MALTEPE ÜNİVERSİTESİ YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ İÇERİK Eğitim Alanında Veri Madenciliği Yazılımcı Davranışlarının Kaydedilmesi Fluorite Analyzer Plug-in Veri Seti Uygulama K-NIME Veri Madenciliği Aracı Sonuçlar Eğitim Alanında Veri Madenciliği Eğitim alanında veri madenciliği; öğrencilerin davranışlarının modellenmesi, başarı analizlerinin yapılması, gelecekle ilgili tahmin yapma gibi bir çok amaç için kullanılır. Yazılımcı Davranışlarının Kaydedilmesi Programlama dillerinin ve araçların kullanılabilirliğini arttırabilmek için, yazılım geliştiricilerin bu dil ve araçların nasıl ve ne zaman kullanacaklarını bilmesi önemlidir. Geliştirilen programların verilerini toplamak için birçok farklı metot vardır. Ancak kodları ayrıntılı biçimde düzenleyen ve analiz eden bir yazılım henüz geliştirilmemiştir. Fluorite Analyzer Carnegie Mellon Üniversitesi hocaları tarafından Java dilinin kod editörü Eclipse için geliştirilen Fluorite (Full of Low-Level User Operations Recorded In The Editör) Eclipse kod editöründe meydana gelen tüm olayların kaydını tutar ve bu kayıtları XML formatında saklar. Fluorite Analyzer yazılımcının klavyede tuş basma oranı, hangi komutların hangi zaman aralığında kullandığı , yazılımcının süre içinde ne kadar satır kod yazdığı, hangi komutun kaç kez kullandığı, fare imlecini sayfada nerelerde ve kaç kez hareket ettirdiği gibi bilgileri sayısal, istatistiksel ve grafiksel olarak göstermektedir. Veri Seti Çalışmada Maltepe Üniversitesi Yazılım Mühendisliği bölümü ‘Java Based Application Development’ dersini alan bir grup öğrenciden bir program yazmaları istenmiştir. Programdan istenenler şu şekildedir: Fluorite Analyzer; yazılan programın log kayıtlarını eclipseFL\workspace\.metadata\.plugins\edu.cmu.s cs.fluorite\Logs uzantılı adresde saklar. Öğrencilerden belirtilen adresdeki logları bir sunucuya yüklemeleri istenmiştir. Her öğrenciden toplanan XML logları Fluorite Analyzer programı ile analiz edilmiştir. UYGULAMA Fluorite Analyzer; XML logları çalıştırıldıktan sonra ekrana her kayıtla ilgili yazılımcının klavyede en çok hangi tuşa bastığı, fareyi kaç kez hareket ettirdiği, imleci sayfanın nerelerinde hareket ettirdiği, programdaki komutlardan hangisinin kaç kez kullanıldığı bilgileri grafiksel ve istatistiksel olarak gösterir. TUŞ BASMA DAĞILIMI OLAY LİSTELERİ KOD BÜYÜME GRAFİĞİ KULLANILAN KOMUTLAR K-NIME Fluorite Analyzer ile yapılan çalışma sonu elde edilen komutların kullanılma sayısı bilgisi K-NIME programında kullanılmak üzere öncelikle excel tablosuna işlenmiş ve uzantısı .csv olarak kaydedilmiştir. K-NIME programı Bayes, Clustering, Neural Network, SVM, Desicion Tree gibi bir çok veri madenciliği algoritmasını barındırır. KNIME editöründe sol tarafta bulunan Node Reporsitory bölümündeki tüm nesneler ekrana sürükle bırak yöntemi ile yerleştirilir. Veri akış diyagramının çalışma yapısı her bir düğümün tek-tek çalıştırılmasına dayanır. Her bir düğüm çalıştırıldığında işlem hatasız tamamlanmış ise düğümün alt bölümünde yeşil ışık yanacaktır. Bu durumda bir sonraki düğüm konfigürasyonu yapılır ve çalıştırılabilir. Bir düğüm kendinden önceki bir düğüm yeşil ışık durumunda değilse çalıştırılamaz File Reader-Dosyadan verileri okuma Missing Value-Verideki boş değerleri 0 değeri ile değiştirme Auto Binner –Verideki sürekli tekrarlayan verileri ayrıklaştırma Column Filter-Veride olup da ,karar ağacında görmek istemediğimiz kolonu filtreleme Desicion Tree-Sonucu karar ağacında görsel olarak görmemizi sağlar. SONUÇLAR Bu çalışmada yazılımcıların davranışları karar ağacı ile modellenmiştir. Karar ağacı Gini Index kriteri seçilmiştir. Fareyi Hareket Ettirme Oranı (Move Caret Command) 22-67.25 A 80-137.5 F 138.75-153 F 67.25-80 A veya D Metin Seçme Komutu(Select Text Command) 15.5-46 D Hiç Kullanmayanlar A Bu sonuca göre: Ders başarısı yüksek olan öğrenciler, fareyi daha az hareket ettirmekte ve doğrudan problemin çözümüne yönelmektedirler. Başarısı düşük olan öğrenciler ise, uzun süre fareyi gezdirmektedirler. Fareyi az gezdirenler ise ortalama bir sonuç gösterirken, metin seçme komutunu kullananların daha başarılı olduğu görülmüştür.. DİNLEDİĞİNİZ İÇİN TEŞEKKÜRLER