İnsanların Kariyerlerindeki Bir Sonraki Pozisyonun Tahmin Edilmesi - 1



Merhaba, sizlere yakın zamanda sonuçlarını aldığımız projemizden bahsetmek istedik. İnsanlar kariyerlerine yön verirken bir sonraki adımlarının ne olabileceği konusunda önerilere ihtiyaç duymaktadırlar. Kariyer planlamalarını yapan insanlar, daha önce aynı yoldan geçen kişilerin deneyimlerine ihtiyaç duymaktadır. Biz de Kariyer.net kullanıcılarına, kariyerlerindeki bir sonraki adımı tahmin etmelerinde yardımcı olacak bir çalışma gerçekleştirdik. Projemizde makine öğrenmesi algoritmaları kullanarak, örneğin Kıdemli İş Analisti olan birinin belirli bir deneyim yılı sonrasında Proje Yöneticisi pozisyonuna başvurabileceği bilgisini, yani bir pozisyonun üst seviyedeki pozisyonlarını otomatik olarak nasıl bulduğumuzdan ve sonuçları hangi yöntemlere göre değerlendiğimizden bahsedelim.

Üst Pozisyonları Nasıl Bulduk?

İnsanlara kariyerlerinde atacakları yeni adımlarda rehberlik yapmayı amaçlayan bu çalışmada ilk hedef; Kariyer.net'te iş başvurusu yapan veya yapmak isteyen adaylara, başvurabilecekleri üst seviyedeki pozisyonları önerebilmektir. Bu hedefle, Kariyer.net havuzundaki adayların özgeçmişlerinden bir pozisyondan başka bir pozisyona geçişleri alınarak, bu pozisyon geçişleri bir listede toplanmıştır. Bu listeden, bir pozisyonun başka bir pozisyona geçişinde, kaç kişinin hangi deneyim yıllarında bu geçişleri yaptığı bilgisine ulaşılmıştır. Alttaki örnekte (Resim 1), oluşturulan listeye göre Yazılım Uzmanı pozisyonunda 3 yıl çalıştıktan sonra en fazla geçiş yapılan 5 pozisyon gösterilmiştir. Yazılım Uzmanı pozisyonundan 3 yıllık deneyim ile, toplamda yaklaşık 1000 kişi bir sonraki pozisyona geçiş yapmıştır ve bunun 350'den fazlası da alttaki gibidir. Örnekte, mor renk ile gösterilmiş pozisyonların Yazılım Uzmanı'na göre üst seviyedeki pozisyonlar olduğu da açık bir şekilde görülebilmektedir.

Resim 1. Yazılım Uzmanı pozisyonunda 3 yıl çalıştıktan sonra en fazla geçiş yapılan 5 pozisyon

Oluşturulan pozisyon geçiş listesinden; bir pozisyonun diğer pozisyona göre üst seviyede olma ilişkinin incelenmesi sonucunda makine öğrenmesi modelinin eğitilmesi için gerekli öznitelikler (feature set) çıkarılmış ve verimize göre hesaplanmışlardır. Amacımız, iki pozisyonu birbirine göre üst ve üst değil olarak ayırmak olduğundan karşımıza bir sınıflandırma problemi çıkmaktadır. Elimizdeki veriden, bir pozisyonun diğerine göre üst seviyede olduğunu kesin olarak söyleyen pozisyon isimlerine "1", bu kurala uymayanlara da "0" etiketi verilerek 2 sınıfa ayrılmıştır. Yazılım Uzmanı örneğinde görüleceği gibi Kıdemli Yazılım Uzmanı pozisyonu, Yazılım Uzmanı'ndan önce 'Kıdemli' kelimesinin geçmesinden dolayı üst pozisyondur ve "1" olarak etiketlenmiştir.

Aldığımız Sonuçlar

Problemimizin çözümü için Microsoft Azure Machine Learning Studio'nun içerdiği sınıflandırma algoritmalarından denemeler yaptık. Denediğimiz sınıflandırma algoritmaları;
Two-Class Boosted Decision Tree
Two-Class Decision Forest
Two-Class Decision Jungle
Two-Class Support Vector Machine
En başarılı sonucu Two-Class Decision Jungle sınıflandırma algoritmasıyla aldık. Ardından, oluşturulan modelle, "0" ve "1" etiketleri bilinmeyen verimizin tahminleri edildi. Alınan sonuçlardan, sınıf etiketinin "1" olmasının tahmin olasılığı %90 ve üzerinde kalanlar alınarak bir üst pozisyon listesi oluşturuldu. Oluşturulan bu listeden bazı üst pozisyon örneklerini Resim 2'den inceyebilirsiniz. Bu listenin değerlendirilmesi için 2+ yıl deneyimi olan adaylara uygun pozisyon önerileri, Kariyer.net'deki adaylara öneri sistemlerinde kullanılmaya başlanmıştır. Kariyerlerine yeni başlayan adaylar içinde onlara kariyer yollarını çizmekte yardımcı olacak çalışmalarımızı yürütmekteyiz :)

Resim 2. Üst pozisyon sonuçlarına örnekler