Video: Kenneth Cukier: Big data is better data 2024
Du vill skapa en prediktiv analysmodell som du kan utvärdera med hjälp av kända resultat. För att göra det ska vi dela upp datasetet i två uppsättningar: en för att träna modellen och en för att testa modellen. En 70/30 delning mellan träning och testning av datamängder är tillräcklig. De två följande koderna beräknar och lagrar storleken på varje uppsättning: >> trainSize testSize <- nrow (autos) - trainSize
För att mata ut värdena, skriv in namnet på variabeln som används för att lagra värdet och tryck enter. Här är utsignalen:
Från att undersöka data kan du se att de flesta av de tyngre, åttcylindriga, större förskjutning, högre hästkrafterna ligger högst upp på datasetet. Från denna observation, utan att behöva springa några algoritmer på data, kan du redan berätta för (i allmänhet för detta dataset) äldre bilar jämfört med nyare bilar enligt följande:
Är tyngreHar åtta cylindrar
-
Har större förskjutning
-
-
Har större hästkraft
Okej, många människor vet självklart någonting om bilar, så en gissning om vad korrelationerna är kommer inte att vara för långt efter att du ser data. Någon med mycket bilkunskap kan ha redan känt detta utan att ens titta på data. -
Detta är bara ett enkelt exempel på en domän (bilar) som många kan relatera till. Om detta var data om cancer, skulle de flesta inte omedelbart förstå vad varje attribut betyder.
Här är en domänexpert och en datamodeller avgörande för modelleringsprocessen. Domänexperter kan ha den bästa kunskapen om vilka attribut som kan vara mest (eller minst) viktiga - och hur attributen korrelerar med varandra.
De kan föreslå datormodellen vilka variabler som ska experimenteras med. De kan ge större vikter till mer viktiga attribut och / eller mindre vikter till attribut av minst betydelse (eller ta bort dem helt).
Så du måste göra en träningsdataset och en testdatasats som är verkligt representativ för hela uppsättningen. Ett sätt att göra det är att skapa träningssatsen från ett slumpmässigt urval av hela datasetet.Dessutom vill du göra detta test reproducerbart så att du kan lära av samma exempel.
Sätt sålunda fröet för slumpgeneratorn så att vi har samma "slumpmässiga" träningsuppsättning. Följande kod gör den här uppgiften: >> set. frö (123)> training_indices <- sample (seq_len (nrow (autos)), size = trainSize)> trainSet testSet <- autos [-training_indices,]
Träningsuppsättningen innehåller 279 observationer, tillsammans med resultatet (mpg) för varje observation. Regressionsalgoritmen använder resultatet för att träna modellen genom att titta på relationerna mellan prediktorvariablerna (någon av de sju attributen) och svarsvariabeln (mpg).
Testsatsen innehåller resten av data (det vill säga den del som inte ingår i träningssatsen). Du bör märka att testuppsättningen även innehåller variabeln (mpg).När du använder prediktionsfunktionen (från modellen) med testuppsättningen ignorerar du svarsvariabeln och använder endast prediktorvariablerna så länge kolumnnamnen är desamma som i träningsuppsättningen.
För att skapa en linjär regressionsmodell som använder mpg-attributet som svarsvariabel och alla andra variabler som prediktorvariabler, skriv följande kod: >> modell