## Data loading, handling, and preprocessing import os import json import sys from pathlib import Path import csv import re import jcamp import random import datetime import numpy as np import pandas as pd from matplotlib import colors from abc import ABC,abstractmethod from typing import Optional, List from sklearn.preprocessing import StandardScaler, MinMaxScaler, LabelEncoder import time from scipy.stats import skew, kurtosis from scipy.signal import savgol_filter, find_peaks_cwt, detrend import scipy as sc import kennard_stone as ks ### Exploratory data analysis-Dimensionality reduction from umap.umap_ import UMAP from sklearn.decomposition import PCA, NMF # Clustering from sklearn.cluster import KMeans, HDBSCAN,AffinityPropagation from scipy.spatial.distance import euclidean, cdist from scipy.sparse.csgraph import minimum_spanning_tree from scipy.sparse import csgraph # Modelling from juliacall import Main as jl from pinard import utils from pinard import preprocessing as pp from pinard.model_selection import train_test_split_idx from sklearn.model_selection import train_test_split, cross_val_score, cross_val_predict, cross_validate, RandomizedSearchCV from sklearn.pipeline import Pipeline, FeatureUnion from sklearn.compose import TransformedTargetRegressor from sklearn.metrics import mean_absolute_error, mean_squared_error, mean_absolute_percentage_error, r2_score from sklearn.cross_decomposition import PLSRegression ## Images and plots from PIL import Image import plotly.express as px import plotly.graph_objects as go import plotly.io as pio import matplotlib.pyplot as plt import seaborn as sns import matplotlib ### Important Metrics from sklearn.metrics import pairwise_distances_argmin_min, adjusted_rand_score, adjusted_mutual_info_score ## Web app construction import streamlit as st from st_pages import Page, Section, show_pages, add_page_title, hide_pages from tempfile import NamedTemporaryFile # help on streamlit input https://docs.streamlit.io/library/api-reference/widgets #Library for connecting to SQL DB import pyodbc #Library for reading the config file, which is in JSON import json # save models import joblib # import pickle as pkl from hyperopt import fmin, hp, tpe, Trials, space_eval, STATUS_OK, anneal st.set_option('deprecation.showPyplotGlobalUse', False)