CoolFace
Apppublic

PriyaPbs/ModelOptix

sourceHugging Faceupdated 5mo agoView on Hugging Face
0likes
train.cpython-310.pyc96 linesDownload Raw Back to __pycache__
1o

2W��i�O�@s"ddlZddlZddlZddlmZmZmZm	Z	m3Z4mZmZm
Z
mZmZmZmZddlmZmZddlmZmZmZmZmZmZmZmZmZmZm Z m!Z!ddl"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(ddl)m*Z*m+Z+m,Z,ddl-m.Z.m/Z/ddl0m1Z1m2Z2dd	l3m4Z4m5Z5dd5l6m7Z7ddl8m9Z9m:Z:m;Z;m<Z<ddl=m>Z>m?Z?m@Z@mAZAzdd
lBmCZCmDZDdZEWneFy�dZEYnwzddlGmHZHmIZIdZJWneFy�dZJYnwzddlKmLZLmMZMdZNWneFy�dZNYnwdd�ZOdd�ZPd(dd�ZQdd�ZRdd�ZSdd�ZTd)dd �ZUd!d"�ZV	#	$	%	d*d&d'�ZWdS)+�N)�AdaBoostClassifier�AdaBoostRegressor�BaggingClassifier�BaggingRegressor�ExtraTreesClassifier�ExtraTreesRegressor�GradientBoostingClassifier�GradientBoostingRegressor�HistGradientBoostingClassifier�HistGradientBoostingRegressor�RandomForestClassifier�RandomForestRegressor)�LinearDiscriminantAnalysis�QuadraticDiscriminantAnalysis)�
BayesianRidge�6ElasticNet�HuberRegressor�Lasso�LinearRegression�LogisticRegression�PassiveAggressiveClassifier�7Perceptron�Ridge�RidgeClassifier�
SGDClassifier�SGDRegressor)�accuracy_score�f1_score�mean_absolute_error�precision_score�r2_score�recall_score)�GridSearchCV�cross_val_score�train_test_split)�BernoulliNB�8GaussianNB)�KNeighborsClassifier�KNeighborsRegressor)�
MLPClassifier�MLPRegressor)�Pipeline)�	LinearSVC�	LinearSVR�SVC�SVR)�DecisionTreeClassifier�DecisionTreeRegressor�ExtraTreeClassifier�ExtraTreeRegressor)�
XGBClassifier�XGBRegressorTF)�LGBMClassifier�
LGBMRegressor)�CatBoostClassifier�CatBoostRegressorcCs&tjj�|�s	dS|��dkrdSdS)N�classification�910regression)�pd�api�types�is_numeric_dtype�nunique)�y�rC�IC:\Users\priya\Desktop\TechFusion\AutoPredict\automl\ml_pipeline\train.py�detect_task_typePs11rEcCsLt|�}|dkr|dkrtd�dS|dkr|dkrtd�|dvr$|S|S)Nr:r<zZ[train] Auto-correcting task type from classification to regression based on target valueszf[train] Keeping regression request, but target looks categorical; results may depend on dataset choice)r:r<)rE�print)rBZrequested_model_type�inferredrCrCrD�infer_effective_task_typeXsrH�cCsTt|�dkrdS|dkr#t�|�jdd�}|jrdSt|t|����St|t|��S)N�rr:F)�dropna)�lenr=�Series�value_counts�empty�min�int)rB�	task_type�	preferred�countsrCrCrD�
get_cv_splitsbsrUc	Cs�|dkr�idtdddd��dt��dtdddd��d	tddd12��dtddd13��dt��d
t��dt��dt��dt	ddd��dt14ddd��dtddddd��dtddddd��dt
dddd��dtddd15��dtddd��dtdddd ��td!d"d#dd$�td%dd16�tddd&�td'd(dd)�d*��}tr�tdddd+dd,d-d.�|d/<tr�tdddd0dd1�|d2<tr�tdd3dd+d4�|d5<|Sid6t��d7t��d8td9d:��d;td9d:��d<t��d=t d(d:��d>t!ddd17��dt"ddd��dt#ddd��dt$ddddd��dt%ddddd��dt&dddd��dt'ddd18��dt(ddd��dt)dddd ��d?t*d!d"d@��dAt+d%d:��t,ddd&�t-d'd(dd)�dB��}t�rHt.dddd+dd1�|d/<t�rVt/dddd0dd1�|d2<t�rct0dd3dd+d4�|d5<|S)CNr:�logistic_regressioni��*�)�max_iter�random_state�n_jobs�ridge_classifier�sgd_classifier�passive_aggressive)rYrZ�19perceptron�gaussian_nb�bernoulli_nb�lda�qda�
decision_tree�)�	max_depthrZ�20extra_tree�
random_forest�2)�n_estimatorsrfrZr[�extra_trees�gradient_boostingrI)rjrfrZ�hist_gradient_boosting�adaboost)rjrZ�baggingr;)rjrZr[�rbf��?T)�kernel�C�probabilityrZi�)�n_neighborsr[��@��)Zhidden_layer_sizesrYrZ)�svm�21linear_svc�knn�mlprZloglossF)rjrfrZ�	verbosityr[Zeval_metricZuse_label_encoder�xgboost�����)rjrfrZr}r[�lightgbm�)�22iterations�depthrZ�verbose�catboost�linear_regression�ridge�lasso��)rY�23elasticnet�bayesian_ridge�huber�
sgd_regressor�svr)rrrs�24linear_svr)r{r|)1rrrrrr&r%rrr0r2rrrr25rrr.r,r'r)�XGBOOST_AVAILABLEr4�LIGHTGBM_AVAILABLEr6�CATBOOST_AVAILABLEr8rrrrrrrr1r3r
rr	rrrr/r-r(r*r5r7r9)rR�modelsrCrCrD�get_quick_modelsms���������	�26������������2728�29�	3031�32�-���33�34��35���	�36��
���������37�38�3940�4142�43�r�cCs<idgd�ddgd��ddgd�i�dgd	�d44dgd��d
dgd�i�ddd45dgi�di�ddgd�i�di�di�dgd�ddgd��dgd�ddgd��dddgddgddgd ��d!ddgddgd"��d#ddgd$d%gd&dgd'��d(ddgd$d%gd)��d*d+dgd,d-gd.��d/d0d1d2gi�gd�d3d4gd5�dgd�igd6�d7d8gd9�gd:�d46dgd;�ddgd$d%gd&dgd'�ddgd$d%gd<d=gd>�ddgd$d%gd?d@gdA�dB��}idCi�dDdgd�i�dEdgdF�i�dGd%d-ggdH�dI��dJi�dKdLgdM�i�dNdOdPgd47dgdQ��ddRgd�i�ddRgd�i�dddgddgd"��d!ddgddgd"��d#ddgd$d%gd&dgd'��d(ddgd$d%gd)��d*d+dgd,d-gd.��d/d0d1d2gi�dSgd�d3d4gd5��dTdgd�i�gd6�d7d8gd9�gd:�d48dgd;�ddgd$d%gd&dgd'�ddgd$d%gd<d=gd>�ddgd$d%gd?d@gdA�dU��}|dVk�r�|n|}|�|i�S)WNrV)皙�����?rqg$@�lbfgs�	liblinear)�model__CZ
model__solverr\�model__alphar])�hinge�log_loss�modified_huberg-C��6?g����MbP?)Zmodel__lossr�r^r�r_r`ra)r���?rqrbrcrd)rIrer;NZgini�entropy)�model__max_depth�model__criterionrg)rIreNrh�drxre)�model__n_estimatorsr�r�rk)r�r�rlg�������?r�rI)r��model__learning_rater�rm)Zmodel__max_iterr�rnrir�rq)r�r�ror�r;�rp�linear)r�Z
model__kernel)rIrer;�uniform�distance)Zmodel__n_neighborsZmodel__weights)rv)�)rw� )Zmodel__hidden_layer_sizesr���?)r�r�Zmodel__num_leavesr��)Zmodel__iterationsr�Zmodel__depth)ryrzr{r|r~r�r�r�r�r�)g{�G�z�?r�rqr�)g333333�?r�gffffff�?)r�Zmodel__l1_ratior�r�Zmodel__epsilon)g�������?g�?g@r��l2�l1)Zmodel__penaltyr�r�r�r�)r{r|r~r�r�r:)�get)�49model_namerRZclassification_paramsZregression_params�paramsrCrCrD�get_full_params�s���������	�50���
�����51���������	�52���
������r�cCs<t|�}|�|�}|durtd|����|jdi|����S)NzUnknown model: rC)r�r��53ValueError�	__class__�54get_params)r�rRZquick�modelrCrCrD�get_model_instances5556r�cCs�tdt|��}|t|�kr8tj�d�jt|�|dd�}t|d�r%|j|n||}t|d�r3|j|n||}	n|}|}	|dkrBdnd}57t|�}i}t|�}
t	|	|�}t58|��d	�D]v\}\}}zAtd59|fd|fg�}|dkr�t
|||	||60d	d
�}tt�|��||<n|�||	�t|�||	��||<td|�d||d���Wn ty�}zd||<td|�d|���WYd}~nd}~ww|r�|d||
||�|d��qZt|��dd�dd�}dd�|d|�D�}td|�d|���||fS)Nr�rWF)�replace�ilocr:�accuracy�r2rX�prepr�rJ)�cv�scoringr[z[benchmark] z: z.4fg8��z	 failed: �	benchmarkrcS�|dS)NrXrC��itemrCrCrD�<lambda>-�z!smart_benchmark.<locals>.<lambda>T��key�reversecSsg|]61\}}|dkr|�qS)i���rC)�.0�name�scorerCrCrD�62<listcomp>.sz#smart_benchmark.<locals>.<listcomp>z[benchmark] Top )rPrL�np�random�RandomState�choice�hasattrr�r�rU�	enumerate�itemsr+r#�float�mean�fitr�rF�	Exceptionr��sorted)�X_train�y_train�preprocessorrR�top_n�progress_callback�sample_size�idxZX_sampleZy_sampler�Zquick_models�scores�total�	cv_splitsr�r��pipeZ	cv_scores�e�rankedZ	top_namesrCrCrD�smart_benchmarksB63 ���r�cs�zJ|jd}t|d�r|j�nt|d�r'|j}|jdkr"t|d�nt|��ngWStt��t���}��fdd�t|�D�}|j	dd	�d64d�|WSt65yUgYSw)Nr��feature_importances_�coef_rXrcs0g|]}t�|�ttt�|�d��d��qS)r�)r��66importance)�strr��round)r��i��
feature_namesZimportancesrCrDr�>s"��z.extract_feature_importance.<locals>.<listcomp>cSr�)Nr�rCr�rCrCrDr�Br�z,extract_feature_importance.<locals>.<lambda>Tr�)�named_stepsr�r�r��ndim�absrPrL�range�sortr�)�pipeliner�r��coef�n�featuresrCr�rD�extract_feature_importance3s"676869 ��r�r:�auto皙�����?c#Cs�t||�}|rt|�nd}d|krdksnd}z |dkr-t||||dd�\}}	}70}nt|||dd�\}}	}71}WntyOt|||dd�\}}	}72}Ynw|dkrVdnd	}g}
|rn|d73krntd|�d��|g}i}n:td
tdt|���d��|r�|ddddd�t||74||d|d�\}}td|���|r�|ddddd�|���d�t|�}t	|d�D�]o\}}td|�d|�d|�d���zO�z#t75||�}t||�}t|76|�}t
d|fd|fg�}|�r
|dk�r
t||||dd dd!�}t��}|�||77�ttt��|d��}|j}nt��}|�||78�ttt��|d��}|}|�|	�}z|jd��}d"d#�|D�}Wnt�yKd$d#�|jD�}Ynwt||�}|d%k�r�t||�}t||�}|
�t|�|d%tt|d&��d'd'd'tt|d&��tt|d&��||tt|�|d�d&��d(��nQ|��dk�r�d)nd*} |
�t|�|dttt||�d&��ttt ||| dd+�d&��ttt!||| dd+�d&��ttt"||| dd+�d&��d'd'||tt|�|d�d&��d(��td,|�d-|�d.��Wnt�y}!ztd/|�d0|!���WYd}!~!nd}!~!wwW|�r|d1|||d�q�|�r!|d1|||d�ww|
�s)td2��t#|
d3d4�d5�}"td6|"d7�d8|"d���|"S)9Nr�r�r�r:rW)�	test_size�stratifyrZ)r�rZr�r�r�z[train] User selected: z - skipping benchmarkz/[train] Auto mode - running smart benchmark on r�z samples...�statusrz(Running quick benchmark on all models...rI)r�r�z#[train] Benchmark done. Finalists: z#Benchmark done! Tuning top models: z, rXz	[train] (�/z) Full tuning: z...r�r�rJT)r�r�r[�refit�error_scorecSsg|]}t|��d�d�qS)�__r)r��split)r�r�rCrCrDr��sz"train_pipeline.<locals>.<listcomp>cSsg|]}t|��qSrC)r�)r��columnrCrCrDr��sr<r�g)r�r��taskr��	precision�recall�f1r �mae�timer��benchmark_score�binary�weighted)�average�
zero_divisionz[train] OK z79 tuned in �sz[train] FAIL 'z' - �tuningz&All models failed. Check your dataset.cSr�)Nr�rCr�rCrCrDr��r�z train_pipeline.<locals>.<lambda>)r�z[train] Best model: r�z -> )$rHr�r$r�rFrPrLr��joinr�r�r�rUr+r"rr�r��best_estimator_�predictr��get_feature_names_outr��columnsr�r r�appendr�r�rArrr!r�max)#�XrBr��80model_type�selected_modelr�r�rRr��X_testr��y_testr��results�81candidatesZbenchmark_scoresr�r�r�Zmodel_instancer�r�r��grid�startZ
training_timeZ	best_pipe�predsr�r�r�r�avgr��bestrCrCrD�train_pipelineHs82�83�����84�	�858687�	88�89909192�������� ������r#)rI)rIN)r:r�r�N)Xr�numpyr��pandasr=Zsklearn.ensemblerrrrrrrr	r93rrr
Zsklearn.discriminant_analysisrrZsklearn.linear_modelrrrrrrrrrrrrZsklearn.metricsrrrrr r!Zsklearn.model_selectionr"r#r$Zsklearn.naive_bayesr%r&Zsklearn.neighborsr'r(Zsklearn.neural_networkr)r*Zsklearn.pipeliner+Zsklearn.svmr,r-r.r/Zsklearn.treer0r1r2r3r~r4r5r��ImportErrorr�r6r7r�r�r8r9r�rErHrUr�r�r�r�r�r#rCrCrCrD�<module>sZ88 ���94 95`796'