예제 #1
0
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))
예제 #2
0
파일: api.py 프로젝트: nevingv/ML-Python
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
예제 #4
0
    ['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])
예제 #6
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]