salary_stone package

Submodules

salary_stone.metrics module

salary_stone.metrics.similarity_measure(skill_vec: list, data: pandas.core.frame.DataFrame, topn: int = 5, jobtitle_col='job_title_sim', extracted_scol='extracted_skills')[source]

The purpose of this method is to return the most similar job titles based on a lis tof skills passed in.

Parameters
  • skill_vec – a vector of skills.

  • data – a dataframe of the job description data.

  • topn – a value for the number of similar job titles to return.

Returns

two lists where one is the similarity score and the other is the job title.

salary_stone.metrics.skill_freq(skill_vec: list, data: pandas.core.frame.DataFrame, extracted_scol: str = 'extracted_skills')[source]

The purpose of this method is to get the distribution of skills within a dataframe of glassdoor job salary data.

Parameters
  • skill_vec – is the vector of skills that we are calculating the frequency of.

  • data – is the dataframe that we are using for our frequency calculation.

  • extracted_scol – is the name of the column with the extracted skill from the skill extractor.

Returns

a vector of the skills and the skill percentage found within the dataframe.

salary_stone.metrics.skill_salary_dist(skill_vec: list, data: pandas.core.frame.DataFrame, extracted_salcol: str = 'salary_bin', extracted_scol: str = 'extracted_skills')[source]

The purpose of this method is to get the salary distribution of jobs that include a skill.

Parameters
  • skill_vec – is the vector of skills that we are calculating the frequency of.

  • data – is the dataframe that we are using for our frequency calculation.

  • extracted_salcol – is the name of the extracted salary column from the salary extractor.

  • extracted_scol – is the name of the extracted skill column from the skill extractor.

Returns

a dictionary with the skill as key and the counts of which salary bins it appears in.

salary_stone.salary_extractor module

class salary_stone.salary_extractor.Salary_Extractor(model='/home/docs/checkouts/readthedocs.org/user_builds/salary-stone/checkouts/latest/salary_stone/data/model.pkl', skill_extractor=<salary_stone.skill_extractor.Skill_Extractor object>, sp=['ai', 'algorithm', 'analytics', 'artificial intelligence', 'azure', 'big data', 'business', 'business intelligence', 'collaboration', 'computer science', 'data analysis', 'data management', 'data mining', 'data model', 'data modeling', 'data quality', 'data science', 'data visualization', 'data warehouse', 'database', 'deep learning', 'deployment', 'design', 'documentation', 'engineering', 'finance', 'framework', 'hadoop', 'library', 'machine learning', 'marketing', 'ml', 'monitoring', 'play', 'programming language', 'project management', 'python', 'relational database', 'scala', 'security', 'server', 'software', 'support', 'tableau', 'tensorflow', 'testing', 'visualization', 'workflow'])[source]

Bases: object

The purpose of this class is to extract out salary based on skills.

extract_salary(text: str)[source]

salary_stone.skill_extractor module

Main module.

class salary_stone.skill_extractor.Skill_Extractor(model: str = 'en_core_web_sm', skill_dict: str = '/home/docs/checkouts/readthedocs.org/user_builds/salary-stone/checkouts/latest/salary_stone/data/jz_skill_patterns.jsonl')[source]

Bases: object

This class contains the methods related to extracting the skills from text. The class takes in a .jsonl file which has all of the skills available for extraction and a model that is a spacy model which has also been installed.

extract_skills(text: str)[source]

The purpose of this method is to clean the text data being input and return the unique set of skills found within the string.

Param

text is the text where the skills are being extracted from.

Returns

the unique list of skills

get_skills(text: str)[source]

The purpose of this method is to extract all the skills from the text.

salary_stone.skill_recommender module

salary_stone.skill_recommender.recommend(skill_vec, data, model: salary_stone.salary_extractor.Salary_Extractor, extracted_scol: str)[source]

The purpose of this method is to provide the recommended skills and predicted percentage increase in salary that could be expected if that skill were to be included.

Parameters
  • skill_vec – is the vector of skills that a person currently has.

  • data – is the pandas dataframe of the data that we are using to make the comparison.

  • model – is a salary extractor model that we will be using to make the recommendations.

  • extracted_scol – is a column consisting of a list of skills for the row in the dataframe.

Returns

a list of the skill names and a list of the expected return percentages.

Module contents

Top-level package for Salary Stone.