Setting up your data
- Efter man har cleanet ens data sæt, skal man splitte dataen til two segmenter -> Testing og Training
- Man skal ikke teste ens model med samme data som man bruger til training.
- Ratio 70/30 eller 80/20. Training data 80% og test data 20%
- Splitte dataen i rækker og ikke kolonner.
- Randomized ens Data således at man undgår bias i ens model.
- Scikit-learn tilbyder en build in fuction til at shuffle og randomize ens data men kun en linje kode
- Supervised learning -> feed modellen med training data og forventet output(y)
- Måle hvor god modellen performer -> Mean absolute error, som eksaminer hver forudsigelse i modellen og tilbyder en gennemsnitlig error score for hver forudsigelse.
Cross Validation
- Hvis ens eksisterende datasæt er for lille til at konstruere en korrekt model eller hvis træning/test partion af data ikke er relevant -> dårlig performance -> Brug cross validation
- Cross validation metoden -> splitter data i flere kombinationer og tester hver kombination
- Exhaustive cross validation -> finde og teste alle mulige kombinationer til at dele den orginale sample til trænings sæt og test sæt.
- Non exhaustive cross validation -> K-fold validation.
- splitte data til k assigned buckets og reservere en af disse buckets til test af trænings modelen hver runde.
- data bliver først tilfældigt tildelt et k number af equal sized buckets. En bucket er så reserveret som test bucked og bliver brugt til at måle og evaluere performance af de resterende k-1 buckets.
- Cross validation processen bliver gentaget k number af gange (folds).
- Hver fold -> bucket reserveret til test trænings model -> gentager indtil alle buckets kan både blive brugt til træning og test bucket.
- Resultatet bliver aggregeret og kombineret til at formulere en enkelt model
- Når man bruger alt data til både test og trænings formål, vil k-fold validation teknikken minimere potentiel fejl (som overfitting) fundet ved brug af fixed split af træning og test data
How much data do i need?
- Bedst når ens trænings datasæt inkludere en fuld række af feature kombinationer
- F.eks Datamatiker datasæt ->
- University Degree(X)
- 5+ years professional experience(X)
- Children(X)
- Salary(Y)
- Jo flere kombinationer jo bedre så f.eks hvis man skal finde løn til en Datamatiker, så skal man både have data omkring hvis de har børn og ikke har børn osv. Jo flere kombinationer desto bedre bliver modellen til at identificere hvilke attributter påvirker Y (salary).
- Model -> 10 gange flere data points som der er features
Kilder:
Machine Learning For Absolute Beginners