From d81570c947a91cfc761fa31bd0b54d85e25c577b Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Fri, 31 Jul 2020 18:49:14 +0100 Subject: [PATCH 01/27] added enron_mail_20150507.tar.gz which is updated Enrol data set --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 17c225de1fc..065b4ae1e5b 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ enron_mail_20110402.tgz enron_mail_20110402/ enron_mail_20150507.tgz +enron_mail_20150507.tar.gz maildir/ text_learning/your_word_data.pkl text_learning/your_email_authors.pkl From 54e20077cfc95a0cd0af26b6f46e4b7d1c6eda60 Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Fri, 31 Jul 2020 18:50:08 +0100 Subject: [PATCH 02/27] updated requirements according to my local environment --- requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 1d4ac04c20e..e278210faad 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ nltk==3.2.1 -numpy==1.11.2 +numpy==1.13.3 scikit-learn==0.18 -scipy==0.18.1 +scipy==0.19.1 From ea1dc1fce2101461950c5a0d15b973fc7021a9a4 Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Fri, 31 Jul 2020 18:56:39 +0100 Subject: [PATCH 03/27] Updated Print and changed urllib.urlretrieve to urllib.request.urlretrieve --- tools/startup.py | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/tools/startup.py b/tools/startup.py index 4638e0d115e..bab22c8734e 100644 --- a/tools/startup.py +++ b/tools/startup.py @@ -1,47 +1,48 @@ #!/usr/bin/python -print -print "checking for nltk" +print() +print ("checking for nltk") try: import nltk except ImportError: - print "you should install nltk before continuing" + print ("you should install nltk before continuing") -print "checking for numpy" +print ("checking for numpy") try: import numpy except ImportError: - print "you should install numpy before continuing" + print ("you should install numpy before continuing") -print "checking for scipy" +print ("checking for scipy") try: import scipy except: - print "you should install scipy before continuing" + print ("you should install scipy before continuing") -print "checking for sklearn" +print ("checking for sklearn") try: import sklearn except: - print "you should install sklearn before continuing" + print ("you should install sklearn before continuing") -print -print "downloading the Enron dataset (this may take a while)" -print "to check on progress, you can cd up one level, then execute " -print "Enron dataset should be last item on the list, along with its current size" -print "download will complete at about 423 MB" +print() +print ("downloading the Enron dataset (this may take a while)") +print ("to check on progress, you can cd up one level, then execute ") +print ("Enron dataset should be last item on the list, along with its current size") +print ("download will complete at about 423 MB") import urllib url = "https://www.cs.cmu.edu/~./enron/enron_mail_20150507.tar.gz" -urllib.urlretrieve(url, filename="../enron_mail_20150507.tar.gz") -print "download complete!" +#old -> urllib.urlretrieve(url, filename="../enron_mail_20150507.tar.gz") +urllib.request.urlretrieve(url, filename="../enron_mail_20150507.tgz") +print ("download complete!") -print -print "unzipping Enron dataset (this may take a while)" +print() +print ("unzipping Enron dataset (this may take a while)") import tarfile import os os.chdir("..") tfile = tarfile.open("enron_mail_20150507.tar.gz", "r:gz") tfile.extractall(".") -print "you're ready to go!" +print ("you're ready to go!") From 4ae57dd1fa96f8f63e7c10f0a3ea1b199ae26598 Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Fri, 31 Jul 2020 19:24:58 +0100 Subject: [PATCH 04/27] README.md updated --- README.md | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9c2c9967cb5..ba3e91eddc0 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,30 @@ -ud120-projects +

ud120-projects

============== -Starter project code for students taking Udacity ud120 +My repo for Udacity ud120 course + +

Content

+* Session excercises / mini projects +* Enron project + + +

IDE

+PyCharm community Edition By Jet Brain + +

Commands used

+**install sklearn** +pip install scikit-learn + +**install natural language toolkit** +pip install nltk + +**install matplotlib** +pip install matplotlib + +Environment from requirements.txt +nltk==3.2.1 +numpy==1.13.3 +scikit-learn==0.18 +scipy==0.19.1 + + From 25a02d65377c912fda76149cc0890ebcc328d4fd Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Fri, 31 Jul 2020 19:31:17 +0100 Subject: [PATCH 05/27] .idea added --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 065b4ae1e5b..e09025b11b9 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,5 @@ text_learning/your_email_authors.pkl my_classifier.pkl my_dataset.pkl my_feature_list.pkl +.idea + From 91765a42c43a52c83fa68681e4ee75e605f8d5f7 Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Fri, 31 Jul 2020 19:38:50 +0100 Subject: [PATCH 06/27] README.md updated --- README.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index ba3e91eddc0..26b1f343e6e 100644 --- a/README.md +++ b/README.md @@ -12,19 +12,23 @@ My repo for Udacity ud120 course PyCharm community Edition By Jet Brain

Commands used

-**install sklearn** +**install sklearn** + pip install scikit-learn **install natural language toolkit** + pip install nltk **install matplotlib** + pip install matplotlib -Environment from requirements.txt -nltk==3.2.1 -numpy==1.13.3 -scikit-learn==0.18 -scipy==0.19.1 +

Environment from requirements.txt

