-
Notifications
You must be signed in to change notification settings - Fork 577
Description
Hi, In MLfromscratch, inappropriate dependency versioning constraints can cause risks.
Below are the dependencies and version constraints that the project is using
numpy==1.22.0
scikit-learn==0.24.2
matplotlib==3.4.2
pandas==1.2.4
The version constraint == will introduce the risk of dependency conflicts because the scope of dependencies is too strict.
The version constraint No Upper Bound and * will introduce the risk of the missing API Error because the latest version of the dependencies may remove some APIs.
After further analysis, in this project,
The version constraint of dependency numpy can be changed to >=1.8.0,<=1.23.0rc3.
The version constraint of dependency matplotlib can be changed to >=1.3.0,<=3.0.3.
The version constraint of dependency pandas can be changed to >=0.4.0,<=1.2.5.
The above modification suggestions can reduce the dependency conflicts as much as possible,
and introduce the latest version as much as possible without calling Error in the projects.
The invocation of the current project includes all the following methods.
The calling methods from the numpy
numpy.linalg.inv numpy.linalg.eig
The calling methods from the matplotlib
matplotlib.colors.ListedColormap
The calling methods from the pandas
pandas.read_csv
The calling methods from the all methods
numpy.argwhere self._grow_tree self._best_criteria self.plot numpy.unique numpy.amin LDA.transform RandomForest.predict numpy.mean range numpy.exp numpy.argsort numpy.dot sklearn.datasets.make_blobs df.fillna.fillna self._create_clusters self._traverse_tree numpy.log self._approximation numpy.sign matplotlib.pyplot.figure self._is_converged numpy.linalg.eig numpy.where NaiveBayes matplotlib.pyplot.show numpy.sum DecisionTree mean_overall.mean_c.reshape.dot SVM matplotlib.colors.ListedColormap SW.np.linalg.inv.dot numpy.empty csv.reader centroid_idx.clusters.append most_common_label numpy.argmax sklearn.datasets.make_classification ax.scatter matplotlib.pyplot.cm.get_cmap matplotlib.pyplot.figure.add_subplot KNN.predict numpy.genfromtxt bootstrap_sample Node LinearRegression self._predict fig.add_subplot.plot Adaboost.fit LinearRegression.predict Perceptron.predict enumerate list SVM.fit Adaboost.predict KMeans.predict node.is_leaf_node numpy.sqrt self.trees.append sum matplotlib.pyplot.plot numpy.swapaxes self._pdf DecisionTree.predict numpy.random.seed self._information_gain matplotlib.pyplot.xlabel KNN.fit numpy.amax DecisionStump Perceptron len posteriors.append numpy.log2 numpy.argmin numpy.linalg.inv self.clfs.append self._get_cluster_labels Perceptron.fit numpy.cov abs accuracy LogisticRegression.predict numpy.array mean_c.X_c.T.dot visualize_svm numpy.bincount decision_tree.DecisionTree.fit float entropy RandomForest.fit sklearn.datasets.make_regression mean_overall.mean_c.reshape sklearn.datasets.load_iris LinearRegression.fit mean_squared_error NaiveBayes.fit KMeans.plot PCA.transform k_neighbor_labels.Counter.most_common numpy.loadtxt cmap self._sigmoid RandomForest decision_tree.DecisionTree numpy.zeros sklearn.model_selection.train_test_split self._split pandas.read_csv X_c.mean X_c.var self._get_centroids df.fillna.to_numpy LDA fig.add_subplot.set_ylim split_thresh.X_column.np.argwhere.flatten collections.Counter.most_common numpy.full euclidean_distance decision_tree.DecisionTree.predict min matplotlib.pyplot.scatter self._most_common_label print get_hyperplane_value matplotlib.pyplot.ylabel PCA Adaboost numpy.corrcoef self.activation_func matplotlib.pyplot.subplots numpy.ones r2_score matplotlib.pyplot.get_cmap LogisticRegression.fit KNN open sklearn.datasets.load_breast_cancer NaiveBayes.predict numpy.random.choice DecisionTree.fit self._closest_centroid matplotlib.pyplot.colorbar collections.Counter KMeans LDA.fit PCA.fit LogisticRegression
@developer
Could please help me check this issue?
May I pull a request to fix it?
Thank you very much.