CoolFace
Apppublic

glaria/app-project-huggingface

sourceHugging Faceccupdated 3y agoView on Hugging Face
0likes
app_functions.cpython-38.pyc44 linesDownload Raw Back to __pycache__
1U

2lu�d�%�@s�ddlZddlZddlZddlZddlmZddl	m3Z4dZdd�Zdd�Z
dd	�Zejejd5�dd�Zejejed
�dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd!dd�Zdd�Zdd �ZdS)"�N)�_treeg�������?c6Cs(ddddt�t|�t�d��S)zFrom z-score return p-value.��g�?)�scsp�erf�abs�math�sqrt)�z�r�.\app_functions.py�z2psr
cCsZ|t|�|t|�t|�t|�}||}t�|d|d|d|�}||S)z' Obtain zscore of 2 proportions sample r)�floatrr	)�p1�p2�n1�n2�p�	numerator�denominatorrrr�zscores("rcCsp|d}}d}}tdt|��D]B}|||||krH||}|}n|||7}||kr"|}|}q"|||fS)Nrr)�range�len)�7input_list�max_current�8max_global�start�end�irrr�kadane_algorithmsr)�dataset�returncCs@gggd�}|jD�]}||j}|dkrV|d�|�|d�d�|d�d�q|dkr�|d�|�|d�d	�|d�d�q|d�|�|d9kr�|d�d�|d�d�q|d
kr�|d�d	�|d�d�q||��dk�r|d�d�|d�d�q|d�d�|d�d�qt�|�}|S)N)�COLUMN�DATATYPE�METATYPE�CUSTOMERNUMBERr"r#�NUMERICr$�PK�TGCG�STRING�bool�BOOL�KPI�object�SF�10�NUM_ST)�columns�dtype�append�nunique�pd�	DataFrame)r �	info_data�columnr2�inferred_info_datasetrrr�infer_datatypes_and_metatypes&s21112r:)r �info_datasetr!c	CsJddddg}ddddg}|��D�]"\}}|d	}|d13}|d}||ksR||krXdS|dkr|||�d
d����s|dS|dkr�||�dd����s�dS|dkr�||�dd����s�dS|dkr�||��dkr�||�dd����s�dS|dk�r ||�dd�����s dS|dkr ||�dd����s dSq dS)Nr+r)r0r&r(r'r,r.r"r#r$FcSst�|�r|��dkSdS)N)�target�controlT)r5�notnull�lower��xrrr�<lambda>S�z2validate_datatypes_and_metatypes.<locals>.<lambda>cSst�|�rt|t�SdS�NT)r5r>�14isinstancer*r@rrrrBVrCcSst�|�rt|t�SdSrD)r5r>rE�strr@rrrrBYrCr/cSst�|�rt|ttf�SdSrD�r5r>rE�intrr@rrrrB\rCcSst�|�rt|ttf�SdSrDrGr@rrrrB_rCcSst�|�rt|ttf�SdSrDrGr@rrrrBbrCT)�iterrows�apply�allr4)	r r;�datatype_values�metatype_values�index�rowr8�datatype�metatyperrr� validate_datatypes_and_metatypesGs*."rRcCst|t�rd�|�S|S)N�{:.2f})rEr�format)�valuerrr�format_floaths1516rVc
17CsZg}|j||dk|f��}t|j||dk�}|dkrNt||dd�nd}|j||dk|f��}t|j||dk�}|dkr�t||dd�nd}	||	}18|dkr�|dkr�ttt|�t|�t|�t|�t|�t|���nd}|�|d�|�d�|�d�|�d�|	�d�|19�|g�t	j20|dd	d21ddd
dgd�}t	j|ddd�|d<|S)z&Calculates metrics for a specific KPI.r<r�drr=NrSr,�TG Acceptors�TG Acceptance (%)�CG Acceptors�CG Acceptance (%)�22Uplift (%)�P-value�r1�coerce��errors)�loc�sumr�roundr
rrr3rTr5r6�23to_numeric)
�subset�kpi�tgcg_column�metrics�tg_acceptors�tg_total�
tg_acceptance�cg_acceptors�cg_total�
cg_acceptance�uplift�p_value�	result_dfrrr�calculate_metrics2nsF6rscCs,t|d�tkrdgt|�Sdgt|�S)z6Highlights rows with P-value <= significance_treshold.r]zbackground-color: lightgreen�)r�significance_tresholdr)rOrrr�highlight_pvalue�srvcCs4g}|D]�}|||dk}|||dk}||��}t|�}|dkrZt||dd�nd}	||��}24t|�}|dkr�t|25|dd�nd}|	|}
|dkr�|dkr�tt|||26|||��nd}|�|d�|�d�|	�d�|27�d�|�d�|
�|g�qtj|dd	d28ddd
dgd�}tj	|ddd�|d<|S)z&Calculates metrics for a list of KPIs.r<r=rrWrNrSr,rXrYrZr[r\r]r^r_r`)29rcrrdr
rr3rTr5r6re)�df�kpi_columnsrhrirg�tg�cgrjrkrlrmrnrorprqrrrrr�calculate_metrics�s .8r{cCs>||d|k}|js:td|�d|���t|jdd��dS)z!Filters and displays the results.r]z	Segment: � = F�rNN)�empty�print�	to_string)rw�pvalue_threshold�30seg_column�unique_valuerrr�filter_and_display�sr��!Click here to download this tablecCs:|jdd�}t�|�����}d|�d|�d|�d�}|S)NFr}z<a href="data:file/csv;base64,z" download="z">z</a>)�to_csv�base64�	b64encode�encode�decode)rw�filename�message�csv�b64�hrefrrr�download_csv_link�sr�cCsP||����}t��}|�|�D](\}}|j|dd�}tj||gdd�}q"|S)NT)�replacer)�axis)�value_counts�maxr5r6�groupby�sample�concat)rw�31group_cols�max_size�df_oversampled�group�group_df�oversampled_grouprrr�32oversample�sr�c	s�|j��fdd��jD��g}g}���fdd���d||�t|dd�dd	�}g}|D]v}d33}|dd�D] }|d34kr�|d7}|t|�7}ql|t�|ddd�|krX|d
|dd�d�7}|�|�qX|S)Ncs"g|]}|tjkr�|nd�qS)z35undefined!)r�TREE_UNDEFINED)�.0r)�
feature_namesrr�36<listcomp>�s�zget_rules.<locals>.<listcomp>c	s37�j|tjkr�|}�j|}t|�t|�}}d|kr||�d�\}}|d|�d|�d�g7}|d|�d|�d�g7}n@|d|�dt�|d��d�g7}|d|�dt�|d��d�g7}��j|||���j	|||�n$|�j38|�j|fg7}||g7}dS)	Nz==�(z <> �)r|z <= rz > )�featurerr��	threshold�list�split�nprd�
children_left�children_rightrU�n_node_samples)	�node�path�paths�namer�rrr�rU)�feature_name�recurse�tree_rrr��s39  zget_rules.<locals>.recursercSs|ddS)N�����rrr@rrrrB�rCzget_rules.<locals>.<lambda>T)�key�reversertr�z and 40z41 42**(samples: rz)**)r�r��sortedrFr��argmaxr3)	�treer��class_names�class_of_interestr�r��rules�rulerr)r�r�r�r�r�	get_rules�s(43�r�)r�)�pandasr5�numpyr�rr��
scipy.special�specialr�sklearn.treerrur
rrr6r:r*rRrVrsrvr{r�r�r�r�rrrr�<module>s&!!44