{
  "id": 3576,
  "title": "event_popularity_benchmark.csv updated",
  "url": "/competitions/event-recommendation-engine-challenge/discussion/3576",
  "author_name": "",
  "post_date": "2013-01-11T04:43:59.687Z",
  "votes": null,
  "comment_count": 3,
  "views": 1986,
  "content": "<p>Just realized the event_popularity_benchmark.csv was an old version of the file that wouldn't get scored properly.</p>\r\n<p>I've uploaded a corrected version. If you had trouble submitting this benchmark, download it again and it should work!</p>",
  "messages": [
    {
      "id": "19182",
      "postDate": "01/11/2013 04:43:59",
      "content": "<p>Just realized the event_popularity_benchmark.csv was an old version of the file that wouldn't get scored properly.</p>\r\n<p>I've uploaded a corrected version. If you had trouble submitting this benchmark, download it again and it should work!</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "19216",
      "postDate": "01/12/2013 03:03:56",
      "content": "<p>I am having trouble running the benchmark code. I don't have much experience with Python so I am not sure what I am doing wrong. The error is this:</p>\r\n<p>Traceback (most recent call last):<br>\r\nFile &quot;D:\\scott\\kaggle\\events\\python<em>code\\event</em>popularity<em>benchmark.py&quot;, line 18, in\r\n<br>\r\nmain()<br>\r\nFile &quot;D:\\scott\\kaggle\\events\\python</em>code\\event<em>popularity</em>benchmark.py&quot;, line 6, in main<br>\r\ntrain, test = u.get<em>train</em>test<em>df()<br>\r\nFile &quot;D:\\scott\\kaggle\\events\\python</em>code\\util.py&quot;, line 23, in get<em>train</em>test<em>df<br>\r\ndata</em>path, submission<em>path = get</em>paths()<br>\r\nFile &quot;D:\\scott\\kaggle\\events\\python<em>code\\util.py&quot;, line 9, in get</em>paths<br>\r\ndata_path = os.path.join(os.environ[&quot;d:/scott/kaggle/events/data/&quot;], &quot;EventRecommendation&quot;, &quot;Release1&quot;)<br>\r\nFile &quot;C:\\Python27\\lib\\os.py&quot;, line 423, in <strong>getitem</strong><br>\r\nreturn self.data[key.upper()]<br>\r\nKeyError: 'D:/SCOTT/KAGGLE/EVENTS/DATA/'</p>\r\n<p>Maybe I don't have the file path in the right format. Something else?</p>\r\n<p>My util code looks like this:</p>\r\n<p>from dateutil.parser import parse<br>\r\nimport pandas as pd<br>\r\nimport os</p>\r\n<p>def get<em>paths():<br>\r\n&quot;&quot;&quot;<br>\r\nRedefine data</em>path and submissions<em>path here to run the benchmarks on your machine<br>\r\n&quot;&quot;&quot;<br>\r\ndata</em>path = os.path.join(os.environ[&quot;d:/scott/kaggle/events/data/&quot;], &quot;EventRecommendation&quot;, &quot;Release1&quot;)<br>\r\nsubmission<em>path = os.path.join(os.environ[&quot;d:/scott/kaggle/events/data/&quot;], &quot;EventRecommendation&quot;, &quot;Submissions&quot;)<br>\r\nreturn data</em>path, submission_path</p>\r\n<p>def get<em>user</em>events<em>dict(df):<br>\r\nuser</em>events_dict = {user: [] for user in df[&quot;user&quot;]}</p>\r\n<pre><code>for i, row in df.iterrows():\n    user_events_dict[row[&quot;user&quot;]].append(row[&quot;event&quot;])    \n\nreturn user_events_dict\n</code></pre>\r\n<p>def get<em>train</em>test<em>df(data</em>path = None):<br>\r\nif data<em>path is None:<br>\r\ndata</em>path, submission<em>path = get</em>paths()</p>\r\n<pre><code>train = pd.read_csv(os.path.join(data_path, &quot;train.csv&quot;),\n    converters={&quot;timestamp&quot;: parse})\ntest = pd.read_csv(os.path.join(data_path, &quot;test.csv&quot;),\n    converters={&quot;timestamp&quot;: parse})\nreturn train, test\n</code></pre>\r\n<p>def get<em>event</em>attendees(data<em>path = None):<br>\r\nif data</em>path is None:<br>\r\ndata<em>path, submission</em>path = get_paths()</p>\r\n<pre><code>event_attendees_path = os.path.join(data_path, &quot;event_attendees.csv&quot;)\nevent_attendees = pd.read_csv(event_attendees_path)\nreturn event_attendees\n</code></pre>\r\n<p>def write<em>submission(submission</em>name, user<em>events</em>dict, submission<em>path=None):<br>\r\nif submission</em>path is None:<br>\r\ndata<em>path, submission</em>path = get_paths()</p>\r\n<pre><code>users = sorted(user_events_dict)\nevents = [user_events_dict[u] for u in users]\n\nsubmission = pd.DataFrame({&quot;User&quot;: users, &quot;Events&quot;: events})\nsubmission[[&quot;User&quot;, &quot;Events&quot;]].to_csv(os.path.join(submission_path, submission_name), index=False)\n</code></pre>\r\n<p>def get<em>event</em>responses<em>dict(events, responded</em>users):<br>\r\ndef parse_users(u):<br>\r\nif type(u) == str:<br>\r\nreturn [int(x) for x in u.split(&quot; &quot;)]<br>\r\nreturn [u]</p>\r\n<pre><code>return {e: parse_users(u) for e, u in zip(events, responded_users)}\n</code></pre>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "19253",
      "postDate": "01/13/2013 06:28:56",
      "content": "<p>Where did you get the benchmark code?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "19258",
      "postDate": "01/13/2013 09:46:50",
      "content": "<p>Its on Ben's GitHub. https://github.com/benhamner/EventRecommendationChallenge</p>",
      "rawMarkdown": "",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 19216,
      "author_name": "alkhwarizmi",
      "author_url": "",
      "post_date": "01/12/2013 03:03:56",
      "content": "<p>I am having trouble running the benchmark code. I don't have much experience with Python so I am not sure what I am doing wrong. The error is this:</p>\r\n<p>Traceback (most recent call last):<br>\r\nFile &quot;D:\\scott\\kaggle\\events\\python<em>code\\event</em>popularity<em>benchmark.py&quot;, line 18, in\r\n<br>\r\nmain()<br>\r\nFile &quot;D:\\scott\\kaggle\\events\\python</em>code\\event<em>popularity</em>benchmark.py&quot;, line 6, in main<br>\r\ntrain, test = u.get<em>train</em>test<em>df()<br>\r\nFile &quot;D:\\scott\\kaggle\\events\\python</em>code\\util.py&quot;, line 23, in get<em>train</em>test<em>df<br>\r\ndata</em>path, submission<em>path = get</em>paths()<br>\r\nFile &quot;D:\\scott\\kaggle\\events\\python<em>code\\util.py&quot;, line 9, in get</em>paths<br>\r\ndata_path = os.path.join(os.environ[&quot;d:/scott/kaggle/events/data/&quot;], &quot;EventRecommendation&quot;, &quot;Release1&quot;)<br>\r\nFile &quot;C:\\Python27\\lib\\os.py&quot;, line 423, in <strong>getitem</strong><br>\r\nreturn self.data[key.upper()]<br>\r\nKeyError: 'D:/SCOTT/KAGGLE/EVENTS/DATA/'</p>\r\n<p>Maybe I don't have the file path in the right format. Something else?</p>\r\n<p>My util code looks like this:</p>\r\n<p>from dateutil.parser import parse<br>\r\nimport pandas as pd<br>\r\nimport os</p>\r\n<p>def get<em>paths():<br>\r\n&quot;&quot;&quot;<br>\r\nRedefine data</em>path and submissions<em>path here to run the benchmarks on your machine<br>\r\n&quot;&quot;&quot;<br>\r\ndata</em>path = os.path.join(os.environ[&quot;d:/scott/kaggle/events/data/&quot;], &quot;EventRecommendation&quot;, &quot;Release1&quot;)<br>\r\nsubmission<em>path = os.path.join(os.environ[&quot;d:/scott/kaggle/events/data/&quot;], &quot;EventRecommendation&quot;, &quot;Submissions&quot;)<br>\r\nreturn data</em>path, submission_path</p>\r\n<p>def get<em>user</em>events<em>dict(df):<br>\r\nuser</em>events_dict = {user: [] for user in df[&quot;user&quot;]}</p>\r\n<pre><code>for i, row in df.iterrows():\n    user_events_dict[row[&quot;user&quot;]].append(row[&quot;event&quot;])    \n\nreturn user_events_dict\n</code></pre>\r\n<p>def get<em>train</em>test<em>df(data</em>path = None):<br>\r\nif data<em>path is None:<br>\r\ndata</em>path, submission<em>path = get</em>paths()</p>\r\n<pre><code>train = pd.read_csv(os.path.join(data_path, &quot;train.csv&quot;),\n    converters={&quot;timestamp&quot;: parse})\ntest = pd.read_csv(os.path.join(data_path, &quot;test.csv&quot;),\n    converters={&quot;timestamp&quot;: parse})\nreturn train, test\n</code></pre>\r\n<p>def get<em>event</em>attendees(data<em>path = None):<br>\r\nif data</em>path is None:<br>\r\ndata<em>path, submission</em>path = get_paths()</p>\r\n<pre><code>event_attendees_path = os.path.join(data_path, &quot;event_attendees.csv&quot;)\nevent_attendees = pd.read_csv(event_attendees_path)\nreturn event_attendees\n</code></pre>\r\n<p>def write<em>submission(submission</em>name, user<em>events</em>dict, submission<em>path=None):<br>\r\nif submission</em>path is None:<br>\r\ndata<em>path, submission</em>path = get_paths()</p>\r\n<pre><code>users = sorted(user_events_dict)\nevents = [user_events_dict[u] for u in users]\n\nsubmission = pd.DataFrame({&quot;User&quot;: users, &quot;Events&quot;: events})\nsubmission[[&quot;User&quot;, &quot;Events&quot;]].to_csv(os.path.join(submission_path, submission_name), index=False)\n</code></pre>\r\n<p>def get<em>event</em>responses<em>dict(events, responded</em>users):<br>\r\ndef parse_users(u):<br>\r\nif type(u) == str:<br>\r\nreturn [int(x) for x in u.split(&quot; &quot;)]<br>\r\nreturn [u]</p>\r\n<pre><code>return {e: parse_users(u) for e, u in zip(events, responded_users)}\n</code></pre>",
      "votes": null,
      "replies": []
    },
    {
      "id": 19253,
      "author_name": "",
      "author_url": "",
      "post_date": "01/13/2013 06:28:56",
      "content": "<p>Where did you get the benchmark code?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 19258,
      "author_name": "brett7",
      "author_url": "",
      "post_date": "01/13/2013 09:46:50",
      "content": "<p>Its on Ben's GitHub. https://github.com/benhamner/EventRecommendationChallenge</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "19182": "",
    "19216": "",
    "19253": "",
    "19258": ""
  },
  "source": "meta"
}