decision-tree-classifier

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 214e4e93e51b4007bccc4fc5ec3a5edc7f57b073
parent 1af03c9dfa369e2875b2b5260070b70ef2f3839e
Author: AndrewLockVI <andrew@laack.co>
Date:   Tue, 10 Jun 2025 13:24:34 -0500

migration

Diffstat:
Mold/Testing.py | 83++++++++++++++++++++++++-------------------------------------------------------
1 file changed, 25 insertions(+), 58 deletions(-)

diff --git a/old/Testing.py b/old/Testing.py @@ -1,67 +1,34 @@ + +from sklearn.datasets import load_iris +from sklearn.model_selection import train_test_split from Podtc import PseudoOptimalDecisionTreeClassifier +from sklearn.metrics import accuracy_score import numpy as np -##import plotly.express as px -#from sklearn.tree import DecisionTreeClassifier -#from sklearn.datasets import load_digits -#import pandas as pd -#from keras.datasets import mnist -#from sklearn.metrics import accuracy_score -#from setuptools import setup - -# (train_X, train_y), (test_X, test_y) = mnist.load_data() - -# train_X = train_X.reshape(-1, 784) -# test_X = test_X.reshape(-1, 784) - -X_train = np.random.randint(1, 10, size=(3000, 784)) - -# Generate 60,000 labels for y_train (for example, labels between 1 and 10) -y_train = np.random.randint(1, 11, size=3000) - -# train_X = [[2,5], [5,2], [3,4], [4,4], [5,5], [10, 10], [2,2], [12,12]] -# train_y = [1, 1 , 2, 1, 5, 2,1 ,3] - -classifier = PseudoOptimalDecisionTreeClassifier(proportionToTrainOn=1, proportionToValidateSplits=1, proportionOfDimsToTrainOn=1, maxDepth=1); -classifier.fit(X_train, y_train) -exit() - -y_pred = classifier.predict(test_X) -print("MY ACCURACY:") -print(accuracy_score(y_true=test_y, y_pred=y_pred)) - -classifier = DecisionTreeClassifier(max_depth=4) -classifier.fit(train_X, train_y) -y_pred = classifier.predict(test_X) - -print("SECOND ACCURACY:") -print(accuracy_score(y_true=test_y, y_pred=y_pred)) - - -exit() - -X = np.random.random((200, 2)) -y = np.random.random((200)) * 10 -y = y.round() -# y = (X[:,0] + X[:,1]) > .5 - - -#clf = DecisionTreeClassifier() -#clf.fit(X,y) - -classifier = PseudoOptimalDecisionTreeClassifier(proportionToTrainOn=1, proportionToValidateSplits=1, proportionOfDimsToTrainOn=1, maxDepth=2); - -classifier.fit(X,y) +accuracies = [] -X_pred = np.random.random((20, 2)).round() +for i in range(1, 10): + # Load Iris dataset + iris = load_iris() + X = iris.data + y = iris.target -print(X_pred) -print(classifier.predict(X_pred)) + # Split the dataset into training and testing sets + X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) -# classifier.predict() -# print(classifier) + # Train and evaluate the PseudoOptimalDecisionTreeClassifier + classifier = PseudoOptimalDecisionTreeClassifier( + proportionToTrainOn=1, + proportionToValidateSplits=1, + proportionOfDimsToTrainOn=1, + maxDepth=i + ) + classifier.fit(X_train, y_train) + y_pred = classifier.predict(X_test) + print("MY ACCURACY (PseudoOptimalDecisionTreeClassifier):") + accuracies.append(accuracy_score(y_true=y_test, y_pred=y_pred)) + print(accuracy_score(y_true=y_test, y_pred=y_pred)) -#scatter = px.scatter(x=X[:,0], y=X[:,1], color=y) -#scatter.show() +print(accuracies)