PyDLLib 1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- DLL/Data/Metrics.py +626 -0
- DLL/Data/Preprocessing.py +384 -0
- DLL/Data/_DataReader.py +55 -0
- DLL/Data/__init__.py +1 -0
- DLL/DeepLearning/Callbacks/_BackUp.py +71 -0
- DLL/DeepLearning/Callbacks/_BaseCallback.py +43 -0
- DLL/DeepLearning/Callbacks/_EarlyStopping.py +102 -0
- DLL/DeepLearning/Callbacks/_ReduceLROnPlateau.py +90 -0
- DLL/DeepLearning/Callbacks/__init__.py +4 -0
- DLL/DeepLearning/Initialisers/_Initialiser.py +24 -0
- DLL/DeepLearning/Initialisers/_Kaiming_He.py +55 -0
- DLL/DeepLearning/Initialisers/_Xavier_Glorot.py +39 -0
- DLL/DeepLearning/Initialisers/__init__.py +2 -0
- DLL/DeepLearning/Layers/Activations/_Activation.py +23 -0
- DLL/DeepLearning/Layers/Activations/_ReLU.py +51 -0
- DLL/DeepLearning/Layers/Activations/_Sigmoid.py +51 -0
- DLL/DeepLearning/Layers/Activations/_SoftMax.py +83 -0
- DLL/DeepLearning/Layers/Activations/_Tanh.py +47 -0
- DLL/DeepLearning/Layers/Activations/__init__.py +4 -0
- DLL/DeepLearning/Layers/Regularisation/_BaseRegularisation.py +12 -0
- DLL/DeepLearning/Layers/Regularisation/_BatchNormalisation.py +106 -0
- DLL/DeepLearning/Layers/Regularisation/_Dropout.py +79 -0
- DLL/DeepLearning/Layers/Regularisation/_GroupNormalisation.py +112 -0
- DLL/DeepLearning/Layers/Regularisation/_InstanceNormalisation.py +50 -0
- DLL/DeepLearning/Layers/Regularisation/_LayerNormalisation.py +37 -0
- DLL/DeepLearning/Layers/Regularisation/__init__.py +5 -0
- DLL/DeepLearning/Layers/_Add.py +109 -0
- DLL/DeepLearning/Layers/_Attention.py +161 -0
- DLL/DeepLearning/Layers/_BaseLayer.py +87 -0
- DLL/DeepLearning/Layers/_Bidirectional.py +113 -0
- DLL/DeepLearning/Layers/_Conv2D.py +133 -0
- DLL/DeepLearning/Layers/_Dense.py +109 -0
- DLL/DeepLearning/Layers/_DenseKAN.py +184 -0
- DLL/DeepLearning/Layers/_Flatten.py +55 -0
- DLL/DeepLearning/Layers/_Identity.py +50 -0
- DLL/DeepLearning/Layers/_Input.py +11 -0
- DLL/DeepLearning/Layers/_LSTM.py +261 -0
- DLL/DeepLearning/Layers/_LayerList.py +98 -0
- DLL/DeepLearning/Layers/_MaxPooling2D.py +101 -0
- DLL/DeepLearning/Layers/_RNN.py +185 -0
- DLL/DeepLearning/Layers/_Reshape.py +52 -0
- DLL/DeepLearning/Layers/__init__.py +14 -0
- DLL/DeepLearning/Losses/_BCE.py +96 -0
- DLL/DeepLearning/Losses/_BaseLoss.py +18 -0
- DLL/DeepLearning/Losses/_CCE.py +87 -0
- DLL/DeepLearning/Losses/_Exponential.py +101 -0
- DLL/DeepLearning/Losses/_Huber.py +104 -0
- DLL/DeepLearning/Losses/_MAE.py +85 -0
- DLL/DeepLearning/Losses/_MSE.py +86 -0
- DLL/DeepLearning/Losses/__init__.py +6 -0
- DLL/DeepLearning/Model.py +265 -0
- DLL/DeepLearning/Optimisers/_ADADELTA.py +53 -0
- DLL/DeepLearning/Optimisers/_ADAGRAD.py +51 -0
- DLL/DeepLearning/Optimisers/_ADAM.py +65 -0
- DLL/DeepLearning/Optimisers/_BaseOptimiser.py +20 -0
- DLL/DeepLearning/Optimisers/_LBFGS.py +120 -0
- DLL/DeepLearning/Optimisers/_RMSPROP.py +62 -0
- DLL/DeepLearning/Optimisers/_SGD.py +44 -0
- DLL/DeepLearning/Optimisers/__init__.py +6 -0
- DLL/DeepLearning/__init__.py +0 -0
- DLL/Exceptions/_Exceptions.py +19 -0
- DLL/Exceptions/__init__.py +2 -0
- DLL/MachineLearning/SupervisedLearning/Calibration/_CalibratedClassifier.py +88 -0
- DLL/MachineLearning/SupervisedLearning/Calibration/_IsotonicRegression.py +114 -0
- DLL/MachineLearning/SupervisedLearning/Calibration/__init__.py +2 -0
- DLL/MachineLearning/SupervisedLearning/GaussianProcesses/_GaussianProcessRegressor.py +190 -0
- DLL/MachineLearning/SupervisedLearning/GaussianProcesses/__init__.py +1 -0
- DLL/MachineLearning/SupervisedLearning/Kernels.py +851 -0
- DLL/MachineLearning/SupervisedLearning/LinearModels/TimeSeries.py +147 -0
- DLL/MachineLearning/SupervisedLearning/LinearModels/_Elasticnet.py +161 -0
- DLL/MachineLearning/SupervisedLearning/LinearModels/_LassoRegression.py +157 -0
- DLL/MachineLearning/SupervisedLearning/LinearModels/_LinearRegression.py +81 -0
- DLL/MachineLearning/SupervisedLearning/LinearModels/_LogisticRegression.py +182 -0
- DLL/MachineLearning/SupervisedLearning/LinearModels/_RANSAC.py +97 -0
- DLL/MachineLearning/SupervisedLearning/LinearModels/_RidgeRegression.py +78 -0
- DLL/MachineLearning/SupervisedLearning/LinearModels/__init__.py +6 -0
- DLL/MachineLearning/SupervisedLearning/NaiveBayes/_BernoulliNaiveBayes.py +115 -0
- DLL/MachineLearning/SupervisedLearning/NaiveBayes/_GaussianNaiveBayes.py +111 -0
- DLL/MachineLearning/SupervisedLearning/NaiveBayes/_MultinomialNaiveBayes.py +115 -0
- DLL/MachineLearning/SupervisedLearning/NaiveBayes/__init__.py +3 -0
- DLL/MachineLearning/SupervisedLearning/Neighbors/_KNearestNeighborsClassifier.py +115 -0
- DLL/MachineLearning/SupervisedLearning/Neighbors/_KNearestNeighborsRegressor.py +90 -0
- DLL/MachineLearning/SupervisedLearning/Neighbors/__init__.py +2 -0
- DLL/MachineLearning/SupervisedLearning/SupportVectorMachines/_SVC.py +293 -0
- DLL/MachineLearning/SupervisedLearning/SupportVectorMachines/_SVR.py +100 -0
- DLL/MachineLearning/SupervisedLearning/SupportVectorMachines/__init__.py +2 -0
- DLL/MachineLearning/SupervisedLearning/Trees/_AdaBoostClassifier.py +179 -0
- DLL/MachineLearning/SupervisedLearning/Trees/_AdaBoostRegressor.py +141 -0
- DLL/MachineLearning/SupervisedLearning/Trees/_DecisionTree.py +219 -0
- DLL/MachineLearning/SupervisedLearning/Trees/_GradientBoostingClassifier.py +207 -0
- DLL/MachineLearning/SupervisedLearning/Trees/_GradientBoostingRegressor.py +122 -0
- DLL/MachineLearning/SupervisedLearning/Trees/_LGBMClassifier.py +288 -0
- DLL/MachineLearning/SupervisedLearning/Trees/_LGBMRegressor.py +168 -0
- DLL/MachineLearning/SupervisedLearning/Trees/_LGBMTree.py +199 -0
- DLL/MachineLearning/SupervisedLearning/Trees/_RandomForest.py +96 -0
- DLL/MachineLearning/SupervisedLearning/Trees/_RegressionForest.py +75 -0
- DLL/MachineLearning/SupervisedLearning/Trees/_RegressionTree.py +148 -0
- DLL/MachineLearning/SupervisedLearning/Trees/_XGBoostClassifier.py +239 -0
- DLL/MachineLearning/SupervisedLearning/Trees/_XGBoostRegressor.py +131 -0
- DLL/MachineLearning/SupervisedLearning/Trees/_XGBoostTree.py +105 -0
- DLL/MachineLearning/SupervisedLearning/Trees/__init__.py +12 -0
- DLL/MachineLearning/SupervisedLearning/__init__.py +0 -0
- DLL/MachineLearning/UnsupervisedLearning/Clustering/_DBScan.py +87 -0
- DLL/MachineLearning/UnsupervisedLearning/Clustering/_GaussianMixtureModels.py +121 -0
- DLL/MachineLearning/UnsupervisedLearning/Clustering/_KMeans.py +120 -0
- DLL/MachineLearning/UnsupervisedLearning/Clustering/_SpectralClustering.py +105 -0
- DLL/MachineLearning/UnsupervisedLearning/Clustering/__init__.py +4 -0
- DLL/MachineLearning/UnsupervisedLearning/DimensionalityReduction/_LDA.py +118 -0
- DLL/MachineLearning/UnsupervisedLearning/DimensionalityReduction/_PCA.py +101 -0
- DLL/MachineLearning/UnsupervisedLearning/DimensionalityReduction/_QDA.py +69 -0
- DLL/MachineLearning/UnsupervisedLearning/DimensionalityReduction/_RobustPCA.py +143 -0
- DLL/MachineLearning/UnsupervisedLearning/DimensionalityReduction/_TSNE.py +151 -0
- DLL/MachineLearning/UnsupervisedLearning/DimensionalityReduction/_UMAP.py +176 -0
- DLL/MachineLearning/UnsupervisedLearning/DimensionalityReduction/__init__.py +6 -0
- DLL/MachineLearning/UnsupervisedLearning/OutlierDetection/_IsolationForest.py +175 -0
- DLL/MachineLearning/UnsupervisedLearning/OutlierDetection/__init__.py +1 -0
- DLL/MachineLearning/UnsupervisedLearning/__init__.py +0 -0
- DLL/MachineLearning/__init__.py +0 -0
- DLL/__init__.py +0 -0
- pydllib-1.0.dist-info/METADATA +104 -0
- pydllib-1.0.dist-info/RECORD +124 -0
- pydllib-1.0.dist-info/WHEEL +5 -0
- pydllib-1.0.dist-info/licenses/LICENSE +21 -0
- pydllib-1.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import torch
|
|
2
|
+
from math import log
|
|
3
|
+
|
|
4
|
+
from ...SupervisedLearning.Trees._DecisionTree import Node
|
|
5
|
+
from ....Exceptions import NotFittedError
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class IsolationForest:
|
|
9
|
+
"""
|
|
10
|
+
IsolationForest implements an algorithm to detect outliers in the data by fitting may isolation trees to the data.
|
|
11
|
+
|
|
12
|
+
Args:
|
|
13
|
+
n_trees (int, optional): The number of trees used for predictiong. Defaults to 10. Must be a positive integer.
|
|
14
|
+
max_depth (int, optional): The maximum depth of the tree. Defaults to 10. Must be a positive integer.
|
|
15
|
+
min_samples_split (int, optional): The minimum required samples in a leaf to make a split. Defaults to 2. Must be a positive integer.
|
|
16
|
+
bootstrap (bool, optional): Determines if the samples for fitting are boostrapped from the given data. Must be a boolean. Defaults to False.
|
|
17
|
+
threshold (int | float, optional): Determines how many standard deviations away from the mean score a datapoint must be to be considered an outlier. Must be a non-ngeative real number. Defaults to 4.
|
|
18
|
+
"""
|
|
19
|
+
def __init__(self, n_trees=10, max_depth=25, min_samples_split=2, bootstrap=False, threshold=4):
|
|
20
|
+
if not isinstance(n_trees, int) or n_trees < 1:
|
|
21
|
+
raise ValueError("n_trees must be a positive integer.")
|
|
22
|
+
if not isinstance(max_depth, int) or max_depth < 1:
|
|
23
|
+
raise ValueError("max_depth must be a positive integer.")
|
|
24
|
+
if not isinstance(min_samples_split, int) or min_samples_split < 1:
|
|
25
|
+
raise ValueError("min_samples_split must be a positive integer.")
|
|
26
|
+
if not isinstance(bootstrap, bool):
|
|
27
|
+
raise TypeError("bootstrap must be a boolean.")
|
|
28
|
+
if not isinstance(threshold, int | float) or threshold < 0:
|
|
29
|
+
raise ValueError("threshold must be a non-negative real number.")
|
|
30
|
+
|
|
31
|
+
self.n_trees = n_trees
|
|
32
|
+
self.max_depth = max_depth
|
|
33
|
+
self.min_samples_split = min_samples_split
|
|
34
|
+
self.bootstrap = bootstrap
|
|
35
|
+
self.threshold = threshold
|
|
36
|
+
self.trees = [IsolationTree(max_depth, min_samples_split) for _ in range(n_trees)]
|
|
37
|
+
|
|
38
|
+
def fit(self, X):
|
|
39
|
+
"""
|
|
40
|
+
Fits the IsolationTree model to the input data by generating a tree, which splits the data randomly.
|
|
41
|
+
|
|
42
|
+
Args:
|
|
43
|
+
X (torch.Tensor of shape (n_samples, n_features)): The input data, where each row is a sample and each column is a feature.
|
|
44
|
+
Returns:
|
|
45
|
+
None
|
|
46
|
+
Raises:
|
|
47
|
+
TypeError: If the input matrix is not a PyTorch tensor.
|
|
48
|
+
ValueError: If the input matrix is not the correct shape.
|
|
49
|
+
"""
|
|
50
|
+
if not isinstance(X, torch.Tensor):
|
|
51
|
+
raise TypeError("The input matrix must be a PyTorch tensor.")
|
|
52
|
+
if X.ndim != 2:
|
|
53
|
+
raise ValueError("The input matrix must be a 2 dimensional tensor.")
|
|
54
|
+
|
|
55
|
+
for tree in self.trees:
|
|
56
|
+
_X = self._bootstrap_sample(X) if self.bootstrap else X
|
|
57
|
+
tree.fit(_X)
|
|
58
|
+
|
|
59
|
+
def _bootstrap_sample(self, x):
|
|
60
|
+
indices = torch.randint(high=len(x), size=(len(x),))
|
|
61
|
+
return x[indices]
|
|
62
|
+
|
|
63
|
+
def predict(self, X, return_scores=False):
|
|
64
|
+
"""
|
|
65
|
+
Predicts the outliers in the input by considering scores, which are threshold standard deviations away from the mean.
|
|
66
|
+
|
|
67
|
+
Args:
|
|
68
|
+
X (torch.Tensor of shape (n_samples, n_features)): The input data, where each row is a sample and each column is a feature.
|
|
69
|
+
return_scores (bool, optional): Determines if the scores of each datapoint are returned. Defaults to False.
|
|
70
|
+
"""
|
|
71
|
+
if not isinstance(X, torch.Tensor):
|
|
72
|
+
raise TypeError("The input matrix must be a PyTorch tensor.")
|
|
73
|
+
if X.ndim != 2:
|
|
74
|
+
raise ValueError("The input matrix must be a 2 dimensional tensor.")
|
|
75
|
+
if not isinstance(return_scores, bool):
|
|
76
|
+
raise TypeError("return_scores must be a boolean.")
|
|
77
|
+
|
|
78
|
+
scores = torch.zeros((self.n_trees, len(X)))
|
|
79
|
+
for i, tree in enumerate(self.trees):
|
|
80
|
+
tree_scores = torch.tensor([tree._path_length(point, tree.root) for point in X])
|
|
81
|
+
scores[i] = tree_scores
|
|
82
|
+
scores = 2 ** -(torch.mean(scores, dim=0) / self._c(len(X)))
|
|
83
|
+
if return_scores: return scores
|
|
84
|
+
|
|
85
|
+
threshold = torch.mean(scores) + self.threshold * torch.std(scores)
|
|
86
|
+
return scores > threshold
|
|
87
|
+
|
|
88
|
+
def fit_predict(self, X, return_scores=False):
|
|
89
|
+
"""
|
|
90
|
+
First fits the model to the input and then predicts, which of the inputs are outliers.
|
|
91
|
+
|
|
92
|
+
Args:
|
|
93
|
+
X (torch.Tensor of shape (n_samples, n_features)): The input data, where each row is a sample and each column is a feature.
|
|
94
|
+
return_scores (bool, optional): Determines if the scores of each datapoint are returned. Defaults to False.
|
|
95
|
+
"""
|
|
96
|
+
self.fit(X)
|
|
97
|
+
return self.predict(X, return_scores=return_scores)
|
|
98
|
+
|
|
99
|
+
def _c(self, n):
|
|
100
|
+
return 2 * (log(n - 1) + 0.5772156649) - (2 * (n - 1) / n)
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
class IsolationTree:
|
|
104
|
+
"""
|
|
105
|
+
IsolationTree implements an algorithm to detect outliers in the data.
|
|
106
|
+
|
|
107
|
+
Args:
|
|
108
|
+
max_depth (int, optional): The maximum depth of the tree. Defaults to 25. Must be a positive integer.
|
|
109
|
+
min_samples_split (int, optional): The minimum required samples in a leaf to make a split. Defaults to 2. Must be a positive integer.
|
|
110
|
+
"""
|
|
111
|
+
def __init__(self, max_depth=25, min_samples_split=2):
|
|
112
|
+
if not isinstance(max_depth, int) or max_depth < 1:
|
|
113
|
+
raise ValueError("max_depth must be a positive integer.")
|
|
114
|
+
if not isinstance(min_samples_split, int) or min_samples_split < 1:
|
|
115
|
+
raise ValueError("min_samples_split must be a positive integer.")
|
|
116
|
+
|
|
117
|
+
self.max_depth = max_depth
|
|
118
|
+
self.min_samples_split = min_samples_split
|
|
119
|
+
self.root = None
|
|
120
|
+
|
|
121
|
+
def fit(self, X):
|
|
122
|
+
"""
|
|
123
|
+
Fits the IsolationTree model to the input data by generating a tree, which splits the data randomly.
|
|
124
|
+
|
|
125
|
+
Args:
|
|
126
|
+
X (torch.Tensor of shape (n_samples, n_features)): The input data, where each row is a sample and each column is a feature.
|
|
127
|
+
Returns:
|
|
128
|
+
None
|
|
129
|
+
Raises:
|
|
130
|
+
TypeError: If the input matrix is not a PyTorch tensor.
|
|
131
|
+
ValueError: If the input matrix is not the correct shape.
|
|
132
|
+
"""
|
|
133
|
+
if not isinstance(X, torch.Tensor):
|
|
134
|
+
raise TypeError("The input matrix must be a PyTorch tensor.")
|
|
135
|
+
if X.ndim != 2:
|
|
136
|
+
raise ValueError("The input matrix must be a 2 dimensional tensor.")
|
|
137
|
+
self.n_features = X.shape[1]
|
|
138
|
+
self.root = self._grow_tree(X, 0)
|
|
139
|
+
|
|
140
|
+
def _grow_tree(self, x, depth):
|
|
141
|
+
self.n_samples, n_features = x.size()
|
|
142
|
+
|
|
143
|
+
if depth >= self.max_depth or self.n_samples < self.min_samples_split:
|
|
144
|
+
return Node(size=self.n_samples, depth=depth)
|
|
145
|
+
|
|
146
|
+
split_threshold, split_index = self._random_split(x)
|
|
147
|
+
if split_threshold is None:
|
|
148
|
+
return Node(size=self.n_samples, depth=depth)
|
|
149
|
+
|
|
150
|
+
left_indicies, right_indicies = self._split(x[:, split_index], split_threshold)
|
|
151
|
+
left = self._grow_tree(x[left_indicies], depth + 1)
|
|
152
|
+
right = self._grow_tree(x[right_indicies], depth + 1)
|
|
153
|
+
return Node(left, right, split_threshold, split_index)
|
|
154
|
+
|
|
155
|
+
def _random_split(self, x):
|
|
156
|
+
split_index = torch.randint(x.shape[1], size=tuple())
|
|
157
|
+
feature_min, feature_max = torch.min(x[:, split_index]), torch.max(x[:, split_index])
|
|
158
|
+
if feature_min == feature_max:
|
|
159
|
+
return None, None
|
|
160
|
+
|
|
161
|
+
split_threshold = (feature_max - feature_min) * torch.rand(size=tuple()) + feature_min
|
|
162
|
+
return split_threshold, split_index
|
|
163
|
+
|
|
164
|
+
def _split(self, feature_values, threshold):
|
|
165
|
+
left_indicies = torch.argwhere(feature_values <= threshold).flatten()
|
|
166
|
+
right_indicies = torch.argwhere(feature_values > threshold).flatten()
|
|
167
|
+
return left_indicies, right_indicies
|
|
168
|
+
|
|
169
|
+
def _path_length(self, point, current_node):
|
|
170
|
+
if current_node.depth is not None:
|
|
171
|
+
return current_node.depth
|
|
172
|
+
|
|
173
|
+
if point[current_node.feature_index] <= current_node.threshold:
|
|
174
|
+
return self._path_length(point, current_node.left)
|
|
175
|
+
return self._path_length(point, current_node.right)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from ._IsolationForest import IsolationForest
|
|
File without changes
|
|
File without changes
|
DLL/__init__.py
ADDED
|
File without changes
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: PyDLLib
|
|
3
|
+
Version: 1.0
|
|
4
|
+
Summary: A deep and machine learning library. Made for learning purposes and ease of understanding.
|
|
5
|
+
Author-email: Aatu Selkee <aatu.selkee@gmail.com>
|
|
6
|
+
Project-URL: Homepage, https://naapeli.github.io/deep-learning-library/index.html
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
9
|
+
Classifier: Operating System :: OS Independent
|
|
10
|
+
Requires-Python: >=3.11.9
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
License-File: LICENSE
|
|
13
|
+
Requires-Dist: absl-py==2.2.0
|
|
14
|
+
Requires-Dist: astunparse==1.6.3
|
|
15
|
+
Requires-Dist: certifi==2025.1.31
|
|
16
|
+
Requires-Dist: charset-normalizer==3.4.1
|
|
17
|
+
Requires-Dist: cloudpickle==3.1.1
|
|
18
|
+
Requires-Dist: contourpy==1.3.1
|
|
19
|
+
Requires-Dist: cvxopt==1.3.2
|
|
20
|
+
Requires-Dist: cycler==0.12.1
|
|
21
|
+
Requires-Dist: Farama-Notifications==0.0.4
|
|
22
|
+
Requires-Dist: filelock==3.18.0
|
|
23
|
+
Requires-Dist: flatbuffers==25.2.10
|
|
24
|
+
Requires-Dist: fonttools==4.56.0
|
|
25
|
+
Requires-Dist: fsspec==2025.3.0
|
|
26
|
+
Requires-Dist: gast==0.6.0
|
|
27
|
+
Requires-Dist: google-pasta==0.2.0
|
|
28
|
+
Requires-Dist: grpcio==1.71.0
|
|
29
|
+
Requires-Dist: gymnasium==1.1.1
|
|
30
|
+
Requires-Dist: h5py==3.13.0
|
|
31
|
+
Requires-Dist: idna==3.10
|
|
32
|
+
Requires-Dist: Jinja2==3.1.6
|
|
33
|
+
Requires-Dist: joblib==1.4.2
|
|
34
|
+
Requires-Dist: keras==3.9.0
|
|
35
|
+
Requires-Dist: kiwisolver==1.4.8
|
|
36
|
+
Requires-Dist: libclang==18.1.1
|
|
37
|
+
Requires-Dist: Markdown==3.7
|
|
38
|
+
Requires-Dist: markdown-it-py==3.0.0
|
|
39
|
+
Requires-Dist: MarkupSafe==3.0.2
|
|
40
|
+
Requires-Dist: matplotlib==3.10.1
|
|
41
|
+
Requires-Dist: mdurl==0.1.2
|
|
42
|
+
Requires-Dist: ml_dtypes==0.5.1
|
|
43
|
+
Requires-Dist: mpmath==1.3.0
|
|
44
|
+
Requires-Dist: namex==0.0.8
|
|
45
|
+
Requires-Dist: networkx==3.4.2
|
|
46
|
+
Requires-Dist: numpy==2.1.3
|
|
47
|
+
Requires-Dist: opt_einsum==3.4.0
|
|
48
|
+
Requires-Dist: optree==0.14.1
|
|
49
|
+
Requires-Dist: packaging==24.2
|
|
50
|
+
Requires-Dist: pandas==2.2.3
|
|
51
|
+
Requires-Dist: patsy==1.0.1
|
|
52
|
+
Requires-Dist: pillow==11.1.0
|
|
53
|
+
Requires-Dist: protobuf==5.29.4
|
|
54
|
+
Requires-Dist: Pygments==2.19.1
|
|
55
|
+
Requires-Dist: pyparsing==3.2.3
|
|
56
|
+
Requires-Dist: python-dateutil==2.9.0.post0
|
|
57
|
+
Requires-Dist: pytz==2025.2
|
|
58
|
+
Requires-Dist: requests==2.32.3
|
|
59
|
+
Requires-Dist: rich==13.9.4
|
|
60
|
+
Requires-Dist: SciencePlots==2.1.1
|
|
61
|
+
Requires-Dist: scikit-learn==1.6.1
|
|
62
|
+
Requires-Dist: scipy==1.15.2
|
|
63
|
+
Requires-Dist: six==1.17.0
|
|
64
|
+
Requires-Dist: statsmodels==0.14.4
|
|
65
|
+
Requires-Dist: sympy==1.13.1
|
|
66
|
+
Requires-Dist: tensorboard==2.19.0
|
|
67
|
+
Requires-Dist: tensorboard-data-server==0.7.2
|
|
68
|
+
Requires-Dist: tensorflow==2.19.0
|
|
69
|
+
Requires-Dist: tensorflow-io-gcs-filesystem==0.31.0
|
|
70
|
+
Requires-Dist: termcolor==2.5.0
|
|
71
|
+
Requires-Dist: threadpoolctl==3.6.0
|
|
72
|
+
Requires-Dist: torch==2.6.0
|
|
73
|
+
Requires-Dist: typing_extensions==4.13.0
|
|
74
|
+
Requires-Dist: tzdata==2025.2
|
|
75
|
+
Requires-Dist: urllib3==2.3.0
|
|
76
|
+
Requires-Dist: Werkzeug==3.1.3
|
|
77
|
+
Requires-Dist: wrapt==1.17.2
|
|
78
|
+
Dynamic: license-file
|
|
79
|
+
|
|
80
|
+
# DLL (Deep Learning Library)
|
|
81
|
+
|
|
82
|
+
DLL is a deep learning library inspired by TensorFlow and PyTorch. This is my largest project to date, featuring thousands of lines of code. It encompasses a wide range of deep learning and machine learning methods, and includes numerous examples and tests to demonstrate their usage. Feel free to explore the source code and experiment with the models using the documentation.
|
|
83
|
+
|
|
84
|
+
## Documentation:
|
|
85
|
+
|
|
86
|
+
Checkout the documentation of DLL [here](https://naapeli.github.io/deep-learning-library/).
|
|
87
|
+
|
|
88
|
+
## Upcoming topics:
|
|
89
|
+
|
|
90
|
+
- embedding layer
|
|
91
|
+
- concatenate layer
|
|
92
|
+
- multi headed cross attention
|
|
93
|
+
- hyperparameter tuning with grid search and random search
|
|
94
|
+
- multiclass classification with OvO and OvR
|
|
95
|
+
|
|
96
|
+
## Running Tests
|
|
97
|
+
|
|
98
|
+
To run the tests, navigate to the deep-learning-library-folder and use eg. the following command:
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
python -m Tests.ReinforcementLearning.DeepReinforcementLearning
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Feel free to explore the code and apply it to new problems!
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
DLL/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
DLL/Data/Metrics.py,sha256=jZeqx4Rpuoo5RyNJmI2054VgZK3fx3GLJXmrYMzFq5c,31396
|
|
3
|
+
DLL/Data/Preprocessing.py,sha256=hY9wiGQ8AB0Ukz9a0dZdEQ7YUb2EQtn7iH3_3XM1T9o,15446
|
|
4
|
+
DLL/Data/_DataReader.py,sha256=F34DkMnILfRMX8ND3tbFFInBvkoN9jv0htQv5ZLjoPw,2659
|
|
5
|
+
DLL/Data/__init__.py,sha256=aM9zf9uLSy67BZz8aYDpFBJ9zX61I6qnEsCKcOdtvkg,37
|
|
6
|
+
DLL/DeepLearning/Model.py,sha256=GfL1hsf6CJkb10lXY622NbBmmcSfUrotPsBpqk3KMHY,14044
|
|
7
|
+
DLL/DeepLearning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
+
DLL/DeepLearning/Callbacks/_BackUp.py,sha256=QOl8lJUwVB9qVs75wIW1to7hsUxT-bQg6IJ5t_Li4pY,2985
|
|
9
|
+
DLL/DeepLearning/Callbacks/_BaseCallback.py,sha256=DzmdBu5C-_dQt8FESII5elkPtAYRygUI-ORkYbQIvf8,1126
|
|
10
|
+
DLL/DeepLearning/Callbacks/_EarlyStopping.py,sha256=GkOdcKj1L97reUkHzLvttsLl6_hk0QZ6ItUWmEP3Y04,4857
|
|
11
|
+
DLL/DeepLearning/Callbacks/_ReduceLROnPlateau.py,sha256=zFXv2K9DklyLEl-se_SH99BD-JSzp4AoRcUyN5wAoDA,4525
|
|
12
|
+
DLL/DeepLearning/Callbacks/__init__.py,sha256=9gD1vDlDjJAErVWp3eTxrAjNL1OtXamXLnyEwLMQsaI,160
|
|
13
|
+
DLL/DeepLearning/Initialisers/_Initialiser.py,sha256=ZZ6Q1Va4vMSHXf-P8SSIFJE2K1jAm4eRzhx9G5hwOD4,747
|
|
14
|
+
DLL/DeepLearning/Initialisers/_Kaiming_He.py,sha256=BNYDkuofVbvsNPMKjYIkME2D3yOQgqoVxHr6TonKGto,3148
|
|
15
|
+
DLL/DeepLearning/Initialisers/_Xavier_Glorot.py,sha256=L1WVYd5viAFmkbTeIwwXTCvdsytt4flTbrf6o18_l2I,2211
|
|
16
|
+
DLL/DeepLearning/Initialisers/__init__.py,sha256=w9EZQTOtsVGFMZ2lvqcuZ3I74WO9IqIUuV4yuotd_mA,117
|
|
17
|
+
DLL/DeepLearning/Layers/_Add.py,sha256=sIrlFKrgwsM943G8nURVW4N99y8Iv5-3wNqN8Pnr4_M,5682
|
|
18
|
+
DLL/DeepLearning/Layers/_Attention.py,sha256=nbdNvreMomnaTmv7YE7Z64rVQB-jxjCN97wakSAJzlg,9391
|
|
19
|
+
DLL/DeepLearning/Layers/_BaseLayer.py,sha256=nWi9h399Ro-Oaw_ij5ilZ9jswa4cyBirWws9LichCD8,4430
|
|
20
|
+
DLL/DeepLearning/Layers/_Bidirectional.py,sha256=Iuck5oo8cGPFbVNbJHNsMKX7N8ehiJiFXnwtsyZT8hE,5703
|
|
21
|
+
DLL/DeepLearning/Layers/_Conv2D.py,sha256=_w8GMR0EM83kNbFtXmqp7mI3alv1DIhNOv7sI2DKyJE,7919
|
|
22
|
+
DLL/DeepLearning/Layers/_Dense.py,sha256=qGdcWOkgnXc9A7PV6UKL_SPVfznfiUYhIusloM58zQc,6377
|
|
23
|
+
DLL/DeepLearning/Layers/_DenseKAN.py,sha256=Kw_9wYv2wHjR5wpnfLuPvMURQylV9bQ_EJvDftlWJX4,10720
|
|
24
|
+
DLL/DeepLearning/Layers/_Flatten.py,sha256=MWZUWjpuv3dthOcJ58W8OppeIGO4txWNHoMiccBSKJg,2127
|
|
25
|
+
DLL/DeepLearning/Layers/_Identity.py,sha256=kSK8KrJrMmvRM7YR1qI2XCweNS2MCvxPTxO0boGYMSQ,1778
|
|
26
|
+
DLL/DeepLearning/Layers/_Input.py,sha256=8WK2FM1qLevKCMLY8qQzyFfPr4uYWTP3DPW-1FGw8_g,434
|
|
27
|
+
DLL/DeepLearning/Layers/_LSTM.py,sha256=p6PmbBE_QPQgxLkKq61Wuf_LOuB4kTulysaoJKER5pA,16487
|
|
28
|
+
DLL/DeepLearning/Layers/_LayerList.py,sha256=fe5sv1MVZD625JncxsC3TlHcVZ2bdE_uh7R2zwWeHdo,4178
|
|
29
|
+
DLL/DeepLearning/Layers/_MaxPooling2D.py,sha256=O8f8-aL9C_9btaIgMv5by-WwuyZmbmzMoDYXQZetQ2A,5288
|
|
30
|
+
DLL/DeepLearning/Layers/_RNN.py,sha256=eBR21e9WPZpH1N-vAjES-pzrMbyaR_nHLN2P6f9hhMk,12085
|
|
31
|
+
DLL/DeepLearning/Layers/_Reshape.py,sha256=mSx_1JprBVl9_yZSJQr3H1a7XtEs-KBzWGTmin60Lok,2099
|
|
32
|
+
DLL/DeepLearning/Layers/__init__.py,sha256=2oaAv5-dng5WGrq_ZlhS1xt3A9piPxb4bwa7CrsgZVI,445
|
|
33
|
+
DLL/DeepLearning/Layers/Activations/_Activation.py,sha256=q1M4dwBxQtZLZ6hXwNWPzO-NqG7uyl0n1uPw15grB4E,959
|
|
34
|
+
DLL/DeepLearning/Layers/Activations/_ReLU.py,sha256=Fnmq2twFFTxnLZPgYsgcZkQQAvYeZom66Ws9Z8jFveo,1853
|
|
35
|
+
DLL/DeepLearning/Layers/Activations/_Sigmoid.py,sha256=15UB_Lq0_kINQDivYxi9vJ8piRSMKhzK2-CsxuLEV5I,1801
|
|
36
|
+
DLL/DeepLearning/Layers/Activations/_SoftMax.py,sha256=0HKrFqi6XL6aadYUsjWfCCiLgzKHH8IlV5IKzMy12ZU,4140
|
|
37
|
+
DLL/DeepLearning/Layers/Activations/_Tanh.py,sha256=GGeoDxfYHQjMqFvS7uheTHo4AgoIGiDrBH8KmMPiZgA,1701
|
|
38
|
+
DLL/DeepLearning/Layers/Activations/__init__.py,sha256=fpwoiFsFq4RlqFw15JVWfvmLi6GC6i15jXkPeQENuSs,112
|
|
39
|
+
DLL/DeepLearning/Layers/Regularisation/_BaseRegularisation.py,sha256=SM9f2XHf6H-JJvOQ4n6O9uqEe2-h3DBf8zf0AZeAO9w,603
|
|
40
|
+
DLL/DeepLearning/Layers/Regularisation/_BatchNormalisation.py,sha256=L-OPrAuHMLAfTLPx_XeQ0c57l8-e1B-XbtNJdncN68g,5168
|
|
41
|
+
DLL/DeepLearning/Layers/Regularisation/_Dropout.py,sha256=98GR38CSIgU-WXoZxDUxxmRuov0gXc-PGLvt9OJ1V8s,3249
|
|
42
|
+
DLL/DeepLearning/Layers/Regularisation/_GroupNormalisation.py,sha256=zYzzm9nvZg2XVvbK4-DQnWLavIFWp1CGDKxChzLBJVM,5888
|
|
43
|
+
DLL/DeepLearning/Layers/Regularisation/_InstanceNormalisation.py,sha256=DQcHue_LGkrf3uod6AFP15whUV741VIhLm1qEGq_3eY,2459
|
|
44
|
+
DLL/DeepLearning/Layers/Regularisation/_LayerNormalisation.py,sha256=YrTLzzlDXxUWzldpYy16AduQ5NaaYNg9EBjsZ3U71pE,1807
|
|
45
|
+
DLL/DeepLearning/Layers/Regularisation/__init__.py,sha256=WQfJUbJd071aQH18oPyRgcRtz2pBEb9207xD-S1XOrg,213
|
|
46
|
+
DLL/DeepLearning/Losses/_BCE.py,sha256=dFAkI2NxBwoJMud5i5wObYhY185fVhe_aiVd4okXaLo,4759
|
|
47
|
+
DLL/DeepLearning/Losses/_BaseLoss.py,sha256=t5Q-j1uHneZDhYF2IJ9rsYasq_p2QBt0QHLJF3r1g3k,359
|
|
48
|
+
DLL/DeepLearning/Losses/_CCE.py,sha256=GRA9GJfoyVfKtzzvgZjCz9arWZGXbw-R-vY8t2aPlu0,3994
|
|
49
|
+
DLL/DeepLearning/Losses/_Exponential.py,sha256=QLXryoFateUUk8Vi-Gxcfqt-3g52LHlfbbUAIBT2M9k,4578
|
|
50
|
+
DLL/DeepLearning/Losses/_Huber.py,sha256=yjwpBh7DCmUKfy-txdmalkLWH7U4PD57nCPmp6_l1Qg,5060
|
|
51
|
+
DLL/DeepLearning/Losses/_MAE.py,sha256=OkR8ihfc2dl9oSyCC62KWklAV73Il93H0y8RBBMFovk,3658
|
|
52
|
+
DLL/DeepLearning/Losses/_MSE.py,sha256=dviZHjpp9L-hxLUQbovbWiJjjXAnZcUpn-osdT0SCMw,3743
|
|
53
|
+
DLL/DeepLearning/Losses/__init__.py,sha256=PjQQRMtOkvCqYCRi64dqDgTdeYglCiAa6jgIzvNOy3I,158
|
|
54
|
+
DLL/DeepLearning/Optimisers/_ADADELTA.py,sha256=QCeml9J1SA4f4yEDneg8ZH2W3a1gsjELCZhcmqsI8IM,2779
|
|
55
|
+
DLL/DeepLearning/Optimisers/_ADAGRAD.py,sha256=yn4VHtHmYD2Chw73RPL7vGirbJclftPeN3ZN2e9Fct8,2511
|
|
56
|
+
DLL/DeepLearning/Optimisers/_ADAM.py,sha256=GcZyx7g5jZKehGMTjAln5k6Rq0yKQJlxVmMNQzwF7tI,3755
|
|
57
|
+
DLL/DeepLearning/Optimisers/_BaseOptimiser.py,sha256=KxRrw97_F20THryjCPfmw-sfyYeNU8GydMIxUFpET8g,411
|
|
58
|
+
DLL/DeepLearning/Optimisers/_LBFGS.py,sha256=msw8mtE_z2gGPIXmIFSkDDB0nt1H7iDfMZrgtozCmA4,5621
|
|
59
|
+
DLL/DeepLearning/Optimisers/_RMSPROP.py,sha256=SeR0LCrcimzBBLEEh-R04xhIpsynLODLU6lfnQIkVUA,3532
|
|
60
|
+
DLL/DeepLearning/Optimisers/_SGD.py,sha256=bBGyXq2ehBlLTbsFtykelYMv_KS7TEgQJnjJ99WMO5s,2017
|
|
61
|
+
DLL/DeepLearning/Optimisers/__init__.py,sha256=lsSvZ2xtDeEew6sMZYZVZANDldydWTNRbqeMXYNJtG4,170
|
|
62
|
+
DLL/Exceptions/_Exceptions.py,sha256=EVc9E3lCf2_5WKfVDuNhg97Yn32w_IVyfWIfpGQKiQI,586
|
|
63
|
+
DLL/Exceptions/__init__.py,sha256=mgWiYJP9_Ud-9z2Utex3FOTVca3tlog2IOSdBt-7Cig,84
|
|
64
|
+
DLL/MachineLearning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
65
|
+
DLL/MachineLearning/SupervisedLearning/Kernels.py,sha256=HuVRjehn_7PLml083FLyQeqdVVHy6guA1jKzImGQaxc,41476
|
|
66
|
+
DLL/MachineLearning/SupervisedLearning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
67
|
+
DLL/MachineLearning/SupervisedLearning/Calibration/_CalibratedClassifier.py,sha256=Fl5SLzODbCqFzImMl56Nev2Qvd0rSdkc2VcnMjKmV3o,4839
|
|
68
|
+
DLL/MachineLearning/SupervisedLearning/Calibration/_IsotonicRegression.py,sha256=yrZHDhq2TKerb3fn1WeP7oThBE0ZIAVIzOsM2wjda0A,4645
|
|
69
|
+
DLL/MachineLearning/SupervisedLearning/Calibration/__init__.py,sha256=9i0HnmwE-feJKwWVvEFbSj7IO1az3NSykRexu9pjzOI,110
|
|
70
|
+
DLL/MachineLearning/SupervisedLearning/GaussianProcesses/_GaussianProcessRegressor.py,sha256=YdNsRFbRsSKCvhkH547q4obYLBi-TN_T35YArqHOhVE,11232
|
|
71
|
+
DLL/MachineLearning/SupervisedLearning/GaussianProcesses/__init__.py,sha256=JU_9NSgl7y1svll4zAavwbF4OpNUxpV-z7P2izInzO4,63
|
|
72
|
+
DLL/MachineLearning/SupervisedLearning/LinearModels/TimeSeries.py,sha256=M0R5pR0ow75g3H49SmVe34r1IpysTBsUi1kwFnEaPS4,6739
|
|
73
|
+
DLL/MachineLearning/SupervisedLearning/LinearModels/_Elasticnet.py,sha256=koT_gYgCUUarFY_WKqFfRVhrFxMrMEGMqvFY5n0igf4,10908
|
|
74
|
+
DLL/MachineLearning/SupervisedLearning/LinearModels/_LassoRegression.py,sha256=8_0zykscdfDdNNTfYb5FCgWKkUQAJLp7DK1ZO0YTNjo,9963
|
|
75
|
+
DLL/MachineLearning/SupervisedLearning/LinearModels/_LinearRegression.py,sha256=N5a6r9SUsL0ruMOqnpcVIOcjfEtSwyj_IbxUisCGBrU,4730
|
|
76
|
+
DLL/MachineLearning/SupervisedLearning/LinearModels/_LogisticRegression.py,sha256=fNRnQbsDaRfFYFaRXKyVIIB6k2LszhoOuaE31fcvKCk,11464
|
|
77
|
+
DLL/MachineLearning/SupervisedLearning/LinearModels/_RANSAC.py,sha256=qnS6Bq-UMBgcGfcoqV9Oq6oksWMbPRC2wcOaBKiyanU,5465
|
|
78
|
+
DLL/MachineLearning/SupervisedLearning/LinearModels/_RidgeRegression.py,sha256=K3SwklSmnboQlra6F-fFGC1AcBvrywYu2mgG1DoqYLU,4411
|
|
79
|
+
DLL/MachineLearning/SupervisedLearning/LinearModels/__init__.py,sha256=hAbhub62mkSFVWqDcfkeWikdTKGKqc6jIpT86iDrrMA,282
|
|
80
|
+
DLL/MachineLearning/SupervisedLearning/NaiveBayes/_BernoulliNaiveBayes.py,sha256=VX2ZS4mygsxf8X2FaGA7zRppfMDnsorYRahxe98MS5M,6324
|
|
81
|
+
DLL/MachineLearning/SupervisedLearning/NaiveBayes/_GaussianNaiveBayes.py,sha256=Z1uUtJPMO7q092aUcMU8IrQjcLzTSlYCGUEk22TKcYE,5502
|
|
82
|
+
DLL/MachineLearning/SupervisedLearning/NaiveBayes/_MultinomialNaiveBayes.py,sha256=j9xB_DMyjTgVhC8RlHFqtJYRPh9oGqz8AjK8ZixJK4Q,6657
|
|
83
|
+
DLL/MachineLearning/SupervisedLearning/NaiveBayes/__init__.py,sha256=1g9R-UzcEpEq9djLV2SNXKbEMUcWZMNlK7m95u_DgSg,165
|
|
84
|
+
DLL/MachineLearning/SupervisedLearning/Neighbors/_KNearestNeighborsClassifier.py,sha256=-3dCh7B8NaKc3dcCHyN9l0Y56FNU2WrdnI6p23rqX5Y,5934
|
|
85
|
+
DLL/MachineLearning/SupervisedLearning/Neighbors/_KNearestNeighborsRegressor.py,sha256=myke_XyaQ9hewPotlJUCj0ji-JUsWj-NrTRir2dBi7Y,4521
|
|
86
|
+
DLL/MachineLearning/SupervisedLearning/Neighbors/__init__.py,sha256=Kc_ces7OgsWqu_nVvj1hqb3XtYhjZWQDI7zm5CUi8AY,112
|
|
87
|
+
DLL/MachineLearning/SupervisedLearning/SupportVectorMachines/_SVC.py,sha256=ebadOEcBlYpfrKtc4cRPiQZUZkZG9xuItPo9eIY0ZIo,14725
|
|
88
|
+
DLL/MachineLearning/SupervisedLearning/SupportVectorMachines/_SVR.py,sha256=wdb0cKj-S9cYrfARdVvPU-2SifbM6vm7CZmAEhjePJg,5130
|
|
89
|
+
DLL/MachineLearning/SupervisedLearning/SupportVectorMachines/__init__.py,sha256=dmfQgcvAQloyqtgKV_uBZFVyyI44lNJL4lTOnOuX2qE,46
|
|
90
|
+
DLL/MachineLearning/SupervisedLearning/Trees/_AdaBoostClassifier.py,sha256=Q_adet_CNi2iAMKg3HMi1H-J710BQwYTVJOZ-pGmbLA,9100
|
|
91
|
+
DLL/MachineLearning/SupervisedLearning/Trees/_AdaBoostRegressor.py,sha256=yf2ksgEdW2R9JJYnl6LGFY8Llso0GGR7u3Ui69lEvFM,7331
|
|
92
|
+
DLL/MachineLearning/SupervisedLearning/Trees/_DecisionTree.py,sha256=6X4Fo9w4OQb30jaNhrpSlway5LjSdEIVhGzICXsiHLM,11479
|
|
93
|
+
DLL/MachineLearning/SupervisedLearning/Trees/_GradientBoostingClassifier.py,sha256=zmrxUj4FBbqw99SpaRjXWmecQU7gO7Pv-sYbeCioF_A,10564
|
|
94
|
+
DLL/MachineLearning/SupervisedLearning/Trees/_GradientBoostingRegressor.py,sha256=ynNxCyNdru4j3VqfNFwSHWky25_lnvVhC1HE3la8-vM,6633
|
|
95
|
+
DLL/MachineLearning/SupervisedLearning/Trees/_LGBMClassifier.py,sha256=0dklABcL-oHD5Cna4wiMCBZZuJ4iY-nRp6HNQUq6n7U,16242
|
|
96
|
+
DLL/MachineLearning/SupervisedLearning/Trees/_LGBMRegressor.py,sha256=nsnl0_84M10nKJrMDdFfw17ok1Wc3ldbVhBhyYg9yYg,10535
|
|
97
|
+
DLL/MachineLearning/SupervisedLearning/Trees/_LGBMTree.py,sha256=nGbJ3eXe704jUOU2V7X7kD6B5Eis8HDxCD2E-TuygBU,9135
|
|
98
|
+
DLL/MachineLearning/SupervisedLearning/Trees/_RandomForest.py,sha256=ccn4hnWRS6J4QTO5vnzhfcRBt_rKjBMmP0HL0vRH61s,5480
|
|
99
|
+
DLL/MachineLearning/SupervisedLearning/Trees/_RegressionForest.py,sha256=9JkGRJ5m89sgf9ylObQq2B9moa4ViXokUNdK4R9XtVo,4167
|
|
100
|
+
DLL/MachineLearning/SupervisedLearning/Trees/_RegressionTree.py,sha256=cV6k33j5w05ri8Qj5CGBZFfCZBD7Ne6VoC4Px-noghY,7524
|
|
101
|
+
DLL/MachineLearning/SupervisedLearning/Trees/_XGBoostClassifier.py,sha256=a-I7ztRysypUz8vrNNpYxKYvSwpUIG6bW816sOXrRgM,12624
|
|
102
|
+
DLL/MachineLearning/SupervisedLearning/Trees/_XGBoostRegressor.py,sha256=Iuv7AN_AZ1bdKhoeQLG72E8S6bJJisKZVltdmeAoRMw,7334
|
|
103
|
+
DLL/MachineLearning/SupervisedLearning/Trees/_XGBoostTree.py,sha256=b6LBE8VTlCzeVNTBJZsZXIqia_cD2Fc-II03xvY7BGk,5298
|
|
104
|
+
DLL/MachineLearning/SupervisedLearning/Trees/__init__.py,sha256=Fw7sh_7BdDwlj18TvQEWnVc_ckS2MqAzwKhz9Zprqa0,625
|
|
105
|
+
DLL/MachineLearning/UnsupervisedLearning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
106
|
+
DLL/MachineLearning/UnsupervisedLearning/Clustering/_DBScan.py,sha256=XGn_65Y6alhzpik1uc08GtRLscVlcbXho0dh53lVKWA,3654
|
|
107
|
+
DLL/MachineLearning/UnsupervisedLearning/Clustering/_GaussianMixtureModels.py,sha256=WlsptQb5v9m1OdYYfLmQ8M0FJjWQi5Li4Ck9tn7Liwg,5568
|
|
108
|
+
DLL/MachineLearning/UnsupervisedLearning/Clustering/_KMeans.py,sha256=sOK_LLMmkO4gR-9px-5SKGlMUUgBG2HtQRqCrhHmH24,6135
|
|
109
|
+
DLL/MachineLearning/UnsupervisedLearning/Clustering/_SpectralClustering.py,sha256=lxnLzA6WoCYfgq-JO_Sl7G-Qj8jf7P8Sbx13sSxOGRY,5381
|
|
110
|
+
DLL/MachineLearning/UnsupervisedLearning/Clustering/__init__.py,sha256=R7a_mebqGLOQQK7I6ZHTMmeF2izahOvikbMcsXghpUI,174
|
|
111
|
+
DLL/MachineLearning/UnsupervisedLearning/DimensionalityReduction/_LDA.py,sha256=k3ehDy8iCsHx7IB46YrW14_TE9ox6osXWlYrWEfut3g,5070
|
|
112
|
+
DLL/MachineLearning/UnsupervisedLearning/DimensionalityReduction/_PCA.py,sha256=B_JIj2P1HL9O3ckabM5YKcDRaO1WoLkgTI5XgyIAMcU,5287
|
|
113
|
+
DLL/MachineLearning/UnsupervisedLearning/DimensionalityReduction/_QDA.py,sha256=G7ilL1Bor_mwV5RhkwG7mWlTdMKF-BkaoFRCiNgqozU,2967
|
|
114
|
+
DLL/MachineLearning/UnsupervisedLearning/DimensionalityReduction/_RobustPCA.py,sha256=rVLi-Eb4v-_QSOLKnRgfim1IYdrjOq2Rub9dhRyInY4,7746
|
|
115
|
+
DLL/MachineLearning/UnsupervisedLearning/DimensionalityReduction/_TSNE.py,sha256=PzJ3FFuVD7p4IP0Vf5_QQa6aYVATTrjJe7YRxSpnSYc,9046
|
|
116
|
+
DLL/MachineLearning/UnsupervisedLearning/DimensionalityReduction/_UMAP.py,sha256=QH-iCcGS5D8LVwyJSEKgP8Y2LVGJg9QbFPf2xxR70vc,9291
|
|
117
|
+
DLL/MachineLearning/UnsupervisedLearning/DimensionalityReduction/__init__.py,sha256=7Wt6Fa1MqA1Vt6BWAZiI_czxIxPRCZg6LhZALzsp7Qs,154
|
|
118
|
+
DLL/MachineLearning/UnsupervisedLearning/OutlierDetection/_IsolationForest.py,sha256=IF6DTseMAtHgYN9eWv9W5wIhkTIFZsTTbmCq9qix0dI,8387
|
|
119
|
+
DLL/MachineLearning/UnsupervisedLearning/OutlierDetection/__init__.py,sha256=lr1uAKhei2z8-Ae_ebBjDrTfn5iLjn50811wpPCg4RE,47
|
|
120
|
+
pydllib-1.0.dist-info/licenses/LICENSE,sha256=8PB2EheFgSLtdmB6r-dSfP1Rd9geE7HGBRYcLtorOOM,1096
|
|
121
|
+
pydllib-1.0.dist-info/METADATA,sha256=HWU1tg8hnOcP0emXrkGhfJhgApSS538iueav_NpWcO8,3709
|
|
122
|
+
pydllib-1.0.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
|
123
|
+
pydllib-1.0.dist-info/top_level.txt,sha256=OfI0n9xXRSUKDpW0o2RdaTx4Fadu1qHz6w_VxCOzdRU,4
|
|
124
|
+
pydllib-1.0.dist-info/RECORD,,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 - 2025 Aatu Selkee
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
DLL
|