{ "info": { "author": "Daniel Malachov", "author_email": "malachovd@seznam.cz", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Environment :: Other Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# predictit\nLibrary/framework for making predictions. Choose best of 20 models (ARIMA, regressions, LSTM...) from libraries like statsmodels, sci-kit, tensorflow and some own models. Library also automaticcaly preprocess data and chose optimal parameters of predictions.\n## Output\nMost common output is plotly interactive graph, deploying to database and list of results.\nPrintscreen of graph\n![Printscreen of output HTML graph](https://raw.githubusercontent.com/Malachov/predictit/master/output_example.png)\n\n## How to use\n```Python \npip install predictit\n```\n\n### Simple example with Pypi\n```Python\nimport predictit\n\npredictions = predictit.main.predict() # Make prediction on test data\n```\n\n### Example with own data from CSV and config\n```Python\nimport predictit\n\npredictit.config.predicts = 12 # Create 30 predictions\npredictit.config.data_source = 'csv' # Define that we load data from CSV\npredictit.config.csv_adress = r'E:\\VSCODE\\Diplomka\\test_data\\daily-minimum-temperatures.csv' # Load CSV file with data\npredictit.config.datalength = 1000 # Consider only last 1000 data points \npredictit.config.predicted_columns_names = 'Temp' # Column name that we want to predict\npredictit.config.optimizeit = 0 # Find or not best parameters for models\npredictit.config.compareit = 6 # Visualize 6 best models\npredictit.config.repeatit = 4 # Repeat calculation 4x times on shifted data to reduce chance\npredictit.config.other_columns = 0 # Whether use other columns or not\n\n# Chose models that will be computed\nused_models = {\n \"AR (Autoregression)\": predictit.models.ar,\n\n \"ARIMA (Autoregression integrated moving average)\": predictit.models.arima,\n\n \"Autoregressive Linear neural unit\": predictit.models.autoreg_LNU,\n \"Conjugate gradient\": predictit.models.cg,\n\n \"Extreme learning machine\": predictit.models.elm,\n\n \"Sklearn universal\": predictit.models.sklearn_universal,\n\n \"Bayes Ridge Regression\": predictit.models.regression_bayes_ridge,\n \"Hubber regression\": predictit.models.regression_hubber,\n \"Lasso Regression\": predictit.models.regression_lasso,\n }\n \n# Define parameters of models\n\nn_steps_in = 50 # How many lagged values in models\noutput_shape = 'batch' # Whether batch or one-step models\n\nmodels_parameters = {\n\n\n \"AR (Autoregression)\": {\"plot\": 0, 'method': 'cmle', 'ic': 'aic', 'trend': 'nc', 'solver': 'lbfgs'},\n \"ARMA\": {\"plot\": 0, \"p\": 3, \"q\": 0, 'method': 'mle', 'ic': 'aic', 'trend': 'nc', 'solver': 'lbfgs', 'forecast_type': 'in_sample'},\n \"ARIMA (Autoregression integrated moving average)\": {\"p\": 12, \"d\": 0, \"q\": 1, \"plot\": 0, 'method': 'css', 'ic': 'aic', 'trend': 'nc', 'solver': 'nm', 'forecast_type': 'out_of_sample'},\n\n \"Autoregressive Linear neural unit\": {\"plot\": 0, \"lags\": n_steps_in, \"mi\": 1, \"minormit\": 0, \"tlumenimi\": 1},\n \"Conjugate gradient\": {\"n_steps_in\": 30, \"epochs\": 5, \"constant\": 1, \"other_columns_lenght\": None, \"constant\": None},\n\n \"Extreme learning machine\": {\"n_steps_in\": 20, \"output_shape\": 'one_step', \"other_columns_lenght\": None, \"constant\": None, \"n_hidden\": 20, \"alpha\": 0.3, \"rbf_width\": 0, \"activation_func\": 'selu'},\n\n \"Sklearn universal\": {\"n_steps_in\": n_steps_in, \"output_shape\": \"one_step\", \"model\": predictit.models.default_regressor, \"constant\": None},\n\n \"Bayes Ridge Regression\": {\"n_steps_in\": n_steps_in, \"output_shape\": output_shape, \"other_columns_lenght\": None, \"constant\": None, \"alpha_1\": 1.e-6, \"alpha_2\": 1.e-6, \"lambda_1\": 1.e-6, \"lambda_2\": 1.e-6},\n \"Hubber regression\": {\"n_steps_in\": n_steps_in, \"output_shape\": output_shape, \"other_columns_lenght\": None, \"constant\": None, \"epsilon\": 1.35, \"alpha\": 0.0001},\n \"Lasso Regression\": {\"n_steps_in\": n_steps_in, \"output_shape\": output_shape, \"other_columns_lenght\": None, \"constant\": None, \"alpha\": 0.6}\n \n }\n \npredictions = predictit.main.predict()\n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/Malachov/predictit/archive/0.11.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Malachov/predictit", "keywords": "", "license": "mit", "maintainer": "", "maintainer_email": "", "name": "predictit", "package_url": "https://pypi.org/project/predictit/", "platform": "any", "project_url": "https://pypi.org/project/predictit/", "project_urls": { "Download": "https://github.com/Malachov/predictit/archive/0.11.tar.gz", "Homepage": "https://github.com/Malachov/predictit" }, "release_url": "https://pypi.org/project/predictit/0.21/", "requires_dist": null, "requires_python": "", "summary": "Library/framework for making predictions.", "version": "0.21" }, "last_serial": 5722548, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "f99c7c2400da9d39072961ca34e9da70", "sha256": "0bb7dbb1d0b928337fe61c472542de7ea2d077d0eb1a3b88fbd0afd1ae583999" }, "downloads": -1, "filename": "predictit-0.2.tar.gz", "has_sig": false, "md5_digest": "f99c7c2400da9d39072961ca34e9da70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28692, "upload_time": "2019-08-23T17:58:40", "url": "https://files.pythonhosted.org/packages/16/3f/7a7b4fa9598d45207c5624a74df4ccb10eafbccd8b934d50760abe409c60/predictit-0.2.tar.gz" } ], "0.21": [ { "comment_text": "", "digests": { "md5": "d5bd8a1ac6ff9ac9a4e982dfb0d1b9f9", "sha256": "c48831e97d1a39ac4bba284f97cbaebcb1e76d203108abffdf72aabd9ec20b67" }, "downloads": -1, "filename": "predictit-0.21.tar.gz", "has_sig": false, "md5_digest": "d5bd8a1ac6ff9ac9a4e982dfb0d1b9f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30571, "upload_time": "2019-08-23T20:00:53", "url": "https://files.pythonhosted.org/packages/10/97/2b719f0e84f63a410859c96f963707059aeda804f2649dac0d110bc15803/predictit-0.21.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d5bd8a1ac6ff9ac9a4e982dfb0d1b9f9", "sha256": "c48831e97d1a39ac4bba284f97cbaebcb1e76d203108abffdf72aabd9ec20b67" }, "downloads": -1, "filename": "predictit-0.21.tar.gz", "has_sig": false, "md5_digest": "d5bd8a1ac6ff9ac9a4e982dfb0d1b9f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30571, "upload_time": "2019-08-23T20:00:53", "url": "https://files.pythonhosted.org/packages/10/97/2b719f0e84f63a410859c96f963707059aeda804f2649dac0d110bc15803/predictit-0.21.tar.gz" } ] }