commit 214e4e93e51b4007bccc4fc5ec3a5edc7f57b073
parent 1af03c9dfa369e2875b2b5260070b70ef2f3839e
Author: AndrewLockVI <andrew@laack.co>
Date: Tue, 10 Jun 2025 13:24:34 -0500
migration
Diffstat:
| M | old/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)