satafaka Δημοσ. 15 Ιουνίου 2015 Δημοσ. 15 Ιουνίου 2015 Καλημέρα στην παρέα. Οι περισσότεροι από εδώ μέσα έχουν τελειώσει ένα πανεπιστήμιο/τει οπότε θα το καταλάβετε πιο εύκολα. Πρέπει να φτιάξω ένα σύστημα ανάθεσης πτυχιακών/διπλωματικών εργασιών για πανεπιστήμια και τει. Υποθέτουμε ότι υπάρχει το UI και τα data. Το δύσκολο κομμάτι κρύβεται στον αλγόριθμο ανάθεσης, η function δηλαδή που όταν θα την τρέχει ο administrator, θα πρέπει να ανατίθεται μία και μόνο μία πτυχιακή σε έναν και μόνο έναν φοιτητή. Βέβαια οι φοιτητές μπορούν να δηλώσουν παραπάνω από μια πτυχιακή, με μια σειρά προτίμησης (από 1 έως 5 συνήθως) Η ανάθεση λοιπόν για το ποιος θα πρέπει να πάρει μια συγκεκριμένη πτυχιακή που δήλωσε αντί του "ανταγωνιστή φοιτητή" του που την δήλωσε και αυτός, θα γίνεται με βάση κάποια κριτήρια. Κάποια από αυτά είναι: Αριθμός προτίμησης πτυχιακής από φοιτητή (μπορεί να ορίσει από 1-5 με ποια προτίμηση θέλει τις πτυχιακές που δήλωσε) Μέσος όρος στα προαπαιτούμενα μαθήματα της πτυχιακής Μέσος όρος γενικός σχολής Πόσο συνεπής είναι στη σχολή του (τα πέρασε όλα τα μαθήματα με την 1η ή είναι αιώνιος φοιτητής?) Ο βαθμός προόδου (υπάρχει και αυτό σε κάποια τει) Η ηλικία του κτλπ Κάθε κριτήριο θα πρέπει να έχει την δικιά του βαρύτητα. Δηλαδή για την επόμενη ανάθεση θέλουμε να επωφεληθούν περισσότερο αυτοί που έχουν καλύτερο μέσο όρο γενικό σχολής και είναι μικρότεροι σε ηλικία και είναι και πιο όμορφοι Οι βαρύτητες καθώς και τα κριτήρια που θα υπολογίζονται σε κάθε τρέξιμο του αλγορίθμου πρέπει να είναι δυναμικά. Πχ σε μια ανάθεση τρέχουμε τα κριτήρια 1-2-3 με Χ-Υ-Ζ βαρύτητες, μετά τρέχουμε τα κριτήρια 1-3-5-6 με Χ-Υ-Ζ-Κ βαρύτητες κτλπ. Εγώ υποθέτω πως θα πρέπει να δημιουργηθεί μία μαθηματική συνάρτηση η οποία θα πρέπει να παράγει έναν αριθμό για κάθε συνδυασμό φοιτητή-πτυχιακή και αυτός που έχει μεγαλύτερο "βαθμό" θα παίρνει την πτυχιακή και θα εξαιρείται από τις υπόλοιπες δηλώσεις που έχει κάνει. Αυτή η συνάρτηση θα θα πρέπει να υπολογίζει τα κριτήρια που θα του πεις, με τις βαρύτητες που θα δώσεις, να είναι δυναμική δηλαδή τελείως. Η μαθηματική συνάρτηση είναι ένας τρόπος που σκέφτηκα για να είναι το σύστημα ακέραιο ότι θα δουλεύει πάντα σωστά αναλόγως των μεταβλητών που θα της δώσεις, αλλά τα κριτήρια όπως βλέπεται είναι ανόμοια. Άρα υποθέτω ότι θα πρέπει να γίνει πρώτα κανονικοποίηση των κριτηρίων για να μπορέσουν να μετρηθούν μεταξύ τους και έπειτα κάποιος πολλαπλασιασμός(?) για τις βαρύτητες. Εσείς τι λέτε? Το πάω καλά μέχρι εδώ με την σκέψη μου ή υπάρχει και άλλος τρόπος πιο σοφός και άνετος? Αν το σκέφτομαι σωστά (για την μαθηματική συνάρτηση), θα πρέπει να μιλήσω με κάποιον απλό μαθηματικό ή θα πρέπει να βρω κάποιον πιο εξειδικευμένο και στην πληροφορική? Το σύστημα έχει χτιστεί σε php, mysql, html κτλπ. Σας ευχαριστώ πολύ, κάθε ιδέα/πρόταση ευπρόσδεκτη.
albNik Δημοσ. 15 Ιουνίου 2015 Δημοσ. 15 Ιουνίου 2015 Αν δεν εχεις πρόβλημα να μην μενουν φοιτητές χωρις εργασια ειναι απλο. Ταξινομεις του φοιτητες με τα κριτήρια τους Δίνεις στον "καλυτερο" φοιτητή την πρωτη του επιλογή, στον δευτερο την πρωτη του επιλογη αν ειναι διαθεσιμη αλλιως τη δευτερη ... κοκ.
satafaka Δημοσ. 15 Ιουνίου 2015 Μέλος Δημοσ. 15 Ιουνίου 2015 Αν δεν εχεις πρόβλημα να μην μενουν φοιτητές χωρις εργασια ειναι απλο. Ταξινομεις του φοιτητες με τα κριτήρια τους Δίνεις στον "καλυτερο" φοιτητή την πρωτη του επιλογή, στον δευτερο την πρωτη του επιλογη αν ειναι διαθεσιμη αλλιως τη δευτερη ... κοκ. Ή εσύ δεν κατάλαβες το post μου ή εγώ το δικό σου... Τα κριτήρια κάθε φορά θα είναι διαφορετικά και σε κάθε κριτήριο θα παίζει διαφορετική βαρύτητα. Πως θα γίνει η ταξινόμηση που λες? Πως ταξινομούνται 2 φοιτητές με 5 ανόμοια κριτήρια μεταξύ τους και με διαφορετική βαρύτητα το καθένα? Η λέξη ταξινομείς που ανέφερες είναι το ζητούμενο. Εκτός αν κάτι δεν κατάλαβα εγώ.
albNik Δημοσ. 15 Ιουνίου 2015 Δημοσ. 15 Ιουνίου 2015 Αυτα τα κριτήρια πρεπει να τα ποσοτικοποιησεις Π.χ. Αν εισαι 100% συνεπης εχεις 5 βαθμους, αν εισαι 50% συνεπης εχεις 2.5 Αν εχεις μεσο ορο 10 εχεις 30 βαθμους , αν εχεις μ.ο. 5 τοτε 0 βαθμους (γραμμικα 0 εως 30 για μεσο ορο 5 εως 10) Μετα προσθετεις τους βαθμους
satafaka Δημοσ. 15 Ιουνίου 2015 Μέλος Δημοσ. 15 Ιουνίου 2015 Αυτα τα κριτήρια πρεπει να τα ποσοτικοποιησεις Π.χ. Αν εισαι 100% συνεπης εχεις 5 βαθμους, αν εισαι 50% συνεπης εχεις 2.5 Αν εχεις μεσο ορο 10 εχεις 30 βαθμους , αν εχεις μ.ο. 5 τοτε 0 βαθμους (γραμμικα 0 εως 30 για μεσο ορο 5 εως 10) Μετα προσθετεις τους βαθμους Τώρα κάπως πάω να σε πιάσω αλλά πάλι σε έχασα όταν πέταξες "30 βαθμούς". Τα κριτήρια δεν θα πρέπει να ποσοτικοποιηθούν στην ίδια κλίμακα (δηλαδή από 0 έως 30 όλα)? Και μετά να υπολογισθεί το κάθε κριτήριο με την αντίστοιχη βαρύτητα?
zynif Δημοσ. 15 Ιουνίου 2015 Δημοσ. 15 Ιουνίου 2015 Πως ταξινομούνται 2 φοιτητές με 5 ανόμοια κριτήρια μεταξύ τους και με διαφορετική βαρύτητα το καθένα? Μήπως δεν ταξινομούνται ; Αν έχεις πάντως διάνυσματα που αναπαριστούν την βαθμολογία των φοιτητών στα ίδια κριτήρια μπορείς με τις παρακάτω συναρτήσεις (cosine similarity, euclidean distance , manhattan distance , pearson correlation) να βρεις την "διαφορετικότητα" μεταξύ τους
albNik Δημοσ. 15 Ιουνίου 2015 Δημοσ. 15 Ιουνίου 2015 Το ιδιο λεμε στο συνεπεια εχεις [0--5] και στο μεσο ορο [0--30] μπορεις να εχεις και στα δυο [0--5] αλλα στον μεσο ορο βαζεις βαρύτητα 6 (στη συνεπεια βαρύτητα 1) Μήπως δεν ταξινομούνται ; Γιατι όχι? Στις πανελλήνιες η φυσικη κατεύθυνσης εχει αλλη βαρύτητα απο τα θρησκευτικά, στο τελος ομως υπολογιζουμε τα συνολικά μορια για να συγκρινουμε τους υποψηφιους.
satafaka Δημοσ. 15 Ιουνίου 2015 Μέλος Δημοσ. 15 Ιουνίου 2015 Το ιδιο λεμε στο συνεπεια εχεις [0--5] και στο μεσο ορο [0--30] μπορεις να εχεις και στα δυο [0--5] αλλα στον μεσο ορο βαζεις βαρύτητα 6 (στη συνεπεια βαρύτητα 1) Αυτό είναι το πρόβλημά μου. Πως θα μετατρέψω την προτεραιότητα, το πόσα χρωστάει, το πόσο καλός φοιτητής είναι κτλπ , στην ίδια κλίμακα [0---5]? Να μιλήσω με κανέναν μαθηματικό?
zynif Δημοσ. 16 Ιουνίου 2015 Δημοσ. 16 Ιουνίου 2015 Φαντάζομαι ότι θα φτιάχνεις για κάθε διπλωματική ένα δισδιάστατο πινακάκι όπου κάθε γραμμή αντιστοιχεί σ'εναν φοιτητή και οι στήλες στα χαρακτηριστικά που μετράς . Για να μετατρέψεις τα δεδομένα κάθε στήλης στην κλίμακα [0 ,1] κάνεις το εξής για κάθε στήλη: Βρίσκεις το μέγιστο και το ελάχιστο . Αφαιρείς από κάθε στοιχείο το ελάχιστο και διαιρείς το αποτέλεσμα με την διαφορά μεγίστου μείον ελαχίστου. Μετά για να το φέρεις στο [0 ,5] πολλαπλασιάζεις με το πέντε. Aυτη η διαδικασία λέγεται feature scaling.
satafaka Δημοσ. 16 Ιουνίου 2015 Μέλος Δημοσ. 16 Ιουνίου 2015 Φαντάζομαι ότι θα φτιάχνεις για κάθε διπλωματική ένα δισδιάστατο πινακάκι όπου κάθε γραμμή αντιστοιχεί σ'εναν φοιτητή και οι στήλες στα χαρακτηριστικά που μετράς . Για να μετατρέψεις τα δεδομένα κάθε στήλης στην κλίμακα [0 ,1] κάνεις το εξής για κάθε στήλη: Βρίσκεις το μέγιστο και το ελάχιστο . Αφαιρείς από κάθε στοιχείο το ελάχιστο και διαιρείς το αποτέλεσμα με την διαφορά μεγίστου μείον ελαχίστου. Μετά για να το φέρεις στο [0 ,5] πολλαπλασιάζεις με το πέντε. Aυτη η διαδικασία λέγεται feature scaling. Ενδιαφέρον το feature scaling, με ένα γρήγορο google search διάβασα καλά πράματα. Θα το δοκιμάσω σίγουρα να δω τι θα κάνει με τα δικά μου data και ο θεός βοηθός Ευχαριστώ πολύ
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα