diff --git a/Decision-Tree(flowers).py b/Decision-Tree(flowers).py new file mode 100644 index 0000000..8c3783b --- /dev/null +++ b/Decision-Tree(flowers).py @@ -0,0 +1,19 @@ +from sklearn.datasets import load_iris +import numpy as np +from sklearn import tree +from sklearn.metrics import accuracy_score + +iris = load_iris() + +test_index = [0,50,100] +train_target = np.delete(iris.target,test_index) +train_data = np.delete(iris.data,test_index, axis=0) + +test_target = iris.target[test_index] +test_data = iris.data[test_index] + +clf = tree.DecisionTreeClassifier() +clf.fit(train_data,train_target) +pred = clf.predict(test_data) + +print(accuracy_score(test_target,pred)) diff --git a/Decision-Tree(fruits).py b/Decision-Tree(fruits).py new file mode 100644 index 0000000..bc95d72 --- /dev/null +++ b/Decision-Tree(fruits).py @@ -0,0 +1,7 @@ +from sklearn import tree +features = [[140,0],[130,0],[150,1],[170,1]] +labels = [0,0,1,1] +clf = tree.DecisionTreeClassifier() +clf = clf.fit(features,labels) +print(clf.predict([[120,0]])) #Output 0 +print(clf.predict([[180,1]])) #Output 1 \ No newline at end of file diff --git a/KNeighbors(flowers).py b/KNeighbors(flowers).py new file mode 100644 index 0000000..e761782 --- /dev/null +++ b/KNeighbors(flowers).py @@ -0,0 +1,17 @@ +from sklearn import datasets +from sklearn.cross_validation import train_test_split +from sklearn.neighbors import KNeighborsClassifier +from sklearn.metrics import accuracy_score + +iris = datasets.load_iris() +x = iris.data +y = iris.target + +x_train,x_test,y_train,y_test = train_test_split(x,y,test_size = 0.5) + +clf = KNeighborsClassifier() +clf.fit(x_train,y_train) + +predictions = clf.predict(x_test) + +print(accuracy_score(y_test,predictions)) \ No newline at end of file diff --git a/Scrappy_KNN.py b/Scrappy_KNN.py new file mode 100644 index 0000000..c672adc --- /dev/null +++ b/Scrappy_KNN.py @@ -0,0 +1,43 @@ +#Simple but relatively slow since it has to iterate over every data-point. + +import random +from scipy.spatial import distance +from sklearn.datasets import load_iris +import numpy as np +from sklearn.model_selection import train_test_split +from sklearn.metrics import accuracy_score + +def euc(a,b): + return(distance.euclidean(a,b)) + +class Classifier(): + + def fit(self,train,train_labels): + self.train = train + self.train_labels = train_labels + + def closest(self,x): + best_dist=euc(x,self.train[0]) + best_index = 0 + for i in range(len(self.train)): + dist=euc(x,self.train[i]) + if(dist