#================================================================================================ while True: file_name = raw_input("Enter file name to predict or z to exit: ") if file_name == 'z': break raw_features = extract.start(file_name) raw_baseline_angle = raw_features[0] baseline_angle, comment = categorize.determine_baseline_angle( raw_baseline_angle) print "Baseline Angle: " + comment raw_top_margin = raw_features[1] top_margin, comment = categorize.determine_top_margin(raw_top_margin) print "Top Margin: " + comment raw_letter_size = raw_features[2] letter_size, comment = categorize.determine_letter_size( raw_letter_size) print "Letter Size: " + comment raw_line_spacing = raw_features[3] line_spacing, comment = categorize.determine_line_spacing( raw_line_spacing) print "Line Spacing: " + comment raw_word_spacing = raw_features[4] word_spacing, comment = categorize.determine_word_spacing( raw_word_spacing)
def learning(): score1=0 score2=0 score3=0 score4=0 score5=0 score6=0 score7=0 score8=0 if request.method=='POST': data1=request.form['userinput1'] data2=request.form['userinput2'] data3=request.form['userinput3'] data4=request.form['userinput4'] data5=request.form['userinput5'] response1=int(sc_tf_idf.classify(process_message(data1))) response2=int(sc_tf_idf.classify(process_message(data2))) response3=int(sc_tf_idf.classify(process_message(data3))) response4=int(sc_tf_idf.classify(process_message(data4))) response5=int(sc_tf_idf.classify(process_message(data5))) score=0.2*(response1+response2+response3+response4+response5) sex=request.form['sex'] age=request.form['age'] p_status=request.form['p_status'] mjob=request.form['mjob'] fjob=request.form['fjob'] reason=request.form['reason'] stime=request.form['stime'] fail=request.form['fail'] famsup=request.form['famsup'] act=request.form['act'] net=request.form['net'] rel=request.form['rel'] famrel=request.form['famrel'] free=request.form['free'] goout=request.form['goout'] dalc=request.form['dalc'] walc=request.form['walc'] health=request.form['health'] abscences=request.form['abscences'] cgpa=request.form['cgpa'] data=[sex,age,p_status,mjob,fjob,reason,stime,fail,famsup,act,net,rel,famrel,free,goout,dalc,walc,health,abscences] with open('testing.csv','a') as fd: for i in data: fd.write(i) fd.write(',') fd.write(cgpa) fd.write('\n') fd.close() student_data = pd.read_csv("students.csv", encoding='utf-8') test = pd.read_csv("testing.csv", encoding='utf-8') n_students = student_data.shape[0] n_features = student_data.shape[1] - 1 n_passed = student_data["risk"].value_counts()[1] n_failed = student_data["risk"].value_counts()[0] grad_rate = float(n_passed)/n_students*100 feature_cols = list(student_data.columns[:-1]) # all columns but last are features target_col = student_data.columns[-1] # last column is the target/label X_all = student_data[feature_cols] # feature values for all students y_all = student_data[target_col] # corresponding targets/labels test_example = test[feature_cols] X_all = dews.preprocess_features(X_all) test_example = dews.preprocess_features(test_example) test_example = test_example.iloc[-1:] num_all = student_data.shape[0] # same as len(student_data) num_train = 316 # about 80% of the data num_test = 79 X_train, X_test, y_train, y_test = train_test_split(X_all,y_all,train_size=num_train,test_size=num_test,stratify=y_all) f1_scorer = make_scorer(f1_score, pos_label=1) parameters = {'max_depth': range(1,15)} dt = DecisionTreeClassifier() grid_search = GridSearchCV(dt,parameters,scoring=f1_scorer) grid_search.fit(X_train,y_train) dt_tuned = DecisionTreeClassifier(max_depth=3) dt_tuned.fit(X_train,y_train) # Subset the Dataset by removing features whose 'importance' is zero, # according to a tuned Decision tree in 1.1 sub = np.nonzero(dt_tuned.feature_importances_)[0].tolist() subset_cols = list(X_train.columns[sub]) X_train_subset = X_train[subset_cols] X_test_subset = X_test[subset_cols] test_example_subset = test_example[subset_cols] clf_default = KNeighborsClassifier() # Determine the number of nearest neighbors that optimizes accuracy parameters = {'n_neighbors': range(1,30)} knn = KNeighborsClassifier() knn_tuned = GridSearchCV(knn,parameters,scoring=f1_scorer) knn_tuned.fit(X_train_subset,y_train) clf_tuned = KNeighborsClassifier(n_neighbors=knn_tuned.best_params_['n_neighbors']) y = dews.train_predict("Subset_KNN", X_train_subset, y_train, X_test_subset, y_test, test_example_subset, 300, clf_default, clf_tuned) file1 = request.files['file1'] file2 = request.files['file2'] file3 = request.files['file3'] file4 = request.files['file4'] file5 = request.files['file5'] if file1 and allowed_file(file1.filename) and file2 and allowed_file(file2.filename) and file3 and allowed_file(file3.filename) and file4 and allowed_file(file4.filename) and file5 and allowed_file(file5.filename): file_names=[secure_filename(file1.filename),secure_filename(file2.filename),secure_filename(file3.filename),secure_filename(file4.filename),secure_filename(file5.filename)] for file_name in file_names: raw_features = extract.start(file_name) raw_baseline_angle = raw_features[0] baseline_angle, comment = categorize.determine_baseline_angle(raw_baseline_angle) #print ("Baseline Angle: "+comment) raw_top_margin = raw_features[1] top_margin, comment = categorize.determine_top_margin(raw_top_margin) #print ("Top Margin: "+comment) raw_letter_size = raw_features[2] letter_size, comment = categorize.determine_letter_size(raw_letter_size) #print ("Letter Size: "+comment) raw_line_spacing = raw_features[3] line_spacing, comment = categorize.determine_line_spacing(raw_line_spacing) #print ("Line Spacing: "+comment) raw_word_spacing = raw_features[4] word_spacing, comment = categorize.determine_word_spacing(raw_word_spacing) #print ("Word Spacing: "+comment) raw_pen_pressure = raw_features[5] pen_pressure, comment = categorize.determine_pen_pressure(raw_pen_pressure) #print ("Pen Pressure: "+comment) raw_slant_angle = raw_features[6] slant_angle, comment = categorize.determine_slant_angle(raw_slant_angle) #print ("Slant: "+comment) #print score1+=0.2*clf1.predict([[baseline_angle, slant_angle]])[0] score2+=0.2*clf2.predict([[letter_size, pen_pressure]])[0] score3+=0.2*clf3.predict([[letter_size, top_margin]])[0] score4+=0.2*clf4.predict([[line_spacing, word_spacing]])[0] score5+=0.2*clf5.predict([[slant_angle, top_margin]])[0] score6+=0.2*clf6.predict([[letter_size, line_spacing]])[0] score7+=0.2*clf7.predict([[letter_size, word_spacing]])[0] score8+=0.2*clf8.predict([[line_spacing, word_spacing]])[0] score_hand=[str(round(score1,2)),str(round(score2,2)),str(round(score3,2)),str(round(score4,2)),str(round(score5,2)),str(round(score6,2)),str(round(score7,2)),str(round(score8,2))] max1=0 max2=0 i1=0 i2=0 print(score_hand) for i in range(8): if float(score_hand[i]) > max1: max1 = float(score_hand[i]) i1=i if float(score_hand[i]) > max2 and float(score_hand[i]) <= max1 and i!=i1: max2 = float(score_hand[i]) i2=i array=['emotional stability','mental energy or will power','modesty','personal harmony and flexibility','lack of discipline','poor concentration','non communicativeness','social isolation'] final_score=[fuzzy(scoring(score_hand),score,y),array[i1],max1,array[i2],max2] return render_template('result.html', result=final_score)
def predict_all(file_name): result = {} X_baseline_angle = [] X_top_margin = [] X_letter_size = [] X_line_spacing = [] X_word_spacing = [] X_pen_pressure = [] X_slant_angle = [] y_t1 = [] y_t2 = [] y_t3 = [] y_t4 = [] y_t5 = [] y_t6 = [] y_t7 = [] y_t8 = [] page_ids = [] if os.path.isfile("label_list"): print(("Info: label_list found.")) # ================================================================= with open('label_list', "r") as labels: for line in labels: content = line.split() baseline_angle = float(content[0]) X_baseline_angle.append(baseline_angle) top_margin = float(content[1]) X_top_margin.append(top_margin) letter_size = float(content[2]) X_letter_size.append(letter_size) line_spacing = float(content[3]) X_line_spacing.append(line_spacing) word_spacing = float(content[4]) X_word_spacing.append(word_spacing) pen_pressure = float(content[5]) X_pen_pressure.append(pen_pressure) slant_angle = float(content[6]) X_slant_angle.append(slant_angle) trait_1 = float(content[7]) y_t1.append(trait_1) trait_2 = float(content[8]) y_t2.append(trait_2) trait_3 = float(content[9]) y_t3.append(trait_3) trait_4 = float(content[10]) y_t4.append(trait_4) trait_5 = float(content[11]) y_t5.append(trait_5) trait_6 = float(content[12]) y_t6.append(trait_6) trait_7 = float(content[13]) y_t7.append(trait_7) trait_8 = float(content[14]) y_t8.append(trait_8) page_id = content[15] page_ids.append(page_id) #=============================================================== # emotional stability X_t1 = [] for a, b in itertools.zip_longest(X_baseline_angle, X_slant_angle): X_t1.append([a, b]) # mental energy or will power X_t2 = [] for a, b in itertools.zip_longest(X_letter_size, X_pen_pressure): X_t2.append([a, b]) # modesty X_t3 = [] for a, b in itertools.zip_longest(X_letter_size, X_top_margin): X_t3.append([a, b]) # personal harmony and flexibility X_t4 = [] for a, b in itertools.zip_longest(X_line_spacing, X_word_spacing): X_t4.append([a, b]) # lack of discipline X_t5 = [] for a, b in itertools.zip_longest(X_slant_angle, X_top_margin): X_t5.append([a, b]) # poor concentration X_t6 = [] for a, b in itertools.zip_longest(X_letter_size, X_line_spacing): X_t6.append([a, b]) # non communicativeness X_t7 = [] for a, b in itertools.zip_longest(X_letter_size, X_word_spacing): X_t7.append([a, b]) # social isolation X_t8 = [] for a, b in itertools.zip_longest(X_line_spacing, X_word_spacing): X_t8.append([a, b]) #print(X_t1) #print(type(X_t1)) #print(len(X_t1)) X_train, X_test, y_train, y_test = train_test_split(X_t1, y_t1, test_size=.30, random_state=8) clf1 = SVC(kernel='rbf') clf1.fit(X_train, y_train) print("Classifier 1 accuracy: ", accuracy_score(clf1.predict(X_test), y_test)) X_train, X_test, y_train, y_test = train_test_split(X_t2, y_t2, test_size=.30, random_state=16) clf2 = SVC(kernel='rbf') clf2.fit(X_train, y_train) print("Classifier 2 accuracy: ", accuracy_score(clf2.predict(X_test), y_test)) X_train, X_test, y_train, y_test = train_test_split(X_t3, y_t3, test_size=.30, random_state=32) clf3 = SVC(kernel='rbf') clf3.fit(X_train, y_train) print("Classifier 3 accuracy: ", accuracy_score(clf3.predict(X_test), y_test)) X_train, X_test, y_train, y_test = train_test_split(X_t4, y_t4, test_size=.30, random_state=64) clf4 = SVC(kernel='rbf') clf4.fit(X_train, y_train) print("Classifier 4 accuracy: ", accuracy_score(clf4.predict(X_test), y_test)) X_train, X_test, y_train, y_test = train_test_split(X_t5, y_t5, test_size=.30, random_state=42) clf5 = SVC(kernel='rbf') clf5.fit(X_train, y_train) print("Classifier 5 accuracy: ", accuracy_score(clf5.predict(X_test), y_test)) X_train, X_test, y_train, y_test = train_test_split(X_t6, y_t6, test_size=.30, random_state=52) clf6 = SVC(kernel='rbf') clf6.fit(X_train, y_train) print("Classifier 6 accuracy: ", accuracy_score(clf6.predict(X_test), y_test)) X_train, X_test, y_train, y_test = train_test_split(X_t7, y_t7, test_size=.30, random_state=21) clf7 = SVC(kernel='rbf') clf7.fit(X_train, y_train) print("Classifier 7 accuracy: ", accuracy_score(clf7.predict(X_test), y_test)) X_train, X_test, y_train, y_test = train_test_split(X_t8, y_t8, test_size=.30, random_state=73) clf8 = SVC(kernel='rbf') clf8.fit(X_train, y_train) print("Classifier 8 accuracy: ", accuracy_score(clf8.predict(X_test), y_test)) #================================================================================================ raw_features = extract.start(file_name) raw_baseline_angle = raw_features[0] baseline_angle, comment = categorize.determine_baseline_angle( raw_baseline_angle) result["Baseline Angle"] = comment raw_top_margin = raw_features[1] top_margin, comment = categorize.determine_top_margin(raw_top_margin) result["Top Margin"] = comment raw_letter_size = raw_features[2] letter_size, comment = categorize.determine_letter_size(raw_letter_size) result["Letter Size"] = comment raw_line_spacing = raw_features[3] line_spacing, comment = categorize.determine_line_spacing(raw_line_spacing) result["Line Spacing"] = comment raw_word_spacing = raw_features[4] word_spacing, comment = categorize.determine_word_spacing(raw_word_spacing) result["Word Spacing"] = comment raw_pen_pressure = raw_features[5] pen_pressure, comment = categorize.determine_pen_pressure(raw_pen_pressure) result["Pen Pressure"] = comment raw_slant_angle = raw_features[6] slant_angle, comment = categorize.determine_slant_angle(raw_slant_angle) result["Slant"] = comment result["Emotional Stability"] = clf1.predict( [[baseline_angle, slant_angle]]) result["Mental Energy or Will Power"] = clf2.predict( [[letter_size, pen_pressure]]) result["Modesty"] = clf3.predict([[letter_size, top_margin]]) result["Personal Harmony and Flexibility"] = clf4.predict( [[line_spacing, word_spacing]]) result["Lack of Discipline"] = clf5.predict([[slant_angle, top_margin]]) result["Poor Concentration"] = clf6.predict([[letter_size, line_spacing]]) result["Non Communicativeness"] = clf7.predict( [[letter_size, word_spacing]]) result["Social Isolation"] = clf8.predict([[line_spacing, word_spacing]]) return result
def identifyPersonalityTraits(file_name_orig): clf_emotional_stability = load('knowme_EmotionalSt.joblib') clf_knowme_MentalE_WlPower = load('knowme_MentalE_WlPower.joblib') clf_knowme_Modesty = load('knowme_Modesty.joblib') clf_lackOfDiscipline = load('lackOfDiscipline.joblib') clf_PoorConcentration = load('PoorConcentration.joblib') clf_SocialIsolation = load('SocialIsolation.joblib') # file_name_orig ="Michael_HW.png" # crop(file_name_orig) file_name = resize(file_name_orig) raw_features = extract.start(file_name) raw_baseline_angle = raw_features[0] baseline_angle, comment = categorize.determine_baseline_angle( raw_baseline_angle) print("Baseline Angle: " + comment) raw_top_margin = raw_features[1] top_margin, comment = categorize.determine_top_margin(raw_top_margin) print("Top Margin: " + comment) raw_letter_size = raw_features[2] letter_size, comment = categorize.determine_letter_size(raw_letter_size) print("Letter Size: " + comment) raw_line_spacing = raw_features[3] line_spacing, comment = categorize.determine_line_spacing(raw_line_spacing) print("Line Spacing: " + comment) raw_word_spacing = raw_features[4] word_spacing, comment = categorize.determine_word_spacing(raw_word_spacing) print("Word Spacing: " + comment) raw_pen_pressure = raw_features[5] pen_pressure, comment = categorize.determine_pen_pressure(raw_pen_pressure) print("Pen Pressure: " + comment) raw_slant_angle = raw_features[6] slant_angle, comment = categorize.determine_slant_angle(raw_slant_angle) print("Slant: " + comment) emotional_stability = clf_emotional_stability.predict( [[baseline_angle, slant_angle]]) MentalE_WlPower = clf_knowme_MentalE_WlPower.predict( [[letter_size, pen_pressure]]) Modesty = clf_knowme_Modesty.predict([[letter_size, top_margin]]) Discipline = clf_lackOfDiscipline.predict([[slant_angle, top_margin]]) Concentration = clf_PoorConcentration.predict([[letter_size, line_spacing]]) SocialIsolation = clf_SocialIsolation.predict( [[line_spacing, word_spacing]]) if (emotional_stability[0] == 1): emotional_stability = "Stable" else: emotional_stability = "Not Stable" if (MentalE_WlPower[0] == 1): MentalE_WlPower = "High or Average" else: MentalE_WlPower = "Low" if (Modesty[0] == 1): modesty = "Observed" else: modesty = "Not Observed" if (Concentration[0] == 1): concentration = "Observed" else: concentration = "Not Observed" if (Discipline[0] == 1): discipline = "Observed" else: discipline = "Not Observed" if (SocialIsolation[0] == 1): SocialIsolation = "Observed" else: SocialIsolation = "Not Observed" personality_Trait_dict = { "Emotional_Stability": emotional_stability, "Mental_Power": MentalE_WlPower, "Modesty": modesty, "Discipline": discipline, "Concentration": concentration, "Social_Isolation": SocialIsolation } print(personality_Trait_dict) return personality_Trait_dict
def predict(fname): X_baseline_angle = [] X_top_margin = [] X_letter_size = [] X_line_spacing = [] X_word_spacing = [] X_pen_pressure = [] X_slant_angle = [] y_t1 = [] y_t2 = [] y_t3 = [] y_t4 = [] y_t5 = [] y_t6 = [] y_t7 = [] y_t8 = [] page_ids = [] if os.path.isfile("prediction\label_list"): print("Info: label_list found.") #================================================================= with open("prediction\label_list", "r") as labels: for line in labels: content = line.split() baseline_angle = float(content[0]) X_baseline_angle.append(baseline_angle) top_margin = float(content[1]) X_top_margin.append(top_margin) letter_size = float(content[2]) X_letter_size.append(letter_size) line_spacing = float(content[3]) X_line_spacing.append(line_spacing) word_spacing = float(content[4]) X_word_spacing.append(word_spacing) pen_pressure = float(content[5]) X_pen_pressure.append(pen_pressure) slant_angle = float(content[6]) X_slant_angle.append(slant_angle) trait_1 = float(content[7]) y_t1.append(trait_1) trait_2 = float(content[8]) y_t2.append(trait_2) trait_3 = float(content[9]) y_t3.append(trait_3) trait_4 = float(content[10]) y_t4.append(trait_4) trait_5 = float(content[11]) y_t5.append(trait_5) trait_6 = float(content[12]) y_t6.append(trait_6) trait_7 = float(content[13]) y_t7.append(trait_7) trait_8 = float(content[14]) y_t8.append(trait_8) page_id = content[15] page_ids.append(page_id) #=============================================================== # emotional stability X_t1 = [] for a, b in itertools.izip(X_baseline_angle, X_slant_angle): X_t1.append([a, b]) # mental energy or will power X_t2 = [] for a, b in itertools.izip(X_letter_size, X_pen_pressure): X_t2.append([a, b]) # modesty X_t3 = [] for a, b in itertools.izip(X_letter_size, X_top_margin): X_t3.append([a, b]) # personal harmony and flexibility X_t4 = [] for a, b in itertools.izip(X_line_spacing, X_word_spacing): X_t4.append([a, b]) # lack of discipline X_t5 = [] for a, b in itertools.izip(X_slant_angle, X_top_margin): X_t5.append([a, b]) # poor concentration X_t6 = [] for a, b in itertools.izip(X_letter_size, X_line_spacing): X_t6.append([a, b]) # non communicativeness X_t7 = [] for a, b in itertools.izip(X_letter_size, X_word_spacing): X_t7.append([a, b]) # social isolation X_t8 = [] for a, b in itertools.izip(X_line_spacing, X_word_spacing): X_t8.append([a, b]) #print X_t1 #print type(X_t1) #print len(X_t1) X_train, X_test, y_train, y_test = train_test_split(X_t1, y_t1, test_size=.30, random_state=8) clf1 = SVC(kernel='rbf') clf1.fit(X_train, y_train) print "Classifier 1 accuracy: ", accuracy_score( clf1.predict(X_test), y_test) X_train, X_test, y_train, y_test = train_test_split(X_t2, y_t2, test_size=.30, random_state=16) clf2 = SVC(kernel='rbf') clf2.fit(X_train, y_train) print "Classifier 2 accuracy: ", accuracy_score( clf2.predict(X_test), y_test) X_train, X_test, y_train, y_test = train_test_split(X_t3, y_t3, test_size=.30, random_state=32) clf3 = SVC(kernel='rbf') clf3.fit(X_train, y_train) print "Classifier 3 accuracy: ", accuracy_score( clf3.predict(X_test), y_test) X_train, X_test, y_train, y_test = train_test_split(X_t4, y_t4, test_size=.30, random_state=64) clf4 = SVC(kernel='rbf') clf4.fit(X_train, y_train) print "Classifier 4 accuracy: ", accuracy_score( clf4.predict(X_test), y_test) X_train, X_test, y_train, y_test = train_test_split(X_t5, y_t5, test_size=.30, random_state=42) clf5 = SVC(kernel='rbf') clf5.fit(X_train, y_train) print "Classifier 5 accuracy: ", accuracy_score( clf5.predict(X_test), y_test) X_train, X_test, y_train, y_test = train_test_split(X_t6, y_t6, test_size=.30, random_state=52) clf6 = SVC(kernel='rbf') clf6.fit(X_train, y_train) print "Classifier 6 accuracy: ", accuracy_score( clf6.predict(X_test), y_test) X_train, X_test, y_train, y_test = train_test_split(X_t7, y_t7, test_size=.30, random_state=21) clf7 = SVC(kernel='rbf') clf7.fit(X_train, y_train) print "Classifier 7 accuracy: ", accuracy_score( clf7.predict(X_test), y_test) X_train, X_test, y_train, y_test = train_test_split(X_t8, y_t8, test_size=.30, random_state=73) clf8 = SVC(kernel='rbf') clf8.fit(X_train, y_train) print "Classifier 8 accuracy: ", accuracy_score( clf8.predict(X_test), y_test) #================================================================================================ while True: #file_name = raw_input("Enter file name to predict or z to exit: ") #if file_name == 'z': # break raw_features = extract.start(fname) comm = {} raw_baseline_angle = raw_features[0] baseline_angle, comment = categorize.determine_baseline_angle( raw_baseline_angle) print "Baseline Angle: " + comment comm["Baseline_Angle"] = comment raw_top_margin = raw_features[1] top_margin, comment = categorize.determine_top_margin( raw_top_margin) print "Top Margin: " + comment comm["Top_margin"] = comment raw_letter_size = raw_features[2] letter_size, comment = categorize.determine_letter_size( raw_letter_size) print "Letter Size: " + comment comm["Letter_Size"] = comment raw_line_spacing = raw_features[3] line_spacing, comment = categorize.determine_line_spacing( raw_line_spacing) print "Line Spacing: " + comment comm["Line_Spacing"] = comment raw_word_spacing = raw_features[4] word_spacing, comment = categorize.determine_word_spacing( raw_word_spacing) print "Word Spacing: " + comment comm["Word_Spacing"] = comment raw_pen_pressure = raw_features[5] pen_pressure, comment = categorize.determine_pen_pressure( raw_pen_pressure) print "Pen Pressure: " + comment comm["Pen_Pressure"] = comment raw_slant_angle = raw_features[6] slant_angle, comment = categorize.determine_slant_angle( raw_slant_angle) print "Slant: " + comment comm["Slant"] = comment Emotional_stability = clf1.predict([[baseline_angle, slant_angle]])[0] comm["Emotional_Stability"] = Emotional_stability Mental_energy = clf2.predict([[letter_size, pen_pressure]])[0] comm["Mental_Energy_or_Will_power"] = Mental_energy Modesty = clf3.predict([[letter_size, top_margin]])[0] comm["Modesty"] = Modesty Harmony = clf3.predict([[letter_size, top_margin]])[0] comm["Personal_Harmony_or_Will_Power"] = Harmony lack_discipline = clf5.predict([[slant_angle, top_margin]])[0] comm["Lack_of_Discipline"] = lack_discipline poor_concentration = clf6.predict([[letter_size, line_spacing]])[0] comm["Poor_Concentration"] = poor_concentration Non_communicativeness = clf7.predict([[letter_size, word_spacing]])[0] comm["Non_Communicativeness"] = Non_communicativeness Social_isolation = clf8.predict([[line_spacing, word_spacing]])[0] comm["Social_Isolation"] = Social_isolation print print "Emotional Stability: ", Emotional_stability print "Mental Energy or Will Power: ", Mental_energy print "Modesty: ", Modesty print "Personal Harmony and Flexibility: ", Harmony print "Lack of Discipline: ", lack_discipline print "Poor Concentration: ", poor_concentration print "Non Communicativeness: ", Non_communicativeness print "Social Isolation: ", Social_isolation print "---------------------------------------------------" print break #================================================================================================= else: print("Error: label_list file not found.") return comm