อัลกอริทึมนี้ใช้งานได้ตามหลักการความใกล้ชิดช่วงร้อยละ ในขั้นต้นมันได้รับการพัฒนาสำหรับโครงการส่วนบุคคล แต่ต่อมาฉันพบว่ามันเป็นรูปแบบของวิธีการของนิวตันที่ใช้ในสถิติเพื่อแก้สมการความน่าจะเป็นสูงสุด
pip install scalg
ณ วันที่ 15 กันยายน 2563 มีสองวิธี ( score และ score_columns ) ซึ่งจะอธิบายและแสดงในตัวอย่างด้านล่าง
import scalg
นี่จะเป็นชุดข้อมูลตัวอย่างที่ใช้เป็น source_data กับตัวอย่างด้วยดัชนีที่สอดคล้องกันและน้ำหนักคอลัมน์
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]]
เอาต์พุตถ้าคุณผ่าน source_data และน้ำหนัก:
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]]
เอาต์พุตถ้าคุณผ่าน source_data น้ำหนักและ get_scores = true:
scalg.score(source_data, [1, 0, 0, 1], get_scores=True)
[2.2756757812463335, 1.9553074815952338, 2. 894245191297678, 1.1297208538587848, 3.0]
เอาต์พุตหากคุณผ่าน source_data น้ำหนักและ 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]]
สิ่งนี้ให้คะแนนของแต่ละองค์ประกอบในรายการเมื่อเทียบกับองค์ประกอบอื่น ๆ ทำให้เป็นตำแหน่ง
ที่นี่คุณอาจใช้น้ำหนักเดียวกับที่คุณจะใช้ใน scalg.score หรือคุณอาจระบุน้ำหนักของแต่ละคอลัมน์ในลำดับที่สอดคล้องกัน ในตัวอย่างนี้การใช้อาร์กิวเมนต์น้ำหนัก [1, 0, 0, 1] หรือ [0, 1] จะไม่สร้างความแตกต่าง
เอาต์พุตหากคุณผ่านใน source_data คอลัมน์และน้ำหนัก:
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]]
คะแนนถูกคำนวณตามคอลัมน์ 0 และ 1 เท่านั้น