def post_logfile(): if request.method == 'GET': log_file = request.args['symptom'] print(log_file) diseaseclassifier = Trainer(tokenizer) #STARTS CLASIFIERS with open("Dataset.csv", "r") as file: #OPENS DATASET for i in file: #FOR EACH LINE lines = file.next().split(",") #PARSE CSV <DISEASE> <SYMPTOM> diseaseclassifier.train(lines[1], lines[0]) #TRAINING diseaseclassifier = Classifier(diseaseclassifier.data, tokenizer) classification = diseaseclassifier.classify(log_file) #CLASIFY INPUT print classification return json.dumps(dict(classification))
def post_logfile(): if request.method == 'POST': log_file = request.args['symptom'] print(log_file) diseaseclassifier = Trainer(tokenizer) #STARTS CLASIFIERS with open("Dataset.csv", "r") as file: #OPENS DATASET for i in file: #FOR EACH LINE lines = file.next().split(",") #PARSE CSV <DISEASE> <SYMPTOM> diseaseclassifier.train(lines[1], lines[0]) #TRAINING diseaseclassifier = Classifier(diseaseclassifier.data, tokenizer) classification = diseaseclassifier.classify(log_file) #CLASIFY INPUT print classification result = [] for item in classification: obj = CustomType(item[0], item[1]) result.append(json.loads(obj.toJSON())) # return json.dumps(OrderedDict(classification)) return json.dumps(result, indent=4)
import json, os, sys, re from naiveBayesClassifier import tokenizer from naiveBayesClassifier.trainer import Trainer from naiveBayesClassifier.classifier import Classifier ##IMPORTS ''' Usage: python GuessDisease.py "symptomA symptomB symptomC" Example INPUT: python GuessDisease.py "agitation exhaustion vomit" Example OUTPUT: { "disease": "influenza" } ''' ##SETTING UP diseaseclassifier = Trainer(tokenizer) #STARTS CLASIFIERS with open("Dataset.csv", "r") as file: #OPENS DATASET for i in file: #FOR EACH LINE lines = file.next().split(",") #PARSE CSV <DISEASE> <SYMPTOM> diseaseclassifier.train(lines[1], lines[0]) #TRAINING diseaseclassifier = Classifier(diseaseclassifier.data, tokenizer) classification = diseaseclassifier.classify(sys.argv[1]) #CLASIFY INPUT print classification[0] #PRINT CLASIFICATION
['Cabbage Loopers', 'holes on leaves'], [ 'Cutworms', 'fat caterpillars, basically gray, brown, or black with 41 to 51 mm long when fully grown' ], ['Cutworms', 'damaged stem'], [ 'Bacterial Leaf Spot', 'small water-soaked spots on older leaves then quickly turn black' ], ['Bacterial Leaf Spot', 'holes on leaves'], ['Lettuce Drop', 'older leaves wilt'], ['Lettuce Drop', 'older leaves collapse'], ['Lettuce Drop', 'brown crown tissue'], ['Lettuce Drop', 'holes on leaves'], ['Anthracnose', 'water-soaked spots that turn yellow'], [ 'Anthracnose', 'white to pink spore masses of the fungus in the center of the lesions' ], ['Anthracnose', 'damaged leaf becomes papery'], ['Anthracnose', 'holes on leaves'], ['Tipburn', 'browing of leaf margins'], ['Tipburn', 'brown veins'] ] disease_classifier = Trainer(tokenizer) for data in dataset: disease_classifier.train(data[1], data[0]) disease_classifier = Classifier(disease_classifier.data, tokenizer) classifications = disease_classifier.classify(sys.argv[1]) classifications_list = [] for classification in classifications: classifications_list.append(classification[0]) print json.dumps({'classifications': classifications_list})
import json, os, sys, re from naiveBayesClassifier import tokenizer from naiveBayesClassifier.trainer import Trainer from naiveBayesClassifier.classifier import Classifier diseaseclassifier = Trainer(tokenizer) with open("Dataset.csv", "r") as file: for i in file: #FOR EACH LINE lines = file.readline().split(",") diseaseclassifier.train(lines[1], lines[0]) diseaseclassifier = Classifier(diseaseclassifier.data, tokenizer) txt = input("enter symptomA symptomB symptomC") classification = diseaseclassifier.classify(txt) print(classification[0])
print(user_input) if user_input: return user_input else: if unique_symptoms[1]: print("If you have any of these symptoms, enter as comma separated values") for i in unique_symptoms[1]: print(i) user_input = input() if user_input != '\n': return user_input return None while True: classification = diseaseclassifier.classify(','.join(initial_submitted_symptoms)) formatted_print(initial_submitted_symptoms, classification[:5]) other_possible_symptoms = [] for disease in classification[:5]: d = disease[0] other_possible_symptoms.append( [symptom for symptom in disease_symptom_dict[d] if symptom not in initial_submitted_symptoms]) unique_symptoms = get_unique_symptoms() next_input = ask_user_for_more_details(unique_symptoms) if not next_input or not unique_symptoms: break for symptom in next_input.split(','): initial_submitted_symptoms.append(symptom)
import json, os, sys, re from naiveBayesClassifier import tokenizer from naiveBayesClassifier.trainer import Trainer from naiveBayesClassifier.classifier import Classifier DiseaseClassifier = Trainer(tokenizer) with open("Dataset.csv", "r") as file: for i in file: lines = file.next().split(",") DiseaseClassifier.train(lines[1], lines[0]) DiseaseClassifier = Classifier(DiseaseClassifier.data, tokenizer) Classification = DiseaseClassifier.classify(sys.argv[1]) print Classification[0]