I like to developed an expert system for diagnosis malaria for rural people. I need advise on this topic,mainly ,about the what Language or Software(Like CLISP) will be good for developing an expert system.
Traditionally Common LISP was used but while LISP is a great set of languages I think you should consider whether you want to use an expert systems approach or a machine learning approach. From my understanding, this largely depends on the amount of data you have and the dimensionality. If you don't have much data and have few features an expert system may be best as humans would have a better idea of diagnosis than algorithmic data analysis. If you're dealing with data which has many features and but few data points you should take a machine learning approach, SVMs are great for binary decisions, but you can also use things like k-means clustering, principal components analysis, self organizing maps, etc. If you have a lot of data and few features I would say you could go either way.
For machine learning I would recommend R, perl, or MATLAB. For an expert system I would recommend a logic language such as Prolog if you want something most catered to your needs, C if you want something fast, or Python if you want something accessible and easy to write.
EDIT: I just realized I probably should have noted I have personally written an inference engine in Common LISP, but there are a lot of intricacies to LISP and unless you want to learn emacs or shell out some money, no good environments to develop in.
Traditionally Common LISP was used but while LISP is a great set of languages I think you should consider whether you want to use an expert systems approach or a machine learning approach. From my understanding, this largely depends on the amount of data you have and the dimensionality. If you don't have much data and have few features an expert system may be best as humans would have a better idea of diagnosis than algorithmic data analysis. If you're dealing with data which has many features and but few data points you should take a machine learning approach, SVMs are great for binary decisions, but you can also use things like k-means clustering, principal components analysis, self organizing maps, etc. If you have a lot of data and few features I would say you could go either way.
For machine learning I would recommend R, perl, or MATLAB. For an expert system I would recommend a logic language such as Prolog if you want something most catered to your needs, C if you want something fast, or Python if you want something accessible and easy to write.
EDIT: I just realized I probably should have noted I have personally written an inference engine in Common LISP, but there are a lot of intricacies to LISP and unless you want to learn emacs or shell out some money, no good environments to develop in.
I use matlab. many methods in machine learning exist. It depends on how much you know about classifier design. If you need help you can try www.cyber-kw.com they could do it for you free
I would like to propose a practical approach to you.
To make your project easy to initiate and manage, II suggest that you find first an Expert System Shell (ESS). There are many of them available on the Web.
Then, you will have to collect information about the subject (malaria), extract the facts , express the rules of this domain (rules or frames, depending of the nature of the ESS) to populate the knowledge base of the system.
This is what is called knowledge engineering. That is to say you need to play the role of a knowledge engineer. You need not be an engineer, just know how to ask questions to experts and extract their way of reasoning about the subject. Then, comes the knowledge elicitation phase where you need to clarify the facts and improve on the rules (or frames).
Start with a simple and naive prototype such as a tool that helps deduct facts and answer simple questions (Socrates is man, Every man is mortal, Then Socrates is ....) And as your knowledge base grows, so does your system and its usefulness.
You can try R or F# from Microsoft. There are a lot of code to develop, but you can do it. If you want to check traditional way, then LISP or CLIPS can be a good choice. If you need documentation, let me know
I totally agree with Mamadou Kone. It would be more practical to use an existing Expert System Shell (Aka. Inference Engine or Rule Engine) than to try to re-code the wheel. I have personally used Jess:
whether it is possible to develope a rule based expert system of student's data base of their marks in each subjects.. I mean whether any data classification is possible..??
Specify your goal, design the facts and rules sets, Identify the knowledge base architecture , write logic programs using a logic programming language such as Prolog. do the implementation.