Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια χαρά,

 

Πειραματίζομαι με το Weka αλλά σε κάποια datasets, απλά δε βγαίνει το κατάλληλο μοντέλο, ή μάλλον, ένα καλό μοντέλο.

Ποιά είναι τα καλύτερα φίλτρα για να φτιάξεις ένα καλό dataset πριν το πας για classification;Δοκίμασα normalisation,discretize και κάποιο για να πετάει έξω τους outliers, αλλά η βελτίωση είναι από ανύπαρκτη ως πολύ μικρή.

Επίσης ερώτηση: όλα τα datasets πρέπει να καταλήγουν σε κάποιο καλό μοντέλο με τον κατάλληλο classifier;

 

ΥΓ.Αν το θέμα δεν κολλά στον προγραμματισμό, ας μετακινηθεί.

Δημοσ.

 

Επίσης ερώτηση: όλα τα datasets πρέπει να καταλήγουν σε κάποιο καλό μοντέλο με τον κατάλληλο classifier;

 

 

 

 

Γενικότερα όχι, αλλά πριν αποφανθείς και πεις οτι δεν γίνεται καλό classification πρεπει να δοκιμάσεις αρκετά. Επίσης είναι απίθανο να έχουν όλοι οι classifiers που χρησιμοποιείς σχεδόν το ίδιο error.

 

Γενικά καλό είναι να μας πεις πόσα δεδομένα έχεις? πόσες κλάσεις? πως μετράς το error?

 

Για preprocessing δες αν έχει Principal Component Analysis (PCA) ή LDA. Γενικά τα features που έχουν τα δεδομένα τι είναι? 

Δημοσ.

Όλα τα attributes είναι numeric.Η κλάση είναι μία και είναι binomial.

Περίπου στα 1000 instances και αξιολογώ κοιτώντας τα f-measure και roc και λιγότερο το accuracy.

Δημοσ.

Οκ, μια χαρά γιατί δε κοιτάς το accuracy. Είναι σχεδόν μισά μισά οπότε δεν έχεις πρόβλημα. Τρέξε κάποιο svm με cross validation. τι classification rate έχεις? 

Δημοσ.

Ναι το έτρεξα.Για το καλύτερο g=0,1 και c=1 έφτασε στο 56% accuracy και κάπου τόσο και στο Roc.

 

Δεν ξέρω αν κάτι δεν κάνω καλά,πάντως αντίστοιχο dataset, με μόνο normalize,discretize και attribute choose filter, το έφτασα χωρίς κόπο για τα πρώτα 500 instances sto 95% και στα επόμενα 500 (άρα 1000), στο 84% accuracy με 0,90 Roc.

Δημοσ.

περίεργο μου φαίνεται, δοκίμασε ένα μεγαλύτερο c=100. Σε τι διάσταση είναι τα δεδομένα? Tο evaluation το κάνεις με cross validatiion?

Τι εννοείς λέγοντας "διάσταση";

Ναι 10-folds cross validation.

Δεν άλλαξε κάτι, ίσα που χειροτέρεψε κιόλας.Έχω παρατηρήσει ότι σε μεγάλα g ή c σε απόσταση από το βέλτιστο, πηγαίνει προς μία ή άλλη κατεύθυνση και χειροτερεύει και το Roc, πχ προβλέπει το ένα αποτέλεσμα της κλάσης μόνο.

Δημοσ.

Εννοώ οτι τα data σου είναι 1000 αλλά πόσα χαρακτηριστικά έχουν? δοκίμασε και κάποιον gauss kernel.

 

Ύστερα μπορείς να δοκιμάσεις στα tree νομίζω είναι random forest.

Δημοσ.

ΟΚ, τα χαρακτηριστικά είναι 23 (τα έχω ως attributes στο νου μου).

O RBF είναι gauss ή όχι;

Αυτόν δοκιμάζω κατά κόρο γιατί διάβασα σε πολλά pdf ότι φέρνει τα καλύτερα αποτελέσματα, αλλά όχι στην περίπτωση.

Δημοσ.

Ναι RBF kernel=gauss kernel=heat kernel.

 

Ναι τα 23 χαρακτηριστικά είναι σχετικά λίγα για svm. κανε και κάποιο normalization ωστε οι τιμές των attributes να είναι στο 0-1. και μετά svm. αν δεν βελτιωθεί, τότε άλλαξε αλγόριθμο. Είναι κάποια γνωστή βάση να δώσεις link? 

Δημοσ.

Έκανα normalization και bining αφού πρώτα πέταξα τους outliers.

Περίπου στο +4% η διόρθωση.

Όχι δεν είναι γνωστή η βάση , αλλά αν θες να ασχοληθείς, μπορώ να ανεβάσω κάπου το .arff ( ή άλλη μορφή αν προτιμάς).

 

ΥΓ.Απλή απορία: το να είναι (παραδόξως) ισομοιρασμένα όλα τα δεδομένα, δεν παίζει;Οπότε και ο classifier να μην μπορεί να ανταπεξέλθει ικανοποιητικά;

Δημοσ.

Φυσικά και γίνεται απλά είναι περίεργο ότι και να κάνεις να πιάνεις +- 5% και μάλιστα όταν το ποσοστό είναι γύρο στο 50% δηλαδή είναι σαν να λες οτι είτε στην τύχη το κάνεις είτε svm είναι σχεδόν το ίδιο πράγμα, το οποίο είναι παράλογο. Απο την άλλη αν τα δεδομένα είναι ουσιαστικά random δεδομένα τότε αυτό θα ήταν φυσιολογικό.

 

Τέσπα, για ανέβασε λίγο το arff να δω με το weka και θα σου πω αν βγάλω τπτ αξιόλογο.  Θα ήταν ωραίο επίσης αν μπορούσα να έχω και raw τα δεδομένα ένα πίνακα δηλαδή (1000x21) + τις κλάσεις τους (1000x1) να τρέξω κάποιον t-sne να δω αν έχουν περίεργη δομή τα δεδομένα...

  • 1 χρόνο αργότερα...
Δημοσ.

Πρώτη επαφή με data proccess και Weka, και κάπου έχω χαθεί, οπότε επαναφέρω το θέμα.

 

Πάνω-κάτω νομίζω το ίδιο συζητούσατε, αλλά ας ρωτήσω μήπως καταλάβω τίποτα καλύτερα.

 

Έστω ότι έχω 100 attributes. Στο class attribute έστω ότι έχω 2 groups, που είναι ποσοστιαία το ένα με το άλλο 90%-10% αντίστοιχα. Αυτά, δε θα έπρεπε να τα φέρω ποσοστιαία όσο πιο κοντά γίνεται για να εξάγω ένα "σωστό" αποτέλεσμα αργότερα, ή κάτι έχω καταλάβει λάθος; Δοκίμασα με το φίλτρο ClassBalancer, αλλά αισθάνομαι ότι το κάνω λάθος. Ναι, οκ, τα φέρνει ακριβώς 50-50, αλλά δεν μπορώ να καταλάβω πώς ακριβώς λειτουργεί.

 

Και κάτι άλλο θέλω να ρωτήσω, αλλά ας δούμε αυτό πρώτα. Ίσως μου έρθει η λύση μετά και για το άλλο. 

Ίσως αρκετά αφελές ερώτημα, αλλά πάω στα τυφλά.  :-)

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...