Is it a job offer for a Data Scientist?

screen-shot-2017-01-09-at-21-41-24
TL;DR
Konrad Więcko and Krzysztof Słomczyński (with tiny help from my side) have created a system that is tracing what skills are currently in demand among job offers for data scientists in Poland. What skills, how frequent and how the demand is changing over time.

The full description how this was done. static, +shiny.

Here: The shiny application for browsing skill sets.

Here: The R package that allows to access the live data.

Full version
A data science track (MSc level) will be very soon offered at MiNI department/Warsaw University of Technology and we (i.e. program committee) are spending a lot of time setting up the program. How cool it would be taking into account the current (and forecasted) demand on data science skills on the market? The project executed by Konrad Więcko and Krzysztof Słomczyński is dealing exactly with this problem.

So, the data is scrapped from pracuj.pl, one of the most popular (in Poland) websites with job offers.
Only offers interested to data scientists were used for further analyses.
How these offers were identified? In Poland the job title 'Data Scientist’ is (still) not that common (except linkedin). And there are different translations and also there is a lot of different job titles that may be interested for a data scientist.
So, Konrad and Krzysztof have developed a machine learning algorithm that scores how much a given offer matches a 'data scientist profile’ (whatever that means) based on the content of job offer description. And then, based on these predictions, various statistics may be calculated, like: number of offers, locations, demand on skills etc.

Here: Description of the dataset used for the model training.

Here: Description of the machine learning part of the project.

Trends for selected skill sets.

10 thoughts on “Is it a job offer for a Data Scientist?”

  1. Mam komunikat „Error: An error has occurred. Check your logs or contact the app author for clarification”. Sprawdźcie, czy użytkownik shiny ma dostęp do wszystkich potrzebnych pakietów.

  2. Ten komunikat to moze byc przeciążenie serwera – za duzo użytkowników na shiny Serverze jednocześnie a za mało RAMu na maszynie obsługującej

    1. Ech, niestety sieć wydziałowa mnie wycięła i na razie nie mam dostępu do serwera
      @Marcin, czy mógłbyś się zalogować na mi2 i zatrzymać inne aplikacje shiny?

          1. Zamieniłem na statyczną aplikację (brudny hack) i teraz już powinnna działać 95% treści, wieczorem naprawimy to w lepszym stylu.

  3. Brdzo ciekawy projekt!

    Troche mi brakuje dwóch rzeczy:

    1) dlaczego nie udostępnić danych jako pliku csv? W ten sposób ludzie, którzy słabo znają R (na przykład ja), ale znają Pythona też mogliby skorzystać. Google drive albo nawet github umożliwiają udostępnianie nawet sporych plików. 40 000 ofert to nie jest tak znowu strasznie dużo. Nie bardzo złapałem jak można dostać dostęp? Gdzie trzeba się połączyć i za pomocą czego? Połączyć z postgresem na twoim serwerze? To nie jest ani wygodne dla mnie ani bezpieczne dla ciebie, bazy danych nie powinny być wystawione na publiczny widok.

    2) Chętnie dowiedziałbym się więcej jak dokładnie wyciągnęliście te dane z pracuj.pl? W tych wordloudach jest ogromna przewaga słów z IT. Na ile adekwatnie oddaje to rynek pracy? Poza tym oferty na pracuj są przecież po polsku, dlaczego wordcloudy są po angielsku.

    Kiedyś dawno temu zrobiłem coś podobnego, ja nie jestem jakiś specjalny data-scientist, bardziej interesowały mnie zarobki, także niewiele u mnie fachowych wykresów. Niemniej jednak może cię zainteresuje: https://pawelmhm.github.io/python/pandas/2015/01/01/python-job-analytics.html

  4. ad 1, dane jest wygodniej trzymać w bazie, ponieważ są codziennie aktualizowane. a że z czasem jest ich coraz więcej to i nie zawsze trzeba odczytywać wszystkie, można odczytać tylko część (z plikami tak łatwo się nie da). W bazie jest użytkownik tylko z uprawnieniami do czytania wybranych tabel. do postgresa można się dostać z praktycznie każdego języka.
    ad 2, zbierane są wszystkie oferty (scraping z pakietem rvest) a później oferty są przypisywane do kilku klas (data science / programming itp). Na ile jest to adekwatne? sprawdzimy.

    dzięki za link, chętnie się przyjrzę bliżej

  5. mam problem z instalacją pakietu pracuj. Czy miał ktoś podobny problem?
    ERROR: dependency 'dplyr’ is not available for package 'pracuj’
    * removing 'C:/Users/Labuz/Documents/R/win-library/3.3/pracuj’
    Error: Command failed (1)

    Załączam również pełny kod.

    > library(githubinstall)
    > install_github(„mi2-warsaw/pracuj/pracuj”)
    Downloading GitHub repo mi2-warsaw/pracuj@master
    from URL https://api.github.com/repos/mi2-warsaw/pracuj/zipball/master
    Installing pracuj
    Installing 1 package: dplyr
    Installing package into ‘C:/Users/Labuz/Documents/R/win-library/3.3’
    (as ‘lib’ is unspecified)
    trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.3/dplyr_0.5.0.zip’
    Content type 'application/zip’ length 2409261 bytes (2.3 MB)
    downloaded 2.3 MB

    package ‘dplyr’ successfully unpacked and MD5 sums checked
    Warning: unable to move temporary installation ‘C:\Users\Labuz\Documents\R\win-library\3.3\file1760725a345e\dplyr’ to ‘C:\Users\Labuz\Documents\R\win-library\3.3\dplyr’

    The downloaded binary packages are in
    C:\Users\Labuz\AppData\Local\Temp\RtmpEtQWSI\downloaded_packages
    „C:/PROGRA~1/R/R-3.3.2/bin/x64/R” –no-site-file –no-environ –no-save –no-restore –quiet CMD INSTALL \
    „C:/Users/Labuz/AppData/Local/Temp/RtmpEtQWSI/devtools17604c806b15/mi2-warsaw-pracuj-e162605/pracuj” \
    –library=”C:/Users/Labuz/Documents/R/win-library/3.3″ –install-tests

    ERROR: dependency 'dplyr’ is not available for package 'pracuj’
    * removing 'C:/Users/Labuz/Documents/R/win-library/3.3/pracuj’
    Error: Command failed (1)

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *