Tekrar merhaba, bir önceki yazımızda, insanlara kariyer planlamalarını yaparken atacakları bir sonraki adımı bulmalarına yardımcı olacak çalışmamızdan bahsetmiştik. Projemizin ilk hedefi olan, adayların başvurabilecekleri üst seviyedeki pozisyonların bulunma aşaması tamamlanmıştı. Bu hedefimizde, kişilerin şu anki pozisyonlarının üst ve aynı seviyedeki karşılıklarının aynı anda bulunabilmesi için çoklu sınıflandırma yöntemi kullanılan bir çalışma yapılmıştır. Aynı seviyedeki pozisyonlar, örneğin PHP Geliştirici ve PHP Yazılım Uzmanı şeklindedir. Bu çalışmada, bir pozisyonun üst ve aynı seviyedeki pozisyonlarını birlikte nasıl bulduğumuzdan ve sonuçları nasıl değerlendirdiğimizden bahsedelim.
Üst ve Eşdeğer Pozisyonları Birlikte Nasıl Bulduk?
İnsanların pozisyonlarına göre üst ve aynı seviyedeki pozisyonlarını bilmeleri kariyerlerini yönlendirmelerinde önemli bir rol oynamaktadır. Biz de projemizde daha hızlı adımlar atabilmek için üst ve eşdeğer pozisyonların aynı anda bulmasını amaçlayan bir çoklu sınıflandırma metodu kullandık. Üst pozisyon çalışmamızda kullandığımız öznitelikleri (feature set) bu çalışmamıza da uyguladık.
Çoklu sınıflandırma çalışmamız için verimizden, bir pozisyonun diğerine göre eşdeğer seviyede olduğunu kesin olarak söyleyen pozisyon isimleri "2", üst seviyede olduğunu kesin olarak söyleyen "1", bu kurallara uymayanlar da "0" olarak etiketlenmiştir. Aşağıdaki örnekte (Resim 1), Yazılım Uzmanı pozisyonunda 3 yıl çalıştıktan sonra en fazla geçiş yapılan 5 pozisyon gösterilmiştir. Örnekte, turuncu renk ile gösterilmiş pozisyon olan Yazılım Geliştirme Uzmanı, Yazılım Uzmanı'yla aynı seviyedeki pozisyon olduğu açık bir şekilde görülebilmektedir. Bir önceki çalışmamızda deneyimlediğimiz Decision Jungle sınıflandırma algoritmasını bu sorunun çözümü için Multiclass Decision Jungle şeklinde uyguladık. Etiketlenmemiş verilerimiz de bu modele sunularak tahmin edildiğinde başarılı sonuçlar elde edildiğini gözlemledik. Sonuç olarak, elde edilen yeni üst pozisyonlar daha önce elde edilen üst pozisyon listesine eklendi ve eşdeğer pozisyonların birbirleri arasındaki ilişkilerin daha da genişletilmesi için bir kümeleme algoritması uygulamaya karar verildi.
Eşdeğer Pozisyonların Kümelenmesi
Elde edilen eşdeğer pozisyon ikililerini incelendiğimizde, birbirleri arasında daha fazla ilişki kurulabileceğini gözlemledik. Bu amaç doğrultusunda, yaptığımız araştırmalarla birlikte, küme sayısını ve kümeleme için gereken epsilon değerini veriye göre kendisi hesaplayan HDBSCAN (Hierarchial Density-Based Spatial Clustering of Applications with Noise) algoritmasını kullanmaya karar verdik. Peki neden k-means ve DBSCAN gibi diğer kümeleme algoritmaları bizim çalışmamız için uyumlu değildi? İsterseniz gelin bunu birkaç maddede toparlayalım.
- K-means algoritmasında parametre olarak verilmesi gereken küme sayısı, oluşturulan eşdeğer pozisyon listemizden öngörebileceğimiz bir değer olmadığından küme sayısının verilmesi gerekmeyen bir algoritma seçtik.
-
DBSCAN'de ise, kümeleme için gerekli epsilon değerinin deneme yanılma ile en uygun halini bulmak yerine, otomatik hesaplayan bir algoritmayı seçmek zaman kazanmamızı sağladı. :)
Verimize uyguladığımız HDBSCAN algoritmasıyla, 437 eşdeğer pozisyon kümesi oluşturulmuştur. Böylece, eşdeğer pozisyonlar arasındaki ilişkiler genişletilmiş ve adaylara öneri sistemlerinde kullanılmaya başlanmıştır. Alttaki görselde (Resim 2), oluşturulan kümelerden örnekleri inceleyebilirsiniz. Bu kümeleri kullanarak Kariyer.net'teki firmalara uygun adayların önerilmesi sisteminin iyileştirilmesinde ve Kariyer.net ilanlarında uygulanması üzerine çalışıyoruz :)