accord-net / framework

Machine learning, computer vision, statistics and general scientific computing for .NET
http://accord-framework.net
GNU Lesser General Public License v2.1
4.48k stars 1.99k forks source link

Machine learning used for tests result analysis #1042

Open OdynPL opened 6 years ago

OdynPL commented 6 years ago

What would you like to submit? (put an 'x' inside the bracket that applies)

Issue description

Good Morning

I found Your fancy Accord .NET library for .NET and I would like to use them.

Is there any way to use Accord for tests results analysis? Or to prediction what kind of tests can be used based on provided data?

Kind Regards Adam

cesarsouza commented 6 years ago

Hi @OdynPL,

Thanks for opening the issue! Do you mean hypothesis tests? The framework offers a variety of hypothesis tests, but it cannot (at least not currently) tell you which test to use on every particular situation. For the moment, you need to know which one you would like to use beforehand, then choose it from the lists of available tests.

Do you know of any software package that can do that so I can read more about it?

Regards, Cesar

OdynPL commented 6 years ago

Hey. Thank You for reply.

Well I try to go into details.

I would like to use Your Accord. NET libarer for creation small console application which will query the REST API of some application and use database data as pattern (maybe data for tests)

I would like to perform API testing. By telling testing I would like to query API and based for example of query result, I would like to choose data from database.

Is there any way to use machine learning of that? For indicating which data for tests can be used? Or maybe for nalaysing tests results?

By tests results I mean the REST API response which I capture from API by console app.


For example inside my database I would have some strings:

Strings Collection {"Adam", "Michał", "Agnieszka", "John"} etc

And I would query the REST API using this data for example by POST methood.

I will send HTTP POST www.url.com/humans/{querystring}

And is there way that machine learning can learn which string for example is the best for quering this API?


I know that its maybe to abstract and general but I would like to start from something. Which class should be used, which alrgorithms etc

I would be glad for any help Adam

cesarsouza commented 6 years ago

Hi Adam,

Sorry for the late reply, and also sorry if I will not able to give a more concrete answer below. In my understanding, the first step to solve a problem with machine learning is to check which are the current tools available and what they can do (i.e. classifiers, regressors, clusterings) and then try to come up with a way to frame your problem in a way that they could be solved by one of those tools. This is like, solving 90% of the problem in most cases.

I guess that a good start would also be to collect data for the problem you have. If you have examples of data values and a measure of what constitutes a "good" test versus a "bad" test, then the first step would be to create a database of "good queries" (from a testing perspective, meaning they will help you detect issues and solve bugs) from "bad queries" (which are useless).

For instance, if you manage to express this dataset as a collection of input values that should lead to some particular output (discrete) values, then you would have transformed your problem into a classification problem, and the first step in trying to solve it would be to learn an SVM to do that. The SVM is one of the simplest, yet most applicable/useful algorithms you could use as a first try in this case.

Regards, Cesar

OdynPL commented 6 years ago

Thank You for Your reply.

I will answer You more precise when I will back home :)

OdynPL commented 6 years ago

I think that my problem is related to classification and also making decisions.

I would have SQL database which will contains some patterns (data) which will be good and bad query strings passed into my small console C# application using HttpRequest

I will query my REST API using the data from SQL database. I think that I can have two tables with good and bad patterns. This patterns will be pulled and merged with query string.

I would make a decisions using machine learning. But I am not sure which algorithm should be used to make decisions which data from SQL database may be used?