2
$\begingroup$

With a team of researchers we were given the assignment to make a scale for the move kindness (how inviting a room or place is for exercise--e.g., a gym). In order to get objective results we were asked to make a measurement device. This device receives input through various sensors and maybe some true/false questions, and then analyze it with training information in mind. After the analysis it returns a number from, say: 1 to 10, indicating the move kindness. So a gym gets, for example an eight and a classroom a three. The problem with this is, that move kindness is very subjective, so we have conducted some surveys. For example one of the criteria is the temperature of the room/place. While the survey was being conducted we measured the temperature:

From a scale from 1 to 10, what is your opinion about the temperature?

And then we measured the temperature. We have put all these information into some spreadsheets:

Rating (Move Kindness): 8
Temperature: 18 degrees Celsius

At the end of this survey we asked them to give the move kindness a rating. So we have this, for example:
Temperature: 8, 18
Light: 7, 300
Humidity: 8, 50
....
Rating (Move Kindness): 8

So my question is, what's the best way to analyse these data for a reliable measurement device using python? We were thinking of using neural networks, because they can be trained, but logistic regression or some other machine learning algorithm is also an option. Can anyone give me some direction on this?

$\endgroup$
  • $\begingroup$ Do you want your model to be interpretable? Or is that not a strict constraint? $\endgroup$ – Armen Aghajanyan Dec 16 '15 at 17:13
  • $\begingroup$ Can you clarify that? The purpose is that it can be used to measure other places. $\endgroup$ – Lucas Crijns Dec 16 '15 at 17:16
  • $\begingroup$ Yes, but do you want to be able to understand why the model is making the decisions that it is making? Essentially do you need a white-box model? Or does it not matter? $\endgroup$ – Armen Aghajanyan Dec 16 '15 at 17:19
  • $\begingroup$ It doesn't matter. Black box is alright. $\endgroup$ – Lucas Crijns Dec 16 '15 at 17:20
1
$\begingroup$

Okay, so from what I understand, you have a regression problem taking into account a variety of physical features. The reason I say that this is a regression problem, verses a classification problem is because the scale you are trying to predict is an ordinal scale.

There are a couple approaches to this. If your features are discriminative and linear enough, a simple least squares linear regression might work. If you believe the problem you have is to complicated for linear regressions, a simple vanilla neural network with one single output. I would recommend using the scikit-learn library in python for all models that are not neural networks. Here is a link to the generalized linear regression page:
http://scikit-learn.org/stable/modules/linear_model.html
That link has code samples and mathematical explanations. If you decide to use neural networks, and you don't have a great amount of samples or a need to use the GPU, the pyBrain library is great. http://pybrain.org/

I wouldn't recommend using a logistic regression (since you mentioned it in your question), simply because a logistic regression is a classification problem, and I believe you would be better off approaching this from a regression standpoint.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.