Package: trane
Traneis a software package that automatically generates problems for temporal datasets and produces labels for supervised learning. Its goal is to streamline the machine learning problem-solving process.InstallInstall Trane using pip:python-mpipinstalltraneUsageHere's a quick demonstration of Trane in action:importtranedata,metadata=trane.load_airbnb()problem_generator=trane.ProblemGenerator(metadata=metadata,entity_columns=["location"])problems=problem_generator.generate()forprobleminproblems[:5]:print(problem)A few of the generated problems:==================================================
Generated 40 total problems
--------------------------------------------------
Classification problems: 5
Regression problems: 35
==================================================
For each <location> predict if there exists a record
For each <location> predict if there exists a record with <location> equal to <str>
For each <location> predict if there exists a record with <location> not equal to <str>
For each <location> predict if there exists a record with <rating> equal to <str>
For each <location> predict if there exists a record with <rating> not equal to <str>With Trane's LLM add-on (pip install trane[llm]), we can determine the relevant problems with OpenAI:fromtrane.llmimportanalyzeinstructions="determine 5 most relevant problems about user's booking preferences. Do not include 'predict the first/last X' problems"context="Airbnb data listings in major cities, including information about hosts, pricing, location, and room type, along with over 5 million historical reviews."relevant_problems=analyze(problems=problems,instructions=instructions,context=context,model="gpt-3.5-turbo-16k")forprobleminrelevant_problems:print(problem)print(f'Reasoning:{problem.get_reasoning()}\n')OutputFor each <location> predict if there exists a record
Reasoning: This problem can help identify locations with missing data or locations that have not been booked at all.

For each <location> predict the first <location> in all related records
Reasoning: Predicting the first location in all related records can provide insights into the most frequently booked locations for each city.

For each <location> predict the first <rating> in all related records
Reasoning: Predicting the first rating in all related records can provide insights into the average satisfaction level of guests for each location.

For each <location> predict the last <location> in all related records
Reasoning: Predicting the last location in all related records can provide insights into the most recent bookings for each city.

For each <location> predict the last <rating> in all related records
Reasoning: Predicting the last rating in all related records can provide insights into the recent satisfaction level of guests for each location.CommunityQuestions or Issues?Create aGitHub issue.Want to Chat?Join our Slack community.Cite TraneIf you find Trane beneficial, consider citing our paper:Ben Schreck, Kalyan Veeramachaneni.What Would a Data Scientist Ask? Automatically Formulating and Solving Predictive Problems.IEEE DSAA 2016, 440-451.BibTeX entry:@inproceedings{schreck2016would,title={What Would a Data Scientist Ask? Automatically Formulating and Solving Predictive Problems},author={Schreck, Benjamin and Veeramachaneni, Kalyan},booktitle={Data Science and Advanced Analytics (DSAA), 2016 IEEE International Conference on},pages={440--451},year={2016},organization={IEEE}}