|
3 | 3 | {
|
4 | 4 | "cell_type": "code",
|
5 | 5 | "execution_count": 1,
|
6 |
| - "metadata": {}, |
| 6 | + "metadata": { |
| 7 | + "collapsed": false, |
| 8 | + "scrolled": true |
| 9 | + }, |
7 | 10 | "outputs": [
|
8 | 11 | {
|
9 | 12 | "name": "stdout",
|
|
35 | 38 | {
|
36 | 39 | "cell_type": "code",
|
37 | 40 | "execution_count": 2,
|
38 |
| - "metadata": {}, |
| 41 | + "metadata": { |
| 42 | + "collapsed": false, |
| 43 | + "scrolled": true |
| 44 | + }, |
39 | 45 | "outputs": [
|
40 | 46 | {
|
41 | 47 | "name": "stdout",
|
|
77 | 83 | {
|
78 | 84 | "cell_type": "code",
|
79 | 85 | "execution_count": 18,
|
80 |
| - "metadata": {}, |
| 86 | + "metadata": { |
| 87 | + "collapsed": true |
| 88 | + }, |
81 | 89 | "outputs": [],
|
82 | 90 | "source": [
|
83 | 91 | "# # Bitcoin Price Prediction \n",
|
|
118 | 126 | {
|
119 | 127 | "cell_type": "code",
|
120 | 128 | "execution_count": 163,
|
121 |
| - "metadata": {}, |
| 129 | + "metadata": { |
| 130 | + "collapsed": false |
| 131 | + }, |
122 | 132 | "outputs": [
|
123 | 133 | {
|
124 | 134 | "name": "stdout",
|
|
162 | 172 | {
|
163 | 173 | "cell_type": "code",
|
164 | 174 | "execution_count": 164,
|
165 |
| - "metadata": {}, |
| 175 | + "metadata": { |
| 176 | + "collapsed": false |
| 177 | + }, |
166 | 178 | "outputs": [
|
167 | 179 | {
|
168 | 180 | "name": "stdout",
|
|
184 | 196 | {
|
185 | 197 | "cell_type": "code",
|
186 | 198 | "execution_count": 165,
|
187 |
| - "metadata": {}, |
| 199 | + "metadata": { |
| 200 | + "collapsed": false |
| 201 | + }, |
188 | 202 | "outputs": [
|
189 | 203 | {
|
190 | 204 | "name": "stdout",
|
|
201 | 215 | "print(\"Validating a single record:\", flush=True)\n",
|
202 | 216 | "print(gtrends_json['data'][0], flush=True)\n",
|
203 | 217 | "\n",
|
204 |
| - "# Convert to pandas df\n", |
| 218 | + "# Convert to pandas df and handle string NaN's coming through data engine\n", |
205 | 219 | "gtrends = pd.DataFrame.from_records(gtrends_json['data'])\\\n",
|
206 |
| - " .pivot(index='date', values='interest', columns='keyword')\n", |
| 220 | + " .pivot(index='date', values='interest', columns='keyword')\\\n", |
| 221 | + " .replace({'NaN': None})\\\n", |
| 222 | + " .fillna(method='pad')\n", |
207 | 223 | "\n",
|
208 | 224 | "# Set proper date format\n",
|
209 | 225 | "gtrends.index = pd.to_datetime(gtrends.index)\n",
|
|
215 | 231 | {
|
216 | 232 | "cell_type": "code",
|
217 | 233 | "execution_count": 108,
|
218 |
| - "metadata": {}, |
| 234 | + "metadata": { |
| 235 | + "collapsed": false |
| 236 | + }, |
219 | 237 | "outputs": [
|
220 | 238 | {
|
221 | 239 | "name": "stdout",
|
|
245 | 263 | {
|
246 | 264 | "cell_type": "code",
|
247 | 265 | "execution_count": 109,
|
248 |
| - "metadata": {}, |
| 266 | + "metadata": { |
| 267 | + "collapsed": true |
| 268 | + }, |
249 | 269 | "outputs": [],
|
250 | 270 | "source": [
|
251 | 271 | "# Join google trends with quandl coin data\n",
|
|
292 | 312 | {
|
293 | 313 | "cell_type": "code",
|
294 | 314 | "execution_count": 113,
|
295 |
| - "metadata": {}, |
| 315 | + "metadata": { |
| 316 | + "collapsed": true |
| 317 | + }, |
296 | 318 | "outputs": [],
|
297 | 319 | "source": [
|
298 | 320 | "# ## Recurrent Neural Network Model\n",
|
|
317 | 339 | {
|
318 | 340 | "cell_type": "code",
|
319 | 341 | "execution_count": 140,
|
320 |
| - "metadata": {}, |
| 342 | + "metadata": { |
| 343 | + "collapsed": false |
| 344 | + }, |
321 | 345 | "outputs": [
|
322 | 346 | {
|
323 | 347 | "name": "stdout",
|
|
444 | 468 | {
|
445 | 469 | "cell_type": "code",
|
446 | 470 | "execution_count": 141,
|
447 |
| - "metadata": {}, |
| 471 | + "metadata": { |
| 472 | + "collapsed": true |
| 473 | + }, |
448 | 474 | "outputs": [],
|
449 | 475 | "source": [
|
450 | 476 | "# Predict over the holdout test set and retain the hidden state\n",
|
|
462 | 488 | {
|
463 | 489 | "cell_type": "code",
|
464 | 490 | "execution_count": 142,
|
465 |
| - "metadata": {}, |
| 491 | + "metadata": { |
| 492 | + "collapsed": true |
| 493 | + }, |
466 | 494 | "outputs": [],
|
467 | 495 | "source": [
|
468 | 496 | "# Get the prediction and date value\n",
|
|
473 | 501 | {
|
474 | 502 | "cell_type": "code",
|
475 | 503 | "execution_count": 143,
|
476 |
| - "metadata": {}, |
| 504 | + "metadata": { |
| 505 | + "collapsed": false |
| 506 | + }, |
477 | 507 | "outputs": [
|
478 | 508 | {
|
479 | 509 | "name": "stdout",
|
|
492 | 522 | {
|
493 | 523 | "cell_type": "code",
|
494 | 524 | "execution_count": 160,
|
495 |
| - "metadata": {}, |
| 525 | + "metadata": { |
| 526 | + "collapsed": true |
| 527 | + }, |
496 | 528 | "outputs": [],
|
497 | 529 | "source": [
|
498 | 530 | "data_out = [{'price_prediction': predicted_price,\n",
|
|
504 | 536 | {
|
505 | 537 | "cell_type": "code",
|
506 | 538 | "execution_count": 161,
|
507 |
| - "metadata": {}, |
| 539 | + "metadata": { |
| 540 | + "collapsed": true |
| 541 | + }, |
508 | 542 | "outputs": [],
|
509 | 543 | "source": [
|
510 | 544 | "# # Persist Predictions\n",
|
|
528 | 562 | {
|
529 | 563 | "cell_type": "code",
|
530 | 564 | "execution_count": 162,
|
531 |
| - "metadata": {}, |
| 565 | + "metadata": { |
| 566 | + "collapsed": false |
| 567 | + }, |
532 | 568 | "outputs": [
|
533 | 569 | {
|
534 | 570 | "name": "stdout",
|
|
550 | 586 | }
|
551 | 587 | ],
|
552 | 588 | "metadata": {
|
| 589 | + "anaconda-cloud": {}, |
553 | 590 | "kernelspec": {
|
554 |
| - "display_name": "Python 3", |
| 591 | + "display_name": "Python [Root]", |
555 | 592 | "language": "python",
|
556 |
| - "name": "python3" |
| 593 | + "name": "Python [Root]" |
557 | 594 | },
|
558 | 595 | "language_info": {
|
559 | 596 | "codemirror_mode": {
|
|
565 | 602 | "name": "python",
|
566 | 603 | "nbconvert_exporter": "python",
|
567 | 604 | "pygments_lexer": "ipython3",
|
568 |
| - "version": "3.6.2" |
| 605 | + "version": "3.5.4" |
569 | 606 | }
|
570 | 607 | },
|
571 | 608 | "nbformat": 4,
|
|
0 commit comments