## Data loading, handling, and preprocessing import os import glob import sys from pathlib import Path import csv import re import jcamp import random from datetime import datetime import numpy as np from shutil import rmtree, move, make_archive from pandas import DataFrame, read_csv, concat, Series, json_normalize from itertools import combinations from hashlib import md5 from matplotlib import colors from matplotlib.colors import Normalize from abc import ABC, abstractmethod from typing import Optional, List from sklearn.preprocessing import StandardScaler, MinMaxScaler, LabelEncoder from scipy.stats import skew, kurtosis from scipy.signal import savgol_filter, find_peaks_cwt, detrend import scipy as sc from kennard_stone import train_test_split as ks_train_test_split from kennard_stone import KFold as ks_KFold ### Exploratory data analysis-Dimensionality reduction from umap.umap_ import UMAP from sklearn.decomposition import PCA, NMF from pandas.api.types import is_float_dtype from plotly.subplots import make_subplots from matplotlib.cm import ScalarMappable import streamlit.components.v1 as components # 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 from sklearn.linear_model import LinearRegression ## 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, mpld3 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, TemporaryDirectory # 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 from joblib import dump, load, hash # import pickle as pkl from hyperopt import fmin, hp, tpe, Trials, space_eval, STATUS_OK, anneal st.set_option('deprecation.showPyplotGlobalUse', False)