4
4
from sklearn .metrics import plot_confusion_matrix
5
5
from sklearn .model_selection import train_test_split
6
6
from xgboost import XGBClassifier
7
+ import numpy as np
7
8
8
9
9
10
def data_handling (data : dict ) -> tuple :
10
11
# Split dataset into train and test data
11
- features = data ["data" ] # data is features
12
- target = data ["target" ]
13
- x = train_test_split (features , target , test_size = 0.25 )
12
+ # data is features
13
+ """
14
+ >>> data_handling(({'data':'[5.1, 3.5, 1.4, 0.2],[4.6, 3.4, 1.4, 0.3]','target':([0,1])}))
15
+ ('[5.1, 3.5, 1.4, 0.2],[4.6, 3.4, 1.4, 0.3]', [0, 1])
16
+ >>> data_handling({'data':'[4.9, 3. , 1.4, 0.2],[4.7, 3.2, 1.3, 0.2],[4.6, 3.1, 1.5, 0.2],[5. , 3.6, 1.4, 0.2],[5.4, 3.9, 1.7, 0.4]','target':([0,0, 0, 0, 0])})
17
+ ('[4.9, 3. , 1.4, 0.2],[4.7, 3.2, 1.3, 0.2],[4.6, 3.1, 1.5, 0.2],[5. , 3.6, 1.4, 0.2],[5.4, 3.9, 1.7, 0.4]', [0, 0, 0, 0, 0])
18
+ """
19
+ x = (data ["data" ],data ["target" ])
14
20
return x
15
21
16
22
17
- def xgboost (features : list , target : list ): # -> returns a trained model:
23
+ def xgboost (features : np .ndarray , target : np .ndarray ): - > XGBClassifier :
24
+ """
25
+ >>> xgboost(np.array([[5.1, 3.5, 1.4, 0.2],[4.6, 3.4, 1.4, 0.3]]), np.array([1,2]))
26
+ XGBClassifier()
27
+ """
18
28
classifier = XGBClassifier ()
19
29
classifier .fit (features , target )
20
30
return classifier
@@ -23,17 +33,20 @@ def xgboost(features: list, target: list): # -> returns a trained model:
23
33
def main () -> None :
24
34
25
35
"""
36
+ >>> main()
37
+
26
38
The Url for the algorithm
27
39
https://xgboost.readthedocs.io/en/stable/
28
40
Iris type dataset is used to demonstrate algorithm.
29
41
"""
30
42
31
43
# Load Iris dataset
32
44
iris = load_iris ()
45
+ features ,targets = data_handling (iris )
46
+ x_train , x_test , y_train , y_test = train_test_split (features , targets , test_size = 0.25 )
33
47
34
48
names = iris ["target_names" ]
35
49
36
- x_train , x_test , y_train , y_test = data_handling (iris )
37
50
38
51
# XGBoost Classifier
39
52
xgb = xgboost (x_train , y_train )
0 commit comments