Scroll To View More
Hire the top 3% of freelance developers
Necati Demir

Necati Demir

Izmir, İzmir, Turkey
Member since August 12, 2015
Necati is a PhD candidate with ten years of experience in software development, including team management. He has worked on various projects, including voice, network security, embedded Linux, and data-related development, which has enabled him to look at problems from a broad perspective. He has also started providing data mining solutions.
Necati is now available for hire
  • Linux, 13 years
  • Python, 11 years
  • Web Scraping, 7 years
  • Back-end Development, 6 years
  • Machine Learning (ML), 3 years
  • Data Mining, 3 years
  • R, 1 year
Izmir, İzmir, Turkey
Preferred Environment
Linux, Python, PyCharm, Git, Bash
The most amazing...
...experience has been managing a team, which helped me to learn how to be a bridge between business and technical guys.
  • Developer
    2015 - PRESENT
    • Analyzed the data of a car rental company.
    • Explored individual customer data. Example: A customer rented a car X times in City_A, and 90% of the time it was on a Tuesday. This result will be embedded into CRM so whenever customer calls the call center, the agent will be able identify the behavior of the customer by opening his customer information in the CRM.
    • Discovered patterns about how people make payments. Example: There have been 13957 payments in City_A office and 89% of them were done with a credit card. Payment can be done with a credit card or cash, on the website or in person.
    • Began a project for VAS Telekom to develop a model to predict customer purchases.
    • Implemented a web application to track meetings. The customer uses this application to track *notes, *tasks assigned after the meeting, and *participants in the meeting.
    Technologies: Python, Scikit, Data Mining, Machine Learning, Flask, Flask-AppBuilder
  • Technical Manager
    Hermes İletişim & VAS Telekom
    2011 - 2015
    • Managed a team of software developers.
    • Worked closely with managers to understand the requirements and translated them into a technical language that software developers can understand.
    • Implemented the initial phase of REST APIs. Handed them over to the team and ensured that software development went right.
    • Implemented the initial phase of the web application, which uses REST APIs, handed it to the team, and ensured that software development went right.
    • Implemented back-end services that use Asterisk.
    Technologies: Python, Java, MySQL, Asterisk
  • Developer
    2009 - 2011
    • Provided Linux-based solutions: Supported Linux servers and provided VoIP-based solutions using Asterisk.
    • Developed for Remotee, which is a desktop sharing solution. I implemented the network infrastructure with UDP hole punching.
    Technologies: Linux, Asterisk
  • Software Developer
    Hermes İletişim
    2006 - 2009
    • Led the development of MultiPC, a thinstation based on custom Linux applications and Linux kernel. This project needs deep Linux knowledge to create a Linux distribution from scratch.
    • Managed Linux servers, installing and managing Linux web and mail servers for Hermes İletişim and its customers.
    Technologies: Linux, GNU Toolchain
  • System Support and Software Developer Specialist
    Labris Teknoloji
    2005 - 2006
    • Developed real-time log monitoring for web cache, web filter, and firewall modules. Used C++ on the server side in Java for the client side since the server side of the Labris Family is written in C++.
    Technologies: Python, Java, C++, Linux
  • İletişim Makinesi (Development)

    İletişim Makinesi is a web application which provides communication services for companies.

  • Weekly Data Science Newsletter (In Turkish) (Other amazing things)

    I publish a weekly data science newsletter on my blog.

  • Visualizing the Results of Turkey's 2014 Election (Other amazing things)

    A blog post (Turkish). If the voting ratio is 51/49 (Party A: 51%, Party A: 49%), the conventional way of visualizing the city in a map is to show it with a single color. But we know that, in this city, Party A is not dominant. So I used these ratios to mix colors.

  • Template for Stacking (Stacked Generalization) Ensemble Method (Development)

    This project is a template for your stacking implementation. In this project, StackingClassifier only provides fit and predict_proba functions, and works with binary [0, 1] labels. predict_proba function returns the probability of label 1. To learn how to use, see test/

  • Ensemble Methods: Elegant Techniques to Produce Improved Machine Learning Results (Publication)
    Machine Learning, in computing, is where art meets science. Perfecting a machine learning tool is a lot about understanding data and choosing the right algorithm. But why choose one algorithm when you can choose many and make them all work to achieve one thing: improved results. In this article, Toptal Engineer Necati Demir walks us through some elegant techniques of ensemble methods where a combination of data splits and multiple algorithms is used to produce machine learning results with higher accuracy.
  • Languages
    Bash, Python, R
  • Tools
    BitBucket, IPython Notebook, GitHub, IPython, Git, Azure Machine Learning
  • Platforms
    Linux, Ubuntu Linux
  • Storage
  • Other
    Web Scraping, Back-end Development, APIs, Machine Learning (ML), Data Mining
  • Frameworks
    Web2py,, Flask, Scrapy
  • Libraries/APIs
  • Paradigms
    Data Science
  • PhD in Computer Engineering
    Dokuz Eylül University - İzmir
    2010 - 2018
  • Master of Science degree in Computer Engineering
    Dokuz Eylül University - İzmir
    2006 - 2009
  • Bachelor's degree in Computer Engineering
    Çanakkale On Sekiz Mart Universiy - Çanakkale
    2001 - 2005
Hire the top 3% of freelance developers
I really like this profile
Share it with others