ทุกคนรู้ว่าเนื้อหาเป็นคำถาม แต่ชื่อที่ดีก็ช่วยได้เช่นกันและนั่นคือสิ่งแรกที่เราเห็น ถึงเวลาที่จะเปลี่ยนความประทับใจครั้งแรกให้เป็นโปรแกรมและหาว่าประเภทใดที่มีชื่อเรื่องมากขึ้น
คุณถูกท้าทายในการเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ชื่อคำถาม PPCG เป็นข้อมูลป้อนเข้าและส่งกลับการทำนายคะแนน
ตัวอย่างเช่นคุณอาจได้รับCounting Grains of Rice
เป็นอินพุตและคุณจะพยายามส่งคืนสิ่งที่ใกล้เคียงกับคะแนน59
ในกรณีนี้ การเดาที่ไม่ใช่จำนวนเต็มนั้นใช้ได้ แต่การเดาที่หรือต่ำกว่า-20
นั้นไม่ใช่
นี่คือข้อมูลสำหรับการทดสอบและการให้คะแนน:
http://data.stackexchange.com/codegolf/query/244871/names-and-upvotes
การให้คะแนน:โปรแกรมของคุณจะทำงานกับทุกคำถามในประวัติเว็บไซต์ (PPCG) นี้ไม่ใช่การนับคำถามที่ปิด ฟังก์ชั่นln(score + 20)
จะถูกนำไปใช้กับคะแนนแต่ละคะแนนและกับการเดาแต่ละครั้ง รูท - ค่าเฉลี่ย - ข้อผิดพลาดระหว่างชุดผลลัพธ์สองชุดคือคะแนนของคุณ ต่ำกว่าดีกว่า
ตัวอย่างเช่นโปรแกรมที่เดา 0 ทุกครั้งจะได้คะแนน 0.577 ในขณะที่รายการที่เดา 11 ทุกครั้งจะได้คะแนน 0.362
โปรดคำนวณคะแนนของคุณและรวมไว้ในหัวข้อคำตอบของคุณ โปรดระบุการคาดการณ์ของโปรแกรมของคุณสำหรับจำนวน upvotes ที่คำถามนี้จะได้รับ
ข้อ จำกัด:
เพื่อป้องกันการเข้ารหัสที่หนักเกินไปไม่เกิน 1,000 ตัวอักษร
ต้องทำงานกับข้อมูลทั้งหมดที่ตั้งไว้ข้างต้นภายในไม่กี่นาทีบนเครื่องที่เหมาะสม
ช่องโหว่มาตรฐานถูกปิด
นี่คือเครื่องมือทดสอบที่เขียนใน Python สำหรับการใช้งานของคุณและ / หรือเพื่อกำจัดความคลุมเครือ:
import sys
import math
import csv
scores_dict = {}
with open(sys.argv[1], 'r') as csv_file:
score_reader = csv.reader(csv_file)
for score, title in score_reader:
if score == 'Score':
continue
scores_dict[title] = int(score)
def rate_guesses(guesser):
def transform(score):
return math.log(score + 20) if score > -20 else 0
off_by_total = 0
lines_count = 0
for title in scores_dict:
guessed_score = guesser(title)
real_score = scores_dict[title]
off_by_total += (transform(real_score) - transform(guessed_score)) ** 2
return (off_by_total/len(scores_dict)) ** .5
def constant11(title):
return 11
print(rate_guesses(constant11))
[closed]
และ[on hold]
ที่เกี่ยวข้องหรือไม่