การซื้อขายชื่อโดเมนเป็นธุรกิจขนาดใหญ่ หนึ่งในเครื่องมือที่มีประโยชน์ที่สุดสำหรับการซื้อขายชื่อโดเมนคือเครื่องมือประเมินราคาอัตโนมัติเพื่อให้คุณสามารถประเมินว่าโดเมนที่กำหนดมีมูลค่าเท่าใด น่าเสียดายที่บริการประเมินราคาอัตโนมัติหลายแห่งต้องการสมาชิก / สมัครสมาชิกเพื่อใช้งาน ในความท้าทายนี้คุณจะเขียนเครื่องมือประเมินราคาที่สามารถประมาณค่าโดเมน. com
อินพุต / เอาต์พุต
ในฐานะอินพุตโปรแกรมของคุณควรใช้รายชื่อโดเมนหนึ่งชื่อต่อหนึ่งบรรทัด ชื่อโดเมนแต่ละชื่อจะตรงกับ regex ^[a-z0-9][a-z0-9-]*[a-z0-9]$
ซึ่งหมายความว่ามันประกอบด้วยตัวอักษรตัวพิมพ์เล็กตัวเลขและยัติภังค์ แต่ละโดเมนมีความยาวอย่างน้อยสองตัวอักษรและไม่เริ่มต้นหรือลงท้ายด้วยเครื่องหมายขีดคั่น .com
ถูกตัดออกจากแต่ละโดเมนเพราะมันบอกเป็นนัย ๆ
ในรูปแบบของการป้อนข้อมูลทางเลือกคุณสามารถเลือกที่จะยอมรับชื่อโดเมนเป็นอาร์เรย์ของจำนวนเต็มแทนที่จะเป็นสตริงอักขระตราบใดที่คุณระบุการแปลงแบบตัวอักษรเป็นจำนวนเต็ม
โปรแกรมของคุณควรแสดงรายการจำนวนเต็มหนึ่งรายการต่อบรรทัดซึ่งให้ราคาประเมินของโดเมนที่เกี่ยวข้อง
อินเทอร์เน็ตและไฟล์เพิ่มเติม
โปรแกรมของคุณอาจเข้าถึงไฟล์เพิ่มเติมได้ตราบใดที่คุณให้ไฟล์เหล่านี้เป็นส่วนหนึ่งของคำตอบ โปรแกรมของคุณยังได้รับอนุญาตให้เข้าถึงไฟล์พจนานุกรม (รายการคำที่ถูกต้องซึ่งคุณไม่ต้องระบุ)
(แก้ไข) ฉันได้ตัดสินใจขยายความท้าทายนี้เพื่อให้โปรแกรมของคุณสามารถเข้าถึงอินเทอร์เน็ต มีข้อ จำกัด บางประการเนื่องจากโปรแกรมของคุณไม่สามารถค้นหาราคา (หรือประวัติราคา) ของโดเมนใด ๆ ได้และมีการใช้บริการที่มีอยู่ก่อนเท่านั้น
การ จำกัด ขนาดโดยรวมเท่านั้นคือการ จำกัด ขนาดคำตอบที่กำหนดโดย SE
ตัวอย่างอินพุต
เหล่านี้คือบางโดเมนที่ขายล่าสุด ข้อจำกัดความรับผิดชอบ: แม้ว่าไม่มีเว็บไซต์ใดที่ดูเหมือนว่าเป็นอันตราย แต่ฉันไม่ทราบว่าใครเป็นผู้ควบคุมและแนะนำให้เยี่ยมชมพวกเขา
6d3
buyspydrones
arcader
counselar
ubme
7483688
buy-bikes
learningmusicproduction
ตัวอย่างผลลัพธ์
ตัวเลขเหล่านี้เป็นของจริง
635
31
2000
1
2001
5
160
1
เกณฑ์การให้คะแนน
การให้คะแนนจะขึ้นอยู่กับ "ความแตกต่างของลอการิทึม" ตัวอย่างเช่นหากโดเมนที่ขายในราคา $ 300 และโปรแกรมของคุณประเมินที่ $ 500 คะแนนของคุณสำหรับโดเมนนั้นจะเป็น abs (ln (500) -ln (300)) = 0.5108 ไม่มีโดเมนใดที่จะมีราคาต่ำกว่า $ 1 คะแนนโดยรวมของคุณคือคะแนนเฉลี่ยสำหรับชุดโดเมนที่มีคะแนนต่ำกว่าดีกว่า
เพื่อให้ได้ความคิดว่าคะแนนคุณควรคาดหวังเพียงแค่การคาดเดาคงที่หนึ่งสำหรับข้อมูลการฝึกอบรมด้านล่างส่งผลให้คะแนนเกี่ยวกับ36
1.6883
อัลกอริทึมที่ประสบความสำเร็จมีคะแนนน้อยกว่านี้
ฉันเลือกที่จะใช้ลอการิทึมเพราะค่าครอบคลุมหลายลำดับของขนาดและข้อมูลจะถูกเติมด้วยค่าผิดปกติ การใช้ความแตกต่างแบบสัมบูรณ์แทนความแตกต่างกำลังสองจะช่วยลดผลกระทบของค่าผิดปกติในการให้คะแนน (โปรดทราบว่าฉันใช้ลอการิทึมธรรมชาติไม่ใช่ฐาน 2 หรือฐาน 10)
แหล่งข้อมูล
ฉันอ่านรายชื่อโดเมน. com ที่ขายล่าสุดกว่า 1,400 รายการจากFlippaซึ่งเป็นเว็บไซต์ประมูลโดเมน ข้อมูลนี้จะประกอบเป็นชุดข้อมูลการฝึกอบรม หลังจากหมดเวลาส่งฉันจะรออีกหนึ่งเดือนเพื่อสร้างชุดข้อมูลทดสอบซึ่งจะมีการส่งคะแนน ฉันอาจเลือกที่จะรวบรวมข้อมูลจากแหล่งอื่นเพื่อเพิ่มขนาดของชุดฝึกอบรม / ทดสอบ
ข้อมูลการฝึกอบรมมีอยู่ในส่วนสำคัญต่อไปนี้ (ข้อจำกัดความรับผิดชอบ: แม้ว่าฉันจะใช้การกรองแบบง่าย ๆ เพื่อลบโดเมน NSFW โจ่งแจ้งบางส่วนอาจยังคงอยู่ในรายการนี้นอกจากนี้ฉันขอแนะนำไม่ให้เยี่ยมชมโดเมนใด ๆ ที่คุณไม่รู้จัก ) ตัวเลขทางด้านขวาคือ ราคาที่แท้จริง https://gist.github.com/PhiNotPi/46ca47247fe85f82767c82c820d730b5
นี่คือกราฟของการกระจายราคาของชุดข้อมูลการฝึกอบรม แกน x เป็นบันทึกราคาตามธรรมชาติโดยมีการนับแกน y แต่ละแถบมีความกว้าง 0.5 ขวากด้านซ้ายตรงกับ $ 1 และ $ 6 เนื่องจากเว็บไซต์ต้นทางต้องการการเสนอราคาเพื่อเพิ่มอย่างน้อย $ 5 ข้อมูลทดสอบอาจมีการแจกแจงที่แตกต่างกันเล็กน้อย
นี่คือลิงค์ไปยังกราฟเดียวกันที่มีความกว้างของแถบ 0.2 ในกราฟนั้นคุณสามารถเห็น spikes ที่ $ 11 และ $ 16