Skip to main content

Library/framework for making predictions.

Project description

mydatapreprocessing

PyPI pyversions PyPI version Language grade: Python Build Status Documentation Status License: MIT codecov

Library contain 3 modules - preprocessing, inputs and generatedata.

Preprocessing

First - preprocessing load data, consolidate it and do the preprocessing. It contains functions like load_data, data_consolidation, preprocess_data, preprocess_data_inverse, add_frequency_columns, rolling_windows, add_derived_columns etc.

Example

import mydatapreprocessing.preprocessing as mdpp

data = "https://blockchain.info/unconfirmed-transactions?format=json"

# Load data from file or URL
data_loaded = mdpp.load_data(data, request_datatype_suffix=".json", predicted_table='txs')


#Some examples of other inputs to data_load function

# myarray_or_dataframe # Numpy array or Pandas.DataFrame
# r"/home/user/my.json" # Local file. The same with .parquet, .h5, .json or .xlsx. On windows it's necessary to use raw string - 'r' in front of string because of escape symbols \
# "https://yoururl/your.csv" # Web url (with suffix). Same with json.
# "https://blockchain.info/unconfirmed-transactions?format=json" # In this case you have to specify also 'request_datatype_suffix': "json", 'data_orientation': "index", 'predicted_table': 'txs',
# {'col_1': [3, 2, 1, 0], 'col_2': ['a', 'b', 'c', 'd']} # Dict with colums or rows (index) - necessary to setup data_orientation!


# You can use more files in list and data will be concatenated. It can be list of paths or list of python objects. Example:

# [{'col_1': 3, 'col_2': 'a'}, {'col_1': 0, 'col_2': 'd'}]  # List of records
# [np.random.randn(20, 3), np.random.randn(25, 3)]  # Dataframe same way
# ["https://raw.githubusercontent.com/jbrownlee/Datasets/master/daily-min-temperatures.csv", "https://raw.githubusercontent.com/jbrownlee/Datasets/master/daily-min-temperatures.csv"]  # List of URLs
# ["path/to/my1.csv", "path/to/my1.csv"]


# Transform various data into defined format - pandas dataframe - convert to numeric if possible, keep
# only numeric data and resample ifg configured. It return array, dataframe
data_consolidated = mdpp.data_consolidation(
    data_loaded, predicted_column="weight", data_orientation="index", remove_nans_threshold=0.9, remove_nans_or_replace='interpolate')

# You can add some extra informations to the data that can help (beware it can slow down the machine learning model)
to_be_extended = np.array([[0, 2] * 64, [0, 0, 0, 5] * 32]).T
extended = mdpp.add_frequency_columns(to_be_extended, window=8)


to_be_extended2 = pd.DataFrame([range(30), range(30, 60)]).T
extended2 = mdpp.add_derived_columns(to_be_extended2, differences=True, second_differences=True, multiplications=True,
                                    rolling_means=True, rolling_stds=True, mean_distances=True, window=10)

# Feature extraction is under development  :[

# Preprocess data. It return preprocessed data, but also scaler for inverse
# transformation, so unpack it with _
data_preprocessed, _ = mdpp.preprocess_data(data_consolidated, remove_outliers=True, smoothit=False,
                                              correlation_threshold=False, data_transform=False, standardizeit='standardize')

Inputs

Second module is inputs. It take tabular time series data and put it into format (input vector X, output vector y and input for predicted value x_input) that can be inserted into machine learning models for example on sklearn or tensorflow. It contain functions make_sequences, create_inputs and create_tests_outputs

Example

import mydatapreprocessing.inputs as mdpi

data = np.array([[1, 3, 5, 2, 3, 4, 5, 66, 3]]).T
seqs, Y, x_input, test_inputs = mdpi.inputs.make_sequences(data, predicts=7, repeatit=3, n_steps_in=6, n_steps_out=1, constant=1)

Third module is generatedata. It generate some basic data like sin, ramp random. In the future, it will also import some real datasets for models KPI.

generatedata

Third module generate data that can be used for validating machine learning time series prediction results. It can define for example sig, sign, ramp signal or download ECG heart signal.

Example

import mydatapreprocessing as mdp

data = mdp.generatedata.gen_sin(1000)

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

mydatapreprocessing-1.1.31.tar.gz (27.0 kB view details)

Uploaded Source

Built Distributions

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

mydatapreprocessing-1.1.31-py3.7.egg (57.0 kB view details)

Uploaded Egg

mydatapreprocessing-1.1.31-py3-none-any.whl (28.6 kB view details)

Uploaded Python 3

File details

Details for the file mydatapreprocessing-1.1.31.tar.gz.

File metadata

  • Download URL: mydatapreprocessing-1.1.31.tar.gz
  • Upload date:
  • Size: 27.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.1

File hashes

Hashes for mydatapreprocessing-1.1.31.tar.gz
Algorithm Hash digest
SHA256 cc496e4d45c7fb5b622cdc9f63ab12ca4f0ed45c84a84f8d7d4f867dee641b11
MD5 59810b8f08d025169867e673be210c97
BLAKE2b-256 bf2e5f6d08ae7580968bffea9b461293d2fa09e498fb4c3ba6b85c6a448b2075

See more details on using hashes here.

File details

Details for the file mydatapreprocessing-1.1.31-py3.7.egg.

File metadata

  • Download URL: mydatapreprocessing-1.1.31-py3.7.egg
  • Upload date:
  • Size: 57.0 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.1

File hashes

Hashes for mydatapreprocessing-1.1.31-py3.7.egg
Algorithm Hash digest
SHA256 2084542f55ceae9219811ff03a86e8e9e379c4083afb50325f5fbd1a8330f6d2
MD5 df08343a8064d34e5d319abbe644f5b2
BLAKE2b-256 9f5b5a795958efec0fd9addf7628f8c5b34b235efc43a1053d9e7c47df81aee9

See more details on using hashes here.

File details

Details for the file mydatapreprocessing-1.1.31-py3-none-any.whl.

File metadata

  • Download URL: mydatapreprocessing-1.1.31-py3-none-any.whl
  • Upload date:
  • Size: 28.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.1

File hashes

Hashes for mydatapreprocessing-1.1.31-py3-none-any.whl
Algorithm Hash digest
SHA256 2cb68afc9beb5264a1e31e2f1bf7c7f9eefec398fcc955c888f31cf8b71962b5
MD5 e9dcb1a2ec8c29e11ba6b95ad65cd1ed
BLAKE2b-256 62855f7906aef79703fd5ae7c07b3fb499ea180d6c85bbc4eeb797a3d6551226

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