Algoritma ini bekerja berdasarkan prinsip kedekatan rentang persenttual. Awalnya dikembangkan untuk proyek pribadi, namun kemudian saya menemukan itu adalah bentuk metode Newton yang digunakan dalam statistik untuk menyelesaikan persamaan kemungkinan maksimum.
pip install scalg
Pada 15 September 2020 berisi dua metode ( score dan score_columns ) yang akan dijelaskan dan ditunjukkan dalam contoh di bawah ini.
import scalg
Ini akan menjadi dataset sampel yang digunakan sebagai sumber_data dengan contoh -contoh dengan indeks dan bobot kolom yang sesuai.
Columns -> 0 1 2 3
Weights -> 1 0 0 1
1[[2016 ,21999 ,62000 ,181],
Sets -> 2 [2013 ,21540 ,89000 ,223],
3 [2015 ,18900 ,100000 ,223],
4 [2013 ,24200 ,115527 ,223],
5 [2016 ,24990 ,47300 ,223]]
Output jika Anda lulus di sumber_data dan bobot:
scalg.score(source_data, [1, 0, 0, 1])
[[2016, 21999, 62000, 181, 2.2756757812463335],
[2013, 21540, 89000, 223, 1.9553074815952338],
[2015, 18900, 100000, 223, 2.894245191297678],
[2013, 24200, 115527, 223, 1.1297208538587848],
[2016, 24990, 47300, 223, 3.0]]
Output jika Anda lulus di sumber_data, bobot dan get_scores = true:
scalg.score(source_data, [1, 0, 0, 1], get_scores=True)
[2.2756757812463335, 1.9553074815952338, 2. 894245191297678, 1.1297208538587848, 3.0]
Output jika Anda lulus di sumber_data, bobot dan get_score_lists = true:
scalg.score(source_data, [1, 0, 0, 1], get_score_lists=True)
[[1.0 ,0.0, 0.6666666666666666 ,0.0 ,1.0]
[0.49113300492610834 ,0.5665024630541872 ,1.0, 0.12972085385878485 ,0.0]
[0.7845427763202251 ,0.38880501854104677 ,0.22757852463101114 ,0.0]
[0.0 ,1.0 ,1.0 ,1.0]]
Ini memberikan skor setiap elemen dalam daftar dibandingkan dengan elemen lain, menjaga posisinya.
Di sini Anda dapat menggunakan bobot yang sama yang akan Anda gunakan di scalg.score , atau Anda dapat menentukan bobot setiap kolom dalam urutan yang sesuai. Dalam contoh ini menggunakan argumen bobot [1, 0, 0, 1] atau [0, 1] tidak akan membuat perbedaan.
Output jika Anda lulus di Source_Data, kolom dan bobot:
scalg.score_columns(source_data, [0, 1], [1, 0, 0, 1])
Scored columns Scores for corresponding columns
0| 1| |
[[2016 ,21999 ,62000 ,181 ,1.4911330049261085],
[2013 ,21540 ,89000 ,223 ,0.5665024630541872],
[2015 ,18900 ,100000 ,223 ,1.6666666666666665],
[2013 ,24200 ,115527 ,223 ,0.12972085385878485],
[2016 ,24990 ,47300 ,223 ,1.0]]
Skor dihitung hanya berdasarkan kolom 0 dan 1.