def exp11(): """ Show correlation for each feature """ poems = getPoemModel().poems scores = {} scores["affect"] = getAffectRatios() scores["cLength"] = getLogAverageCommentLength() scores["rating"] = getPoemScores() scores["typeToken"] = getCommentTypeTokenRatio(100) scores["numC"] = getNumberOfComments(True) # use log result = {} for k1, v1 in scores.items(): for feature in poems.values()[0].keys(): cor, p = getCorrelation(poems, v1, feature) if result.get(feature, None) is None: result[feature] = {k1: (cor, p)} else: result[feature][k1] = (cor, p) for k1 in sorted(result.keys(), key=lambda x: result[x]["affect"][1]): # sort by affect print "\\\\", k1, "& %0.2f & %0.4f" % result[k1]["affect"], "& %0.2f & %0.4f" % result[k1][ "typeToken" ], "& %0.2f & %0.4f" % result[k1]["cLength"], "& %0.2f & %0.4f" % result[k1][ "rating" ], "& %0.2f & %0.4f" % result[ k1 ][ "numC" ]
def exp06(): """ Can we predict the log of the number of responses? Not much better. """ m = getPoemModel() poems = m.poems scores = getNumberOfComments(True) # use log makePlots(poems, scores, "log of number of comments", "../experiments/exp06.pdf") runPredictCV(poems, scores, DEFAULT_FEATURE_LIST)
def exp05(): """ Can we predict the number of responses? Not so well. """ m = getPoemModel() poems = m.poems scores = getNumberOfComments() makePlots(poems, scores, "number of comments", "../experiments/exp05.pdf") runPredictCV(poems, scores, DEFAULT_FEATURE_LIST)