+ +nltk==3.2.1
+numpy==1.13.3
+scikit-learn==0.18
+scipy==0.19.1
From 020ec308341c192efeddb78dff9a18bdc57818e5 Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Fri, 31 Jul 2020 21:03:46 +0100 Subject: [PATCH 07/27] Svm exercises --- svm/svm_author_id.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/svm/svm_author_id.py b/svm/svm_author_id.py index fda3f7fdb28..637bcbd951a 100644 --- a/svm/svm_author_id.py +++ b/svm/svm_author_id.py @@ -24,7 +24,23 @@ ######################################################### ### your code goes here ### +#clf = SVC(kernel='linear') +clf = SVC(kernel='rbf', C=10000) +t0 = time() +clf.fit(features_train, labels_train) +print( "training time:", round(time()-t0, 3), "s") + +t1 = time() +pred = clf.predict(features_test) +print( "Prediction time:", round(time()-t1, 3), "s") + +print( "Accuracy score:", accuracy_score(labels_test, pred)) + +print( "Predictions for 10:", pred[10], print "Predictions for 26:", pred[26], print "Predictions for 50:", pred[50]) + +c = Counter(pred) +print "Number of predictions for Chris(1):", c[1] ######################################################### From 1bf6351b4e44d251dca363b94b83689a1e514694 Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Fri, 31 Jul 2020 21:12:13 +0100 Subject: [PATCH 08/27] naive_bayes --- naive_bayes/nb_author_id.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/naive_bayes/nb_author_id.py b/naive_bayes/nb_author_id.py index f69d57d8408..30f511f5599 100644 --- a/naive_bayes/nb_author_id.py +++ b/naive_bayes/nb_author_id.py @@ -26,7 +26,31 @@ ######################################################### ### your code goes here ### +# create classifer +clf = GaussianNB() +# note time +t0 = time() + +# fit the classifier on training features and labels +clf.fit(features_train, labels_train) +print("Training time", time()-t0, "s") + +# note time +t1=time() + +# predict labels for the test features +pred = clf.predict(features_test) +print("Predicting time", time()-t1, "s") + +# calculate accuracy +accuracy = accuracy_score(pred, labels_test) + +# return the accuracy +# return(accuracy) + +print(accuracy) +# return the accuracy ######################################################### From fb16b55696e7aefa9e3cbcf828dd3d73f424ab7a Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Fri, 31 Jul 2020 21:23:15 +0100 Subject: [PATCH 09/27] DT --- decision_tree/dt_author_id.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/decision_tree/dt_author_id.py b/decision_tree/dt_author_id.py index 006afb8357b..de8c54f8888 100644 --- a/decision_tree/dt_author_id.py +++ b/decision_tree/dt_author_id.py @@ -24,7 +24,12 @@ ######################################################### ### your code goes here ### +clf = tree.DecisionTreeClassifier(min_samples_split=40) +clf.fit(features_train, labels_train) +pred = clf.predict(features_test) +print( "Accuracy:", accuracy_score(labels_test, pred)) +print( "No of features in date:", len(features_train[0])) ######################################################### From f85835a76060bc3cce09ee0d8244fe81e3de973f Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Fri, 31 Jul 2020 21:32:50 +0100 Subject: [PATCH 10/27] DT updated --- decision_tree/dt_author_id.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/decision_tree/dt_author_id.py b/decision_tree/dt_author_id.py index de8c54f8888..14cdfe84125 100644 --- a/decision_tree/dt_author_id.py +++ b/decision_tree/dt_author_id.py @@ -24,9 +24,20 @@ ######################################################### ### your code goes here ### +#imports +from sklearn import tree +from sklearn.metrics import accuracy_score +# +# create classifer clf = tree.DecisionTreeClassifier(min_samples_split=40) + +# fit the classifier on training features and labels clf.fit(features_train, labels_train) + +#predict pred = clf.predict(features_test) + +# print print( "Accuracy:", accuracy_score(labels_test, pred)) print( "No of features in date:", len(features_train[0])) From 7196bc9b326f8e4018dfec57137a1611ea836476 Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Fri, 31 Jul 2020 21:54:54 +0100 Subject: [PATCH 11/27] changes to chose algo --- choose_your_own/class_vis.py | 2 +- choose_your_own/test.PNG | Bin 0 -> 46500 bytes choose_your_own/your_algorithm.py | 11 ++++++++++- 3 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 choose_your_own/test.PNG diff --git a/choose_your_own/class_vis.py b/choose_your_own/class_vis.py index 38957c9574e..4bf993d4571 100644 --- a/choose_your_own/class_vis.py +++ b/choose_your_own/class_vis.py @@ -46,5 +46,5 @@ def output_image(name, format, bytes): data['name'] = name data['format'] = format data['bytes'] = base64.encodestring(bytes) - print image_start+json.dumps(data)+image_end + print( image_start+json.dumps(data)+image_end) diff --git a/choose_your_own/test.PNG b/choose_your_own/test.PNG new file mode 100644 index 0000000000000000000000000000000000000000..ac55c5d3eb68eacb9977c62081dcd62d00608273 GIT binary patch literal 46500 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

