{"id":19710831,"url":"https://github.com/rootstrap/ai-job-title-level-classification","last_synced_at":"2025-04-29T17:31:32.097Z","repository":{"id":37612618,"uuid":"223485017","full_name":"rootstrap/ai-job-title-level-classification","owner":"rootstrap","description":null,"archived":false,"fork":false,"pushed_at":"2022-09-30T19:52:34.000Z","size":39653,"stargazers_count":26,"open_issues_count":7,"forks_count":10,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-05T18:50:37.406Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rootstrap.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-11-22T20:55:56.000Z","updated_at":"2025-03-18T06:29:54.000Z","dependencies_parsed_at":"2023-01-17T15:47:00.107Z","dependency_job_id":null,"html_url":"https://github.com/rootstrap/ai-job-title-level-classification","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootstrap%2Fai-job-title-level-classification","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootstrap%2Fai-job-title-level-classification/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootstrap%2Fai-job-title-level-classification/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootstrap%2Fai-job-title-level-classification/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rootstrap","download_url":"https://codeload.github.com/rootstrap/ai-job-title-level-classification/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251549231,"owners_count":21607370,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T22:08:36.030Z","updated_at":"2025-04-29T17:31:27.083Z","avatar_url":"https://github.com/rootstrap.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Classification of job positions by level\nThis is a project to classify job positions using machine learning, more specifically, supervised learning. The main goal is to get a classifier that receives a job position in the form of a sentence, written in natural language, for example `CEO and Founder` and returns the job level for that position. The different levels (labels for the classification) are:  \n* C-Suite\n* VP\n* Director\n* Manager\n* Other\n\n\nIn the example, `CEO and Founder` would return `C-Suite`.\n\nThere is an analogous project but it classifies according to the area of the position: [Classification of job positions by area](https://github.com/rootstrap/ai-job-title-area-classification). If you use pip and virtual environments, you can install easily the named library: `$pip install -r requirements.txt`.\n\n\n## Content\nYou can see the explanation in the area classifier documentation.\n\n## Script execution\nThe steps are the same as the classification by level:\n1. Run `data_process/tsv_file_to_dataframe.py` to extract the data from the tsv file and split the dataset.\n2. Run `\u003cclf name\u003e_fit_tune_classifier.py` to fit and tune the classifier. `fit` is to learn and fit the model to the train set. `tune` is to search for the optimal combination of the hyperparams, the ones that achieves better results (tuning may take a while).\n3. Run `\u003cclf name\u003e_test_classifier.py` to test the trained classifiers and show the results. Besides, a classified example set is stored in `test_data/\u003cclf name\u003e_results.tsv`.\n\nNote: `\u003cclf name\u003e` can be `mlp` or `sgd`, depending on the classifier.\n\n## Results\nThese are the results of each classifier:  \n\n### MLP\n```\n                precision    recall  f1-score   support\n\n     C-Suite       0.90      0.93      0.92        29\n    Director       0.97      0.92      0.94        37\n     Manager       0.90      0.95      0.92        19\n       Other       0.93      0.95      0.94        41\n          VP       1.00      0.96      0.98        24\n\n    accuracy                           0.94       150\n   macro avg       0.94      0.94      0.94       150\nweighted avg       0.94      0.94      0.94       150\n```\n\n### SGD\n```\n                precision    recall  f1-score   support\n\n     C-Suite       0.97      0.97      0.97        29\n    Director       0.97      0.92      0.94        37\n     Manager       1.00      1.00      1.00        19\n       Other       0.95      1.00      0.98        41\n          VP       1.00      1.00      1.00        24\n\n    accuracy                           0.97       150\n   macro avg       0.98      0.98      0.98       150\nweighted avg       0.97      0.97      0.97       150\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frootstrap%2Fai-job-title-level-classification","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frootstrap%2Fai-job-title-level-classification","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frootstrap%2Fai-job-title-level-classification/lists"}