5 Stimmen

Wie kann dieser Algorithmus verbessert werden?

R Version 2.11.1 32-bit auf Windows 7

Ich erhalte die Daten train.txt wie unten dargestellt:

USER_A USER_B ACTION
1        7      0
1        8      1
2        6      2
2        7      1
3        8      2

Und ich gehe mit den Daten nach dem unten stehenden Algorithmus um:

train_data=read.table("train.txt",header=T)
result=matrix(0,length(unique(train_data$USER_B)),2)
result[,1]=unique(train_data$USER_B)
for(i in 1:dim(result)[1])
{
    temp=train_data[train_data$USER_B%in%result[i,1],]
    result[i,2]=sum(temp[,3])/dim(temp)[1]
}

Das Ergebnis ist die Punktzahl für jeden BENUTZER_B in train_data. Die Punktzahl ist definiert als:

Punktzahl von BENUTZER_B=(die Summe aller AKTIONEN von BENUTZER_B)/(die empfohlenen Zeiten von BENUTZER_B)

aber die train_data ist sehr groß, es kann mich drei Tage dauern, um dieses Programm zu beenden, so dass ich hierher kommen, um um Hilfe zu bitten, könnte dieser Algorithmus verbessert werden?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X