सभी जानते हैं कि सामग्री प्रश्न बनाती है। लेकिन एक अच्छा शीर्षक भी मदद करता है, और यह पहली चीज है जो हम देखते हैं। यह एक कार्यक्रम में पहली छाप को चालू करने का समय है, और यह पता लगाना है कि किस प्रकार के शीर्षक अधिक उत्थान प्राप्त करते हैं।
आपको एक प्रोग्राम या फ़ंक्शन लिखने के लिए चुनौती दी गई है जो इनपुट के रूप में पीपीसीजी प्रश्न का शीर्षक लेता है, और इसके स्कोर की भविष्यवाणी करता है।
उदाहरण के लिए, आप 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 होगा।
कृपया अपने स्कोर की गणना करें और इसे अपने उत्तर के शीर्षक में शामिल करें। कृपया यह भी शामिल करें कि इस प्रश्न को कितने उत्थान के लिए अपने कार्यक्रम की भविष्यवाणी में शामिल करें।
प्रतिबंध:
अत्यधिक हार्ड-कोडिंग को रोकने के लिए, 1000 से अधिक वर्ण नहीं।
एक उचित मशीन पर एक मिनट के भीतर ऊपर सेट पूरे डेटा पर चलना चाहिए।
स्टैंडर्ड लोफॉल्स बंद हैं।
आपके उपयोग और / या अस्पष्टताओं को दूर करने के लिए यहां पायथन में एक परीक्षक लिखा गया है:
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]
जहां लागू हो,?