Video: Wat Zijn Voorspellende Dromen!? 2024
U wilt een voorspellend analysemodel maken dat u kunt evalueren met behulp van bekende resultaten. Om dat te doen, gaan we onze dataset opsplitsen in twee sets: een voor het trainen van het model en een voor het testen van het model. Een verdeling van 70/30 tussen gegevensreeksen voor training en testen is voldoende. De volgende twee coderegels berekenen en bewaren de groottes van elke set: >> trainSize testSize <- nrow (autos) - trainSize
Typ de naam van de variabele die is gebruikt om de waarde op te slaan en de waarden uit te voeren druk op Enter. Dit is de uitvoer:
Als u de gegevens bekijkt, kunt u zien dat de meeste zware, achtcilinder, grotere verplaatsingen en grotere pk-auto's zich bovenaan de dataset bevinden. Op basis van deze waarneming, zonder dat u algoritmen op de gegevens hoeft te draaien, kunt u al (in het algemeen voor deze dataset) oudere auto's als volgt in vergelijking met nieuwere auto's onderscheiden:
Zijn zwaarderhebben acht cilinders
-
grotere verplaatsing
-
-
Heb grotere pk
Oké, natuurlijk weten veel mensen iets over auto's, dus een schatting van wat de correlaties zijn, zal niet al te vergezocht zijn nadat je de gegevens hebt gezien. Iemand met veel kennis van de auto heeft dit misschien al geweten, zelfs zonder naar de gegevens te kijken. -
Dit is slechts een eenvoudig voorbeeld van een domein (auto's) waar veel mensen zich mee kunnen identificeren. Als dit echter gegevens over kanker waren, zouden de meeste mensen niet meteen begrijpen wat elke eigenschap betekent.
Dit is waar een domeinexpert en een gegevensmodelmaker van vitaal belang zijn voor het modelleringsproces. Domeinexperts hebben mogelijk de beste kennis van welke attributen het meest (of minst) belangrijk zijn - en hoe attributen met elkaar correleren.
Ze kunnen aan de gegevensmodelmaker voorstellen met welke variabelen ze moet experimenteren. Ze kunnen grotere gewichten geven aan belangrijkere attributen en / of kleinere gewichten aan attributen van het minste belang (of ze helemaal verwijderen).
Dus je moet een trainingsgegevensset en een testgegevensset maken die echt representatief zijn voor de hele set. Een manier om dit te doen is om de trainingsset te maken op basis van een willekeurige selectie van de volledige gegevensset.Bovendien wilt u deze test reproduceerbaar maken, zodat u van hetzelfde voorbeeld kunt leren.
Stel dus het zaad voor de willekeurige generator in, zodat we dezelfde "willekeurige" trainingsset hebben. De volgende code doet die taak: >> instellen. seed (123)> trainings_indices <- sample (seq_len (nrow (autos)), size = trainSize)> trainSet testSet <- autos [-training_indices,]
De trainingsset bevat 279 waarnemingen, samen met de uitkomst (mpg) van elke waarneming. Het regressie-algoritme gebruikt de uitkomst om het model te trainen door te kijken naar de relaties tussen de voorspellingsvariabelen (een van de zeven kenmerken) en de responsvariabele (mpg).
De testset bevat de rest van de gegevens (dat is het gedeelte dat niet is opgenomen in de trainingsset). U zou moeten opmerken dat de testset ook de variabele respons (mpg) omvat.Wanneer u de voorspelfunctie (van het model) met de testset gebruikt, negeert deze de reactievariabele en gebruikt alleen de voorspellingsvariabelen zolang de kolomnamen dezelfde zijn als die in de trainingsset.
Om een lineair regressiemodel te maken dat het mpg-kenmerk gebruikt als de reactievariabele en alle andere variabelen als voorspellingsvariabelen, typt u de volgende regel code in: >> model