hyb
2026-01-30 7657e1b2fa251a2ea372710ad75cb395a3c0e374
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
Ë
Wñúhçãó|—dZddlmZmZddlZddlZddlm    Z    ddl
m Z ddl m Z ddlmZddlmZGd    „d
e e    «Zy) zwClassifier utilities for MySQL Connector/Python.
 
Provides a scikit-learn compatible classifier backed by HeatWave ML.
é)ÚOptionalÚUnionN)ÚClassifierMixin)Ú MyBaseMLModel)ÚML_TASK)Ú    copy_dict)ÚMySQLConnectionAbstractc óP—eZdZdZ                ddedeedeedeedeef
d„Zd    e    e
je jfd
e jfd „Zd    e    e
je jfd
e jfd „Zd    e    e
je jfd
e
jfd „Zy)Ú MyClassifiera
    MySQL HeatWave scikit-learn compatible classifier estimator.
 
    Provides prediction and probability output from a model deployed in MySQL,
    and manages fit, explain, and prediction options as per HeatWave ML interface.
 
    Attributes:
        predict_extra_options (dict): Dictionary of optional parameters passed through
            to the MySQL backend for prediction and probability inference.
        _model (MyModel): Underlying interface for database model operations.
        fit_extra_options (dict): See MyBaseMLModel.
 
    Args:
        db_connection (MySQLConnectionAbstract): Active MySQL connector DB connection.
        model_name (str, optional): Custom name for the model.
        fit_extra_options (dict, optional): Extra options for fitting.
        explain_extra_options (dict, optional): Extra options for explanations.
        predict_extra_options (dict, optional): Extra options for predict/predict_proba.
 
    Methods:
        predict(X): Predict class labels.
        predict_proba(X): Predict class probabilities.
    NÚ db_connectionÚ
model_nameÚfit_extra_optionsÚexplain_extra_optionsÚpredict_extra_optionscó”—tj||tj||¬«t    |«|_t    |«|_y)a
        Initialize a MyClassifier.
 
        Args:
            db_connection: Active MySQL connector database connection.
            model_name: Optional, custom model name.
            fit_extra_options: Optional fit options.
            explain_extra_options: Optional explain options.
            predict_extra_options: Optional predict/predict_proba options.
 
        Raises:
            DatabaseError:
                If a database connection issue occurs.
                If an operational error occurs during execution.
        )r rN)rÚ__init__rÚCLASSIFICATIONrrr)Úselfr r rrrs      úIH:\Change_password\venv_build\Lib\site-packages\mysql/ai/ml/classifier.pyrzMyClassifier.__init__GsE€ô.    ×ÑØ Ø Ü × "Ñ "Ø!Ø/õ     
ô&/Ð/DÓ%EˆÔ"Ü%.Ð/DÓ%EˆÕ"óÚXÚreturncóv—|jj||j¬«}|dj«S)a
        Predict class labels for the input features using the MySQL model.
 
        References:
            https://dev.mysql.com/doc/heatwave/en/mys-hwaml-ml-predict-table.html
                A full list of supported options can be found under "ML_PREDICT_TABLE Options"
 
        Args:
            X: Input samples as a numpy array or pandas DataFrame.
 
        Returns:
            ndarray: Array of predicted class labels, shape (n_samples,).
 
        Raises:
            DatabaseError:
                If provided options are invalid or unsupported,
                or if the model is not initialized, i.e., fit or import has not
                been called
                If a database connection issue occurs.
                If an operational error occurs during execution.
        ©ÚoptionsÚ
Prediction)Ú_modelÚpredictrÚto_numpy)rrÚresults   rrzMyClassifier.predicths7€ð0—‘×$Ñ$ Q°×0JÑ0JÐ$ÓKˆØlÑ#×,Ñ,Ó.Ð.rcóþ‡—|jj||j¬«}t|djddj ««Št j|djˆfd„««S)a*
        Predict class probabilities for the input features using the MySQL model.
 
        References:
            https://dev.mysql.com/doc/heatwave/en/mys-hwaml-ml-predict-table.html
                A full list of supported options can be found under "ML_PREDICT_TABLE Options"
 
        Args:
            X: Input samples as a numpy array or pandas DataFrame.
 
        Returns:
            ndarray: Array of shape (n_samples, n_classes) with class probabilities.
 
        Raises:
            DatabaseError:
                If provided options are invalid or unsupported,
                or if the model is not initialized, i.e., fit or import has not
                been called
                If a database connection issue occurs.
                If an operational error occurs during execution.
        rÚ
ml_resultsrÚ probabilitiescó:•—‰Dcgc]
}|d|‘Œ c}Scc}w)Nr#©)Ú    ml_resultÚ
class_nameÚclassess  €rú<lambda>z,MyClassifier.predict_proba.<locals>.<lambda>¡s'ø€ØMTö#Ø?II˜oÑ.¨zÓ:ò#€ùò#s†)    rrrÚsortedÚilocÚkeysÚnpÚstackÚmap)rrr r(s   @rÚ predict_probazMyClassifier.predict_probaƒsuø€ð0—‘×$Ñ$ Q°×0JÑ0JÐ$ÓKˆä˜  Ñ-×2Ñ2°1Ñ5°oÑF×KÑKÓMÓNˆäx‰xØ <Ñ  × $Ñ $óó ó
ð    
rcóR—|jj||j¬«y)ai
        Explain model predictions using provided data.
 
        References:
            https://dev.mysql.com/doc/heatwave/en/mys-hwaml-ml-explain-table.html
                A full list of supported options can be found under "ML_EXPLAIN_TABLE Options"
 
        Args:
            X: DataFrame for which predictions should be explained.
 
        Returns:
            DataFrame containing explanation details (feature attributions, etc.)
 
        Raises:
            DatabaseError:
                If provided options are invalid or unsupported,
                or if the model is not initialized, i.e., fit or import has not
                been called
                If a database connection issue occurs.
                If an operational error occurs during execution.
 
        Notes:
            Temporary input/output tables are cleaned up after explanation.
        rN)rÚexplain_predictionsr)rrs  rr2z MyClassifier.explain_predictions§s!€ð6      ‰ ×'Ñ'¨°4×3MÑ3MÐ'ÕNr)NNNN)Ú__name__Ú
__module__Ú __qualname__Ú__doc__r    rÚstrÚdictrrÚpdÚ    DataFramer-Úndarrayrr0r2r%rrr r .sæ„ñð6%)Ø,0Ø04Ø04ñ Fà.ðFð˜S‘MðFð$ D™>ð    Fð
 (¨™~ð Fð  (¨™~ó FðB/ؐr—|‘| R§Z¡ZÐ/Ñ0ð/à     ‰ó/ð6"
ؐr—|‘| R§Z¡ZÐ/Ñ0ð"
à     ‰ó"
ðHOؐr—|‘| R§Z¡ZÐ/Ñ0ðOà     ‰ôOrr )r6ÚtypingrrÚnumpyr-Úpandasr9Ú sklearn.baserÚmysql.ai.ml.baserÚmysql.ai.ml.modelrÚmysql.ai.utilsrÚmysql.connector.abstractsr    r r%rrú<module>rDs6ðñ:÷#ãÛÝ(å*Ý%Ý$å=ôTO= /õTOr