Skilja mellan gång och löpning använder maskininlärning (9 / 11 steg)
Steg 9: Utveckla algoritm (del 2): tillämpa logistisk regression
Som jag redan har nämnt, är ML (maskininlärning) ett slags mönster erkännande sak. Det avskiljer 2 eller många grupper beroende på deras egenskaper. Till exempel om jag har massa hopkopplade siffror {(1,4),(6,3),(5,2)... (X, Y)}, jag vill separera dem i två grupper, som innehåller par som har antal summan mindre då 6 och andra gruppen innehåller resten. En enkel linje med ekvationen X + Y < 6 kommer att göra vårt jobb.
I vårt fall X och Y kommer att vara dominerande frekvens och absolut topp medelvärden. I skriptet visualisera, som jag har bifogat i föregående steg, förutom bara Visualisera data, hjälper det att computing dessa två parametrar också.
Dominerande frekvens beräknas med hjälp av FFT-algoritm. (https://en.wikipedia.org/wiki/Fast_Fourier_transfo...)
Du kommer få resultat för dominerande frekvens och genomsnittliga absoluta toppvärden på visualisera skriptet körs. Kopiera dem och klistra in i en textfil, i följande format.
Dominant_frequency_1, average_absolute_peak_values_1, 0/1...
0/1 på plats efter andra kommatecken berättar metoden logistisk regression om egenskaperna är av går data eller springer data. 1 för promenader och 0 för löpning.
titta på exempelfilen som jag har bifogat för korrekt formatering.
Vad logistisk regression gör är att, den försöker skilja ut denna gång och löpning data med hjälp av en rak linje. Visas i bild. Hur det vet att denna linje kommer att skilja dessa två uppgifter som?. Här hoppar i den matematik. Det är lite svårt att förklara det skriftligen, men jag bifoga en video tutorial på logistisk regression av Andrew Ng, som är expert på detta område.
I nästa steg kommer jag att tala om skript, som du kan använda på dina egna data, för att få den algoritm som är ingenting annat än en rak linje mellan dessa 2 uppsättningar.