a!hvLe%bjwO%W~aJ&uEh^Lk}Cd0AT_y^8C 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 Date: Fri, 31 Jul 2020 22:00:57 +0100 Subject: [PATCH 12/27] dataset changes --- datasets_questions/explore_enron_data.py | 43 +++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/datasets_questions/explore_enron_data.py b/datasets_questions/explore_enron_data.py index ca9bacb9c83..ed00f32fb71 100644 --- a/datasets_questions/explore_enron_data.py +++ b/datasets_questions/explore_enron_data.py @@ -16,7 +16,48 @@ """ import pickle +import numpy as np enron_data = pickle.load(open("../final_project/final_project_dataset.pkl", "rb")) - +print(len(enron_data)) +print(len(list(enron_data.values())[0])) + +count = 0 +for person_name in enron_data.keys(): + if(enron_data[person_name]["poi"]==1): + count = count+1 +print(count) + +total_poi = 0 +with open('../final_project/poi_names.txt', 'r') as file: + for line in file: + if('\(y\)' or '\(n\)' in line): + total_poi= total_poi+1 +print(total_poi) +file.close() +print("Net Stock value of James Prentice: ", enron_data['PRENTICE JAMES']['total_stock_value']) +print("Wesley Colwell to POI emails: ", enron_data['COLWELL WESLEY']['from_this_person_to_poi']) +print("Stock options of Jeffrey Skilling: ", enron_data['SKILLING JEFFREY K']['exercised_stock_options']) + +most_value_taken = max([(enron_data[person_name]['total_payments']) for person_name in ("LAY KENNETH L", "SKILLING JEFFREY K", "FASTOW ANDREW S")]) +print(most_value_taken) + +salaries_not_nan = 0 +known_emails = 0 +total_payments_not_nan = 0 +total_payments_not_nan_poi = 0 +for person_name in enron_data: + if not np.isnan(float(enron_data[person_name]['salary'])): + salaries_not_nan += 1 + if(enron_data[person_name]['email_address'] != 'NaN'): + known_emails+=1 + if np.isnan(float(enron_data[person_name]['total_payments'])): + total_payments_not_nan +=1 + if np.isnan(enron_data[person_name]["poi"]==1 ): + total_payments_not_nan_poi += 1 + +print('Salaries available:: ', salaries_not_nan) +print('Available emails: ', known_emails) +print('Number Percentage people NaN -> their total payments: ',total_payments_not_nan, total_payments_not_nan*100/len(enron_data)) +print('Number and Percentage Pois NaN -> their total payments: ',total_payments_not_nan_poi, total_payments_not_nan_poi*100/count) From 6f6335515687bbc0ae36584ee12f74cee27fc8c3 Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Fri, 31 Jul 2020 23:48:53 +0100 Subject: [PATCH 13/27] ression work --- regression/finance_regression.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/regression/finance_regression.py b/regression/finance_regression.py index efa10637a1f..3842ba3739f 100644 --- a/regression/finance_regression.py +++ b/regression/finance_regression.py @@ -29,16 +29,19 @@ from sklearn.cross_validation import train_test_split feature_train, feature_test, target_train, target_test = train_test_split(features, target, test_size=0.5, random_state=42) train_color = "b" -test_color = "b" - - +test_color = "r" ### Your regression goes here! ### Please name it reg, so that the plotting code below picks it up and ### plots it correctly. Don't forget to change the test_color above from "b" to ### "r" to differentiate training points from test points. - - +from sklearn.linear_model import LinearRegression +reg = LinearRegression().fit(feature_train, target_train) +print("Regression output: ") +print("Slope: ", reg.coef_) +print("Intercept: ", reg.intercept_) +print("Score for training: ", reg.score(feature_train, target_train)) +print("Score for testing: ", reg.score(feature_test, target_test)) From 858d7d99536820deeca541433f944b99e600f392 Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Fri, 31 Jul 2020 23:57:42 +0100 Subject: [PATCH 14/27] outliners --- outliers/enron_outliers.py | 11 +++++++++-- outliers/outlier_cleaner.py | 5 +++++ outliers/outlier_removal_regression.py | 19 ++++++++++++------- 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/outliers/enron_outliers.py b/outliers/enron_outliers.py index ac26d7fe9a8..d881848a2be 100644 --- a/outliers/enron_outliers.py +++ b/outliers/enron_outliers.py @@ -8,12 +8,19 @@ ### read in data dictionary, convert to numpy array -data_dict = pickle.load( open("../final_project/final_project_dataset.pkl", "r") ) +data_dict = pickle.load( open("../final_project/final_project_dataset.pkl", "rb"), fix_imports = True ) features = ["salary", "bonus"] data = featureFormat(data_dict, features) ### your code below - +for point in data: + salary = point[0] + bonus = point[1] + matplotlib.pyplot.scatter( salary, bonus ) + +matplotlib.pyplot.xlabel("salary") +matplotlib.pyplot.ylabel("bonus") +matplotlib.pyplot.show() diff --git a/outliers/outlier_cleaner.py b/outliers/outlier_cleaner.py index c0ddb2acc79..db7276a8745 100644 --- a/outliers/outlier_cleaner.py +++ b/outliers/outlier_cleaner.py @@ -14,7 +14,12 @@ def outlierCleaner(predictions, ages, net_worths): cleaned_data = [] ### your code goes here + import operator + errors = [a - b for a, b in zip(predictions, net_worths)] + data = zip(ages, net_worths, errors) + data.sort(key=operator.itemgetter(2)) + cleaned_data = data[:int(len(predictions) * 0.9)] return cleaned_data diff --git a/outliers/outlier_removal_regression.py b/outliers/outlier_removal_regression.py index d509cd9f22f..27240241b3d 100644 --- a/outliers/outlier_removal_regression.py +++ b/outliers/outlier_removal_regression.py @@ -25,7 +25,12 @@ ### fill in a regression here! Name the regression object reg so that ### the plotting code below works, and you can see what your regression looks like - +from sklearn.linear_model import LinearRegression +reg = LinearRegression().fit(ages_train, net_worths_train) +print("Slope: ", reg.coef_) +# print('Regession intercept: ', reg.intercept_) +# print('Regression score: ', reg.score(ages_train, net_worths_train)) +print("Score: ", reg.score(ages_test, net_worths_test)) @@ -50,8 +55,8 @@ predictions = reg.predict(ages_train) cleaned_data = outlierCleaner( predictions, ages_train, net_worths_train ) except NameError: - print "your regression object doesn't exist, or isn't name reg" - print "can't make predictions to use in identifying outliers" + print("your regression object doesn't exist, or isn't name reg") + print("can't make predictions to use in identifying outliers") @@ -70,9 +75,9 @@ reg.fit(ages, net_worths) plt.plot(ages, reg.predict(ages), color="blue") except NameError: - print "you don't seem to have regression imported/created," - print " or else your regression object isn't named reg" - print " either way, only draw the scatter plot of the cleaned data" + print("you don't seem to have regression imported/created,") + print(" or else your regression object isn't named reg") + print(" either way, only draw the scatter plot of the cleaned data") plt.scatter(ages, net_worths) plt.xlabel("ages") plt.ylabel("net worths") @@ -80,5 +85,5 @@ else: - print "outlierCleaner() is returning an empty list, no refitting to be done" + print("outlierCleaner() is returning an empty list, no refitting to be done") From 0cf415370174f63ead2e0c6c7f9f40508521d973 Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Sat, 1 Aug 2020 00:09:55 +0100 Subject: [PATCH 15/27] enron_mail_20150507.tar added in ignore --- .gitignore | 1 + Project report.docx | Bin 0 -> 187728 bytes 2 files changed, 1 insertion(+) create mode 100644 Project report.docx diff --git a/.gitignore b/.gitignore index e09025b11b9..8a3a93664a8 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ enron_mail_20110402.tgz enron_mail_20110402/ enron_mail_20150507.tgz enron_mail_20150507.tar.gz +enron_mail_20150507.tar maildir/ text_learning/your_word_data.pkl text_learning/your_email_authors.pkl diff --git a/Project report.docx b/Project report.docx new file mode 100644 index 0000000000000000000000000000000000000000..8997ad63776ea01d29863f6056df17d45781495f GIT binary patch literal 187728 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

ou{q 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 WXrPgUfxQC$g#rEK`%j?zfc-C7Fa3!C literal 0 HcmV?d00001 From 8bb830e64300e80c70a4d9fde249a9b06c623bee Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Sat, 1 Aug 2020 00:59:58 +0100 Subject: [PATCH 16/27] Text Learning --- text_learning/vectorize_text.py | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/text_learning/vectorize_text.py b/text_learning/vectorize_text.py index 629c6b0f317..38dd5fc0c9c 100644 --- a/text_learning/vectorize_text.py +++ b/text_learning/vectorize_text.py @@ -7,6 +7,8 @@ sys.path.append( "../tools/" ) from parse_out_email_text import parseOutText +from sklearn.feature_extraction.text import TfidfVectorizer +from nltk.corpus import stopwords """ Starter code to process the emails from Sara and Chris to extract @@ -44,22 +46,28 @@ temp_counter += 1 if temp_counter < 200: path = os.path.join('..', path[:-1]) - print path + print( path) email = open(path, "r") ### use parseOutText to extract the text from the opened email - + text = parseOutText(email) ### use str.replace() to remove any instances of the words ### ["sara", "shackleton", "chris", "germani"] + stopwords = ["sara", "shackleton", "chris", "germani"] + for word in stopwords: + text = text.replace(word, "") ### append the text to word_data - + word_data.append(text) ### append a 0 to from_data if email is from Sara, and 1 if email is from Chris - + if name == "sara": + from_data.append(0) + else: + from_data.append(1) email.close() -print "emails processed" +print( "emails processed") from_sara.close() from_chris.close() @@ -71,5 +79,10 @@ ### in Part 4, do TfIdf vectorization here - +vectorizer = TfidfVectorizer(stop_words="english") +vectorizer.fit(word_data) +vectorizer.transform(word_data) +feature_words = vectorizer.get_feature_names() +print( "Total words:", len(feature_words)) +print( "The word at word[34597]:", feature_words[34597]) From b62f4b7c11af57da36cd727af34917ff8666d4c9 Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Sat, 1 Aug 2020 01:08:25 +0100 Subject: [PATCH 17/27] Feature Selection --- feature_selection/find_signature.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/feature_selection/find_signature.py b/feature_selection/find_signature.py index c01a1f2111a..93c0be9a822 100644 --- a/feature_selection/find_signature.py +++ b/feature_selection/find_signature.py @@ -28,6 +28,8 @@ features_train = vectorizer.fit_transform(features_train) features_test = vectorizer.transform(features_test).toarray() +# get words +words = vectorizer.get_feature_names() ### a classic way to overfit is to use a small number ### of data points and a large number of features; @@ -38,6 +40,19 @@ ### your code goes here - +from sklearn.tree import DecisionTreeClassifier +from sklearn.metrics import accuracy_score + +clf = DecisionTreeClassifier(min_samples_split=40) +clf.fit(features_train, labels_train) +pred = clf.predict(features_test) +print( "Accuracy:", accuracy_score(labels_test, pred)) + +print( "Important features:") +for index, feature in enumerate(clf.feature_importances_): + if feature>0.2: + print( "Feature number", index) + print( "Importance", feature) + print( "Word", words[index]) From baf3f04c88a03c1982934c130b7d487920a76e8a Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Sat, 1 Aug 2020 01:19:56 +0100 Subject: [PATCH 18/27] Validation --- validation/validate_poi.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/validation/validate_poi.py b/validation/validate_poi.py index 03537a5cc07..c0fafa62bcc 100644 --- a/validation/validate_poi.py +++ b/validation/validate_poi.py @@ -14,6 +14,9 @@ import sys sys.path.append("../tools/") from feature_format import featureFormat, targetFeatureSplit +from sklearn.tree import DecisionTreeClassifier +from sklearn.metrics import accuracy_score +from sklearn.cross_validation import train_test_split data_dict = pickle.load(open("../final_project/final_project_dataset.pkl", "r") ) @@ -25,8 +28,19 @@ data = featureFormat(data_dict, features_list) labels, features = targetFeatureSplit(data) +features_train, features_test, labels_train, labels_test = train_test_split(features, labels, test_size=0.30, random_state=42) ### it's all yours from here forward! +# create DecisionTree Classifier +clf = DecisionTreeClassifier() +# Fit/train it +clf.fit(features_train, labels_train) + +# predict +pred = clf.predict(features_test) + +# print +print( "Accuracy:", accuracy_score(labels_test, pred)) From e54f318f0cce28ddca5cfa99b346a81827894730 Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Sat, 1 Aug 2020 01:56:37 +0100 Subject: [PATCH 19/27] fixed print --- tools/feature_format.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/feature_format.py b/tools/feature_format.py index 7ca78ac291a..cf948d35506 100644 --- a/tools/feature_format.py +++ b/tools/feature_format.py @@ -67,7 +67,7 @@ def featureFormat( dictionary, features, remove_NaN=True, remove_all_zeroes=True try: dictionary[key][feature] except KeyError: - print "error: key ", feature, " not present" + print( "error: key ", feature, " not present") return value = dictionary[key][feature] if value=="NaN" and remove_NaN: From a040a2cc581306cc2eecf4642bbea9f2d25183ab Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Sat, 1 Aug 2020 02:00:42 +0100 Subject: [PATCH 20/27] Clustering --- k_means/k_means_cluster.py | 40 ++++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/k_means/k_means_cluster.py b/k_means/k_means_cluster.py index 6a2ba687017..eb42d6d8f51 100644 --- a/k_means/k_means_cluster.py +++ b/k_means/k_means_cluster.py @@ -13,7 +13,8 @@ import sys sys.path.append("../tools/") from feature_format import featureFormat, targetFeatureSplit - +from sklearn.cluster import KMeans +from sklearn.preprocessing import MinMaxScaler @@ -39,7 +40,11 @@ def Draw(pred, features, poi, mark_poi=False, name="image.png", f1_name="feature ### load in the dict of dicts containing all the data on each person in the dataset -data_dict = pickle.load( open("../final_project/final_project_dataset.pkl", "r") ) +with open("../final_project/final_project_dataset.pkl", "rb") as f: + rawdataset = f.read() + +#data_dict = pickle.load( open("../final_project/final_project_dataset.pkl", "r") ) +data_dict = pickle.load( rawdataset) ### there's an outlier--remove it! data_dict.pop("TOTAL", 0) @@ -63,8 +68,13 @@ def Draw(pred, features, poi, mark_poi=False, name="image.png", f1_name="feature plt.show() ### cluster here; create predictions of the cluster labels -### for the data and store them to a list called pred +est = KMeans(n_clusters=2) +# fit/train it +est.fit(finance_features) + +### for the data and store them to a list called pred +pred = est.predict(finance_features) @@ -73,4 +83,26 @@ def Draw(pred, features, poi, mark_poi=False, name="image.png", f1_name="feature try: Draw(pred, finance_features, poi, mark_poi=False, name="clusters.pdf", f1_name=feature_1, f2_name=feature_2) except NameError: - print "no predictions object named pred found, no clusters to plot" + print( "no predictions object named pred found, no clusters to plot") + + +salary = [] +exercised_stock_options = [] +for name in data_dict: + stock = data_dict[name]['exercised_stock_options'] + sal = data_dict[name]['salary'] + if not numpy.isnan(float(stock)): + exercised_stock_options.append(float(stock)) + if not numpy.isnan(float(sal)): + salary.append(float(sal)) + +#Feature rescaling +scaler = MinMaxScaler() +print( "After rescaling, salary $200,000:", scaler.fit_transform([[float(min(salary))], [200000], [float(max(salary))]])) +print( "After rescaling, salary $100,000:", scaler.fit_transform([[float(min(exercised_stock_options))], [1000000], [float(max(exercised_stock_options))]])) + +print( "Minimum stock :", min(exercised_stock_options)) +print( "Maximum stock :", max(exercised_stock_options)) + +print( "Minimum salary :", min(salary)) +print( "Maximum salary :", max(salary)) \ No newline at end of file From 407bd172a81071dca810d5842748ac6f1a1152ce Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Sat, 1 Aug 2020 02:13:21 +0100 Subject: [PATCH 21/27] PCA print statmenst fixed --- pca/eigenfaces.py | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/pca/eigenfaces.py b/pca/eigenfaces.py index 074b860a253..50b579f44fa 100644 --- a/pca/eigenfaces.py +++ b/pca/eigenfaces.py @@ -16,7 +16,7 @@ -print __doc__ +print(__doc__) from time import time import logging @@ -53,10 +53,10 @@ target_names = lfw_people.target_names n_classes = target_names.shape[0] -print "Total dataset size:" -print "n_samples: %d" % n_samples -print "n_features: %d" % n_features -print "n_classes: %d" % n_classes +print( "Total dataset size:") +print( "n_samples: %d" % n_samples) +print( "n_features: %d" % n_features) +print( "n_classes: %d" % n_classes) ############################################################################### @@ -68,24 +68,24 @@ # dataset): unsupervised feature extraction / dimensionality reduction n_components = 150 -print "Extracting the top %d eigenfaces from %d faces" % (n_components, X_train.shape[0]) +print( "Extracting the top %d eigenfaces from %d faces" % (n_components, X_train.shape[0])) t0 = time() pca = RandomizedPCA(n_components=n_components, whiten=True).fit(X_train) -print "done in %0.3fs" % (time() - t0) +print( "done in %0.3fs" % (time() - t0)) eigenfaces = pca.components_.reshape((n_components, h, w)) -print "Projecting the input data on the eigenfaces orthonormal basis" +print( "Projecting the input data on the eigenfaces orthonormal basis") t0 = time() X_train_pca = pca.transform(X_train) X_test_pca = pca.transform(X_test) -print "done in %0.3fs" % (time() - t0) +print( "done in %0.3fs" % (time() - t0)) ############################################################################### # Train a SVM classification model -print "Fitting the classifier to the training set" +print( "Fitting the classifier to the training set") t0 = time() param_grid = { 'C': [1e3, 5e3, 1e4, 5e4, 1e5], @@ -94,21 +94,21 @@ # for sklearn version 0.16 or prior, the class_weight parameter value is 'auto' clf = GridSearchCV(SVC(kernel='rbf', class_weight='balanced'), param_grid) clf = clf.fit(X_train_pca, y_train) -print "done in %0.3fs" % (time() - t0) -print "Best estimator found by grid search:" -print clf.best_estimator_ +print( "done in %0.3fs" % (time() - t0)) +print( "Best estimator found by grid search:") +print( clf.best_estimator_) ############################################################################### # Quantitative evaluation of the model quality on the test set -print "Predicting the people names on the testing set" +print( "Predicting the people names on the testing set") t0 = time() y_pred = clf.predict(X_test_pca) -print "done in %0.3fs" % (time() - t0) +print( "done in %0.3fs" % (time() - t0)) -print classification_report(y_test, y_pred, target_names=target_names) -print confusion_matrix(y_test, y_pred, labels=range(n_classes)) +print( classification_report(y_test, y_pred, target_names=target_names)) +print( confusion_matrix(y_test, y_pred, labels=range(n_classes))) ############################################################################### From 4584b9b28df325815b4aac58094328627e5a387c Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Sat, 1 Aug 2020 02:22:07 +0100 Subject: [PATCH 22/27] Print fixed in svm --- svm/svm_author_id.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/svm/svm_author_id.py b/svm/svm_author_id.py index 637bcbd951a..208b4adf01d 100644 --- a/svm/svm_author_id.py +++ b/svm/svm_author_id.py @@ -37,10 +37,10 @@ print( "Accuracy score:", accuracy_score(labels_test, pred)) -print( "Predictions for 10:", pred[10], print "Predictions for 26:", pred[26], print "Predictions for 50:", pred[50]) +print( "Predictions for 10:", pred[10], print( "Predictions for 26:", pred[26], print( "Predictions for 50:", pred[50] ) )) c = Counter(pred) -print "Number of predictions for Chris(1):", c[1] +print( "Number of predictions for Chris(1):", c[1]) ######################################################### From 4789e327e0fa5b4b56dd9ccf4c26a22c8d259c73 Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Sat, 1 Aug 2020 02:22:30 +0100 Subject: [PATCH 23/27] print fixed in tools --- tools/email_preprocess.py | 4 ++-- tools/parse_out_email_text.py | 2 +- tools/startup.py | 30 +++++++++++++++--------------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/tools/email_preprocess.py b/tools/email_preprocess.py index 2528b995904..edc1f74e60e 100644 --- a/tools/email_preprocess.py +++ b/tools/email_preprocess.py @@ -59,7 +59,7 @@ def preprocess(words_file = "../tools/word_data.pkl", authors_file="../tools/ema features_test_transformed = selector.transform(features_test_transformed).toarray() ### info on the data - print "no. of Chris training emails:", sum(labels_train) - print "no. of Sara training emails:", len(labels_train)-sum(labels_train) + print( "no. of Chris training emails:", sum(labels_train)) + print( "no. of Sara training emails:", len(labels_train)-sum(labels_train)) return features_train_transformed, features_test_transformed, labels_train, labels_test diff --git a/tools/parse_out_email_text.py b/tools/parse_out_email_text.py index 43725b22d10..cea649a9f92 100644 --- a/tools/parse_out_email_text.py +++ b/tools/parse_out_email_text.py @@ -45,7 +45,7 @@ def parseOutText(f): def main(): ff = open("../text_learning/test_email.txt", "r") text = parseOutText(ff) - print text + print( text) diff --git a/tools/startup.py b/tools/startup.py index bab22c8734e..bc77280ab4d 100644 --- a/tools/startup.py +++ b/tools/startup.py @@ -1,48 +1,48 @@ #!/usr/bin/python print() -print ("checking for nltk") +print( "checking for nltk") try: import nltk except ImportError: - print ("you should install nltk before continuing") + print( "you should install nltk before continuing") -print ("checking for numpy") +print( "checking for numpy") try: import numpy except ImportError: - print ("you should install numpy before continuing") + print( "you should install numpy before continuing") -print ("checking for scipy") +print( "checking for scipy") try: import scipy except: - print ("you should install scipy before continuing") + print( "you should install scipy before continuing") -print ("checking for sklearn") +print( "checking for sklearn") try: import sklearn except: - print ("you should install sklearn before continuing") + print( "you should install sklearn before continuing") print() -print ("downloading the Enron dataset (this may take a while)") -print ("to check on progress, you can cd up one level, then execute ") -print ("Enron dataset should be last item on the list, along with its current size") -print ("download will complete at about 423 MB") +print( "downloading the Enron dataset (this may take a while)") +print( "to check on progress, you can cd up one level, then execute ") +print( "Enron dataset should be last item on the list, along with its current size") +print( "download will complete at about 423 MB") import urllib url = "https://www.cs.cmu.edu/~./enron/enron_mail_20150507.tar.gz" #old -> urllib.urlretrieve(url, filename="../enron_mail_20150507.tar.gz") urllib.request.urlretrieve(url, filename="../enron_mail_20150507.tgz") -print ("download complete!") +print( "download complete!") print() -print ("unzipping Enron dataset (this may take a while)") +print( "unzipping Enron dataset (this may take a while)") import tarfile import os os.chdir("..") tfile = tarfile.open("enron_mail_20150507.tar.gz", "r:gz") tfile.extractall(".") -print ("you're ready to go!") +print( "you're ready to go!") From b37e107902acec16c4dc5012298d8277f73e1dd3 Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Sat, 1 Aug 2020 02:23:06 +0100 Subject: [PATCH 24/27] print fixed --- final_project/tester.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/final_project/tester.py b/final_project/tester.py index c0899dbe58e..3cadd6046b4 100644 --- a/final_project/tester.py +++ b/final_project/tester.py @@ -55,9 +55,9 @@ def test_classifier(clf, dataset, feature_list, folds = 1000): elif prediction == 1 and truth == 1: true_positives += 1 else: - print "Warning: Found a predicted label not == 0 or 1." - print "All predictions should take value 0 or 1." - print "Evaluating performance for processed predictions:" + print( "Warning: Found a predicted label not == 0 or 1.") + print( "All predictions should take value 0 or 1.") + print( "Evaluating performance for processed predictions:") break try: total_predictions = true_negatives + false_negatives + false_positives + true_positives @@ -66,13 +66,13 @@ def test_classifier(clf, dataset, feature_list, folds = 1000): recall = 1.0*true_positives/(true_positives+false_negatives) f1 = 2.0 * true_positives/(2*true_positives + false_positives+false_negatives) f2 = (1+2.0*2.0) * precision*recall/(4*precision + recall) - print clf - print PERF_FORMAT_STRING.format(accuracy, precision, recall, f1, f2, display_precision = 5) - print RESULTS_FORMAT_STRING.format(total_predictions, true_positives, false_positives, false_negatives, true_negatives) - print "" + print( clf) + print( PERF_FORMAT_STRING.format(accuracy, precision, recall, f1, f2, display_precision = 5)) + print( RESULTS_FORMAT_STRING.format(total_predictions, true_positives, false_positives, false_negatives, true_negatives)) + print( "") except: - print "Got a divide by zero when trying out:", clf - print "Precision or recall may be undefined due to a lack of true positive predicitons." + print( "Got a divide by zero when trying out:", clf) + print( "Precision or recall may be undefined due to a lack of true positive predicitons.") CLF_PICKLE_FILENAME = "my_classifier.pkl" DATASET_PICKLE_FILENAME = "my_dataset.pkl" From 95aa9dbb4ba4c35e4db5eb59f7447a1f06ac54dc Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Sat, 1 Aug 2020 02:47:33 +0100 Subject: [PATCH 25/27] Evaluation Matrix --- evaluation/evaluate_poi_identifier.py | 60 +++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/evaluation/evaluate_poi_identifier.py b/evaluation/evaluate_poi_identifier.py index 0ca99d52d5f..0632a18e71e 100644 --- a/evaluation/evaluate_poi_identifier.py +++ b/evaluation/evaluate_poi_identifier.py @@ -13,8 +13,12 @@ import pickle import sys +import numpy as np sys.path.append("../tools/") from feature_format import featureFormat, targetFeatureSplit +from sklearn.tree import DecisionTreeClassifier +from sklearn.metrics import accuracy_score, precision_score, recall_score +from sklearn.cross_validation import train_test_split data_dict = pickle.load(open("../final_project/final_project_dataset.pkl", "r") ) @@ -27,5 +31,61 @@ ### your code goes here +features_train, features_test, labels_train, labels_test = train_test_split(features, labels, test_size=0.30, + random_state=42) +# create DT Classifier +clf = DecisionTreeClassifier() +# fit/train it +clf.fit(features_train, labels_train) + +# predict +pred = clf.predict(features_test) + +#print +print( "accuracy:", accuracy_score(labels_test, pred)) + +### evaluation +values, counts = np.unique(pred, return_counts=True) +test_size = len(features_test) + +# print +print("Predicted POIs:", zip(values, counts)) +print( "Total number in test set:", test_size) +print( "Accuracy - all poi=0:", counts[0] / test_size) + +true_positives = 0 +for actual, predicted in zip(labels_test, pred): + if actual == 1 and predicted == 1: + true_positives += 1 + +# print +print( "TP - true positives:", true_positives) +print( "Precision score:", precision_score(labels_test, pred)) +print( "Recall score:", recall_score(labels_test, pred)) + +prediction_labels = [0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1] +true_labels = [0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0] + + +def calc_precision_and_recall(actual, predicted): + print( "Doing precision and recall...") + true_positives = 0 + false_positives = 0 + false_negatives = 0 + true_negatives = 0 + for a, p in zip(actual, predicted): + if a == 1 and p == 1: + true_positives += 1 + elif a == 1 and p == 0: + false_negatives += 1 + elif a == 0 and p == 1: + false_positives += 1 + else: + true_negatives += 1 + print( "Precision:", true_positives / (true_positives + false_positives)) + print( "Recall:", true_positives / (true_positives + false_negatives)) + + +calc_precision_and_recall(true_labels, prediction_labels) From 630648bc5b67d2d433a88e4cef87aced548c8143 Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Sat, 1 Aug 2020 03:05:41 +0100 Subject: [PATCH 26/27] PCA print changed --- pca/eigenfaces.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pca/eigenfaces.py b/pca/eigenfaces.py index 50b579f44fa..b3cbc1e33ee 100644 --- a/pca/eigenfaces.py +++ b/pca/eigenfaces.py @@ -54,9 +54,9 @@ n_classes = target_names.shape[0] print( "Total dataset size:") -print( "n_samples: %d" % n_samples) -print( "n_features: %d" % n_features) -print( "n_classes: %d" % n_classes) +print("n_samples: {0}".format(n_samples)) +print("n_features: {0}".format(n_features)) +print("n_classes: {0}".format(n_classes)) ############################################################################### @@ -68,7 +68,7 @@ # dataset): unsupervised feature extraction / dimensionality reduction n_components = 150 -print( "Extracting the top %d eigenfaces from %d faces" % (n_components, X_train.shape[0])) +print("Extracting the top {0} eigenfaces from {1} faces".format(n_components, X_train.shape[0])) t0 = time() pca = RandomizedPCA(n_components=n_components, whiten=True).fit(X_train) print( "done in %0.3fs" % (time() - t0)) @@ -79,7 +79,7 @@ t0 = time() X_train_pca = pca.transform(X_train) X_test_pca = pca.transform(X_test) -print( "done in %0.3fs" % (time() - t0)) +print("done in {0:.3f}s".format(time() - t0)) ############################################################################### @@ -94,7 +94,7 @@ # for sklearn version 0.16 or prior, the class_weight parameter value is 'auto' clf = GridSearchCV(SVC(kernel='rbf', class_weight='balanced'), param_grid) clf = clf.fit(X_train_pca, y_train) -print( "done in %0.3fs" % (time() - t0)) +print("done in {0:.3f}s".format(time() - t0)) print( "Best estimator found by grid search:") print( clf.best_estimator_) @@ -105,7 +105,7 @@ print( "Predicting the people names on the testing set") t0 = time() y_pred = clf.predict(X_test_pca) -print( "done in %0.3fs" % (time() - t0)) +print("done in {0:.3f}s".format(time() - t0)) print( classification_report(y_test, y_pred, target_names=target_names)) print( confusion_matrix(y_test, y_pred, labels=range(n_classes))) From a4c7ed86b17dd290bfbffa6bbaae4ffa2b45359a Mon Sep 17 00:00:00 2001 From: ritumalhotra Date: Sat, 1 Aug 2020 04:34:52 +0100 Subject: [PATCH 27/27] Final project --- final_project/poi_id.py | 108 ++++++++++++++++++++++++++++++++++++++-- final_project/tester.py | 4 +- 2 files changed, 106 insertions(+), 6 deletions(-) diff --git a/final_project/poi_id.py b/final_project/poi_id.py index 47912a7c51d..c1e39e53b7a 100644 --- a/final_project/poi_id.py +++ b/final_project/poi_id.py @@ -2,6 +2,7 @@ import sys import pickle +import matplotlib sys.path.append("../tools/") from feature_format import featureFormat, targetFeatureSplit @@ -10,14 +11,86 @@ ### Task 1: Select what features you'll use. ### features_list is a list of strings, each of which is a feature name. ### The first feature must be "poi". -features_list = ['poi','salary'] # You will need to use more features +features_list = ['poi', 'salary'] # You will need to use more features ### Load the dictionary containing the dataset -with open("final_project_dataset.pkl", "r") as data_file: - data_dict = pickle.load(data_file) +# with open("final_project_dataset.pkl", "r") as data_file: +# data_dict = pickle.load(data_file) + +# data_dict = pickle.load( open( "final_project_dataset.pkl", "rb" ) ) + +with open('final_project_dataset.pkl', 'rb') as handle: + data_dict = pickle.load(handle) + + ### Task 2: Remove outliers +identified_outliers = ["TOTAL", "LAVORATO JOHN J", "MARTIN AMANDA K", "URQUHART JOHN A", "MCCLELLAN GEORGE", "SHANKMAN JEFFREY A", "WHITE JR THOMAS E", "PAI LOU L", "HIRKO JOSEPH"] +for outlier in identified_outliers: + data_dict.pop(outlier) + ### Task 3: Create new feature(s) +financial_features = ['salary', 'deferral_payments', 'total_payments', 'loan_advances', 'bonus', 'restricted_stock_deferred', 'deferred_income', 'total_stock_value', 'expenses', 'exercised_stock_options', 'other', 'long_term_incentive', 'restricted_stock', 'director_fees'] +email_features = ['to_messages', 'email_address', 'from_poi_to_this_person', 'from_messages', 'from_this_person_to_poi', 'poi', 'shared_receipt_with_poi'] + +# count data_points +data_points = len(data_dict) + +# initialise counts +poi_count = 0 +non_poi_count = 0 + + +# print +non_poi_count = 0 +print( "Data points:\t", data_points) +print( "Number of non POIs:\t", non_poi_count) +print( "Number of POIs:\t\t", poi_count) + +print( "POI ratio:\t\t", poi_count/data_points) +print( "Total features:\t", len(data_dict[data_dict.keys()[0]])) +print( "Financial features:\t", len(financial_features)) +print( "Email features:\t", len(email_features)) +print( "") + + + + + +def outlier_visualization(data): + for point in data: + f1 = point[0] + f2 = point[1] + matplotlib.pyplot.scatter(f1, f2 ) + + matplotlib.pyplot.xlabel("Feature 1") + matplotlib.pyplot.ylabel("Feature 2") + matplotlib.pyplot.show() + + + +def visualize_outliers(): + start = 1 + for i in range(2, len(financial_features)): + outlier_visualization(financial_outliers, 1, i, 'salary', financial_features[i], start) + start += 1 + start = 10 + + for i in range(2, len(email_features)): + outlier_visualization(email_outliers, 1, i, 'to_messages', email_features[i], start) + start += 1 + + +# outlier name +def get_outlier(feature, value): + for person, features in data_dict.iteritems(): + if features[feature] == value: + print("Outlier is:", person, features['poi']) + + + + + ### Store to my_dataset for easy export below. my_dataset = data_dict @@ -25,6 +98,16 @@ data = featureFormat(my_dataset, features_list, sort_keys = True) labels, features = targetFeatureSplit(data) +financial_outliers = featureFormat(data_dict, financial_features) +email_outliers = featureFormat(data_dict, email_features) + + +#from sklearn.cross_validation import train_test_split +from sklearn.model_selection import train_test_split + +features_train, features_test, labels_train, labels_test = \ + train_test_split(features, labels, test_size=0.3, random_state=42) + ### Task 4: Try a varity of classifiers ### Please name your classifier clf for easy export below. ### Note that if you want to do PCA or other multi-stage operations, @@ -32,9 +115,18 @@ ### http://scikit-learn.org/stable/modules/pipeline.html # Provided to give you a starting point. Try a variety of classifiers. +# import from sklearn.naive_bayes import GaussianNB + +# create classifier clf = GaussianNB() +#fit/train +clf.fit(features_train, labels_train) + +# predict +pred = clf.predict(features_test) + ### Task 5: Tune your classifier to achieve better than .3 precision and recall ### using our testing script. Check the tester.py script in the final project ### folder for details on the evaluation method, especially the test_classifier @@ -43,7 +135,8 @@ ### http://scikit-learn.org/stable/modules/generated/sklearn.cross_validation.StratifiedShuffleSplit.html # Example starting point. Try investigating other evaluation techniques! -from sklearn.cross_validation import train_test_split +#from sklearn.cross_validation import train_test_split +from sklearn.model_selection import train_test_split features_train, features_test, labels_train, labels_test = \ train_test_split(features, labels, test_size=0.3, random_state=42) @@ -52,4 +145,9 @@ ### that the version of poi_id.py that you submit can be run on its own and ### generates the necessary .pkl files for validating your results. -dump_classifier_and_data(clf, my_dataset, features_list) \ No newline at end of file +visualize_outliers() + +dump_classifier_and_data(clf, my_dataset, features_list) + + + diff --git a/final_project/tester.py b/final_project/tester.py index 3cadd6046b4..3749091aaba 100644 --- a/final_project/tester.py +++ b/final_project/tester.py @@ -12,7 +12,9 @@ import pickle import sys -from sklearn.cross_validation import StratifiedShuffleSplit +#from sklearn.cross_validation import StratifiedShuffleSplit +from sklearn.model_selection import StratifiedShuffleSplit + sys.path.append("../tools/") from feature_format import featureFormat, targetFeatureSplit