Skip to main content

A package for DSCI 310 Group's Airbnb Analysis.

Project description

pynyairbnb

A package for DSCI 310 Group's Airbnb Analysis.

codecov

Due to the amount of functions we created for our project, we are not successfully able to achieve a high code coverage score. For our main repository, we have tested all functions in our repository. However, for our package repository, we have only provided test functions for functions that we believe to be the most crucial for our package. We have also spoken to the professor about our issue, and she has approved our request of submitting our project with the given code coverage score. Below, we have listed the functions that we have specifically worked on for milestone 4:

Functions tested in - DSCI-310-2024/DSCI_310_Group_9_NY-airbnb-analysis/src:

  • add_price_category(data)
  • build_preprocessor(numerical_data, text_data, categorical_data)
  • build_clf_model(model, preprocessor, tbl_out_dir, X_train, y_train, X_test, y_test, replacement_dict, clf_report_file_name)
  • knn_param_optimization(knn_model, tbl_out_dir, X_train, y_train, X_test, y_test, replacement_dict, output_file_name, param_dist)
  • main(input_dir, tbl_out_dir)

Functions tested in DSCI-310-2024\pynyairbnb/src:

data_preprocessing.py

  • create_dir_if_not_exists(directory)
  • read_data(data_url, out_dir)
  • convert_missing_values(data)
  • split_data(data)
  • save_dataframes(out_dir, train_df, test_df)
  • add_price_category(data)
  • data_preprocessing(input_path, out_dir)

plotting.py

  • sns_plotting(plot_type, data, x='number_of_reviews', y='price', figlength=14, figheight=7)
  • build_preprocessor(numerical_data, text_data, categorical_data)
  • build_clf_model(model, preprocessor, tbl_out_dir, X_train, y_train, X_test, y_test, replacement_dict, clf_report_file_name)
  • knn_param_optimization(knn_model, tbl_out_dir, X_train, y_train, X_test, y_test, replacement_dict)

Installation

$ pip install pynyairbnb

Usage

pynyairbnb can be used to load data from insideairbnb.com's NYC Airbnb Open Data, perform all necessary preprocessing necessary, generate visualizations, build a knn-classification model and conduct a hyperparameter optimization on the model as follows:

from pynyairbnb.data_preprocessing import data_preprocessing
from pynyairbnb.plotting import plot_pynyairbnb
from pynyairbnb.pynyairbnb import nyairbnb_analysis

data_preprocessing("example-link-data.csv", "documents/data_files")  # url to your data and path to save your data
plot_pynyairbnb("documents/data_files/train_df.csv", "documents/data_figures", "documents/data_tables") # path to data files and output paths to save figures and tables
nyairbnb_analysis("documents/data_files", "documents/data_tables") # path to data files and output path to save tables

All outputs get saved as .csv or .jpg files that you can read in using the pandas.read_csv() function or the matplotlib.pyplot.imread() function respectively.

Contributing

Interested in contributing? Check out the contributing guidelines. Please note that this project is released with a Code of Conduct. By contributing to this project, you agree to abide by its terms.

License

pynyairbnb was created by by the members of Group 9 for DSCI 310. It is licensed under the terms of the MIT license.

Please refer to LICENSE.md for detailed licensing information.

Credits

pynyairbnb was created with cookiecutter and the py-pkgs-cookiecutter template.

This package also utilizes New York City Airbnb Open Data from insideairbnb.com for example demonstrations.

Contributors

Rashi Selarka

Riddhi Battu

Oliver Gullery

Prithvi Sureka

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pynyairbnb-0.2.0.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pynyairbnb-0.2.0-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file pynyairbnb-0.2.0.tar.gz.

File metadata

  • Download URL: pynyairbnb-0.2.0.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for pynyairbnb-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d06e6c86f8b25fa0402413615afddf4cc13b71fa81b4e2e4bbdb91aea652099e
MD5 1dc271cf736c71d4df3b4ca4069331ef
BLAKE2b-256 998a1e3a9440e18e9a8c2b76760ab3de39b4993e1c8ba464ed048cd43ef63017

See more details on using hashes here.

File details

Details for the file pynyairbnb-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pynyairbnb-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for pynyairbnb-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 87b79a831fe1c13bcc1720ab19c5c92835f0ffbf76a23978eb543c8107ba257c
MD5 370e361ab2ef20af68a9e44e2c242862
BLAKE2b-256 e745e8bc1f5776c81c70823bf5bd07034e8183cb600f82a45878149a99595b29

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page