kaggle竞赛入门整理
1、Bike Sharing Demand
kaggle: https://www.kaggle.com/c/bike-sharing-demand
目的:根据日期、时间、天气、温度等特征,预测自行车的租借量
处理:1、将日期(含年月日时分秒)提取出年,月, 星期几,以及小时
2、season, weather都是类别标记的,利用哑变量编码
算法模型选取:
回归问题:1、RandomForestRegressor
2、GradientBoostingRegressor
# -*- coding: utf- -*-
import csv
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt train = pd.read_csv('data/train.csv')
test = pd.read_csv('data/test.csv') # 选取特征值
selected_features = ['datetime', 'season', 'holiday',
'workingday', 'weather', 'temp', 'atemp', 'humidity', 'windspeed'] #X_train = train[selected_features]
Y_train = train["count"]
result = test["datetime"] # 特征值处理
month = pd.DatetimeIndex(train.datetime).month
day = pd.DatetimeIndex(train.datetime).dayofweek
hour = pd.DatetimeIndex(train.datetime).hour
season = pd.get_dummies(train.season)
weather = pd.get_dummies(train.weather) X_train = pd.concat([season, weather], axis=)
X_test = pd.concat([pd.get_dummies(test.season), pd.get_dummies(test.weather)], axis=)
X_train['month'] = month
X_test['month'] = pd.DatetimeIndex(test.datetime).month
X_train['day'] = day
X_test['day'] = pd.DatetimeIndex(test.datetime).dayofweek
X_train['hour'] = hour
X_test['hour'] = pd.DatetimeIndex(test.datetime).hour
X_train['holiday'] = train['holiday']
X_test['holiday'] = test['holiday']
X_train['workingday'] = train['workingday']
X_test['workingday'] = test['workingday']
X_train['temp'] = train['temp']
X_test['temp'] = test['temp']
X_train['humidity'] = train['humidity']
X_test['humidity'] = test['humidity']
X_train['windspeed'] = train['windspeed']
X_test['windspeed'] = test['windspeed'] from sklearn.ensemble import *
clf = GradientBoostingRegressor(n_estimators=, max_depth=)
clf.fit(X_train, Y_train)
result = clf.predict(X_test)
result = np.expm1(result) df=pd.DataFrame({'datetime':test['datetime'], 'count':result})
df.to_csv('results1.csv', index = False, columns=['datetime','count']) from sklearn.ensemble import RandomForestRegressor
gbr = RandomForestRegressor()
gbr.fit(X_train, Y_train) y_predict = gbr.predict(X_test).astype(int) df = pd.DataFrame({'datetime': test.datetime, 'count': y_predict})
df.to_csv('result2.csv', index=False, columns=['datetime', 'count'])
#predictions_file = open("RandomForestRegssor.csv", "wb")
#open_file_object = csv.writer(predictions_file)
#open_file_object.writerow(["datetime", "count"])
#open_file_object.writerows(zip(res_time, y_predict))
2、Daily News for Stock Market Prediction
通过历史数据:包含每日点击率最高的25条新闻,与当日股市涨跌,来预测未来股市涨跌
方法一:
1、将25条新闻合并成一篇新闻,然后对每个单词做预处理(去掉特殊字符,含数字的单词,删除停词,变成小写,取词干),然后用TF-IDF提取特征,用SVM训练
2、用word2vec提取特征
具体实现:
https://github.com/yjfiejd/News_predict
3、
kaggle竞赛入门整理的更多相关文章
- Kaggle竞赛入门(二):如何验证机器学习模型
本文翻译自kaggle learn,也就是kaggle官方最快入门kaggle竞赛的教程,强调python编程实践和数学思想(而没有涉及数学细节),笔者在不影响算法和程序理解的基础上删除了一些不必要的 ...
- Kaggle竞赛入门:决策树算法的Python实现
本文翻译自kaggle learn,也就是kaggle官方最快入门kaggle竞赛的教程,强调python编程实践和数学思想(而没有涉及数学细节),笔者在不影响算法和程序理解的基础上删除了一些不必要的 ...
- 《Python机器学习及实践:从零开始通往Kaggle竞赛之路》
<Python 机器学习及实践–从零开始通往kaggle竞赛之路>很基础 主要介绍了Scikit-learn,顺带介绍了pandas.numpy.matplotlib.scipy. 本书代 ...
- 《机器学习及实践--从零开始通往Kaggle竞赛之路》
<机器学习及实践--从零开始通往Kaggle竞赛之路> 在开始说之前一个很重要的Tip:电脑至少要求是64位的,这是我的痛. 断断续续花了个把月的时间把这本书过了一遍.这是一本非常适合基于 ...
- kaggle竞赛分享:NFL大数据碗(上篇)
kaggle竞赛分享:NFL大数据碗 - 上 竞赛简介 一年一度的NFL大数据碗,今年的预测目标是通过两队球员的静态数据,预测该次进攻推进的码数,并转换为该概率分布: 竞赛链接 https://www ...
- 如何使用Python在Kaggle竞赛中成为Top15
如何使用Python在Kaggle竞赛中成为Top15 Kaggle比赛是一个学习数据科学和投资时间的非常的方式,我自己通过Kaggle学习到了很多数据科学的概念和思想,在我学习编程之后的几个月就开始 ...
- 初窥Kaggle竞赛
初窥Kaggle竞赛 原文地址: https://www.dataquest.io/mission/74/getting-started-with-kaggle 1: Kaggle竞赛 我们接下来将要 ...
- (Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO
http://www.cnblogs.com/sxiszero/p/3618737.html 下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年 ...
- [刷题]算法竞赛入门经典 3-12/UVa11809
书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 题目:算法竞赛入门经典 3-4/UVa11809:Floating-Point Numbers 代码: //UVa11 ...
随机推荐
- .net core 2.0 配置Session
本文章为原创文章,转载请注明出处 配置Session 在Startup.cs文件的ConfigureServices方法中添加session services.AddSession(); 在Start ...
- John the Ripper-弱口令检测
简介 John the Ripper免费的开源软件,是一个快速的密码破解工具,用于在已知密文的情况下尝试破解出明文的破解密码软件,支持目前大多数的加密算法,如DES.MD4.MD5等.它支持多种不同类 ...
- BZOJ3239Discrete Logging——BSGS
题目大意:给出$P,B,N$,求最小的正整数$L$,使$B^L\equiv N(mod\ P)$. $BSGS$模板题. #include<set> #include<map> ...
- L - Vases and Flowers HDU - 4614 线段树+二分
题意 给出一排空花瓶 有两种操作 1是 从A花瓶开始放F朵花 如果当前瓶有花就跳过前往下一个 直到花用完或者 瓶子到了最后一个为止 输出 成功放花的第一个和最后一个 如果没有输出 can not. ...
- ionic更改端口号
—— 重新指定端口号为8888 serve [options] ............................... 启动本地服务器进行开发测试 dev/testing [--console ...
- windows 下项目打包、备份、覆盖、md5check
工具从网络自行下载,目前我存储在网盘上,可下载后调用 更新包打包.创建md5,压缩成.zip 现有项目按日期备份 覆盖项目并做md5check @echo off rem ============== ...
- html内嵌框架
html内嵌框架 <iframe>标签会创建包含另外一个html文件的内联框架(即行内框架),src属性来定义另一个html文件的引用地址,frameborder属性定义边框,scroll ...
- p1184高手之在一起
P1184 题目背景 高手是可以复活的,这点我们大家都知道. 题目描述 高手列出了一个详尽的日程表,这次他要追求的则是一个心灵纯洁的小萝莉.他和她都是要上课的,但是也会有时间空闲,于是高手决定无时无刻 ...
- Libre OJ 130、131、132 (树状数组 单点修改、区间查询 -> 区间修改,单点查询 -> 区间修改,区间查询)
这三题均可以用树状数组.分块或线段树来做 #130. 树状数组 1 :单点修改,区间查询 题目链接:https://loj.ac/problem/130 题目描述 这是一道模板题. 给定数列 a[1] ...
- Jupyter ~ 像写文章般的 Coding (附:同一个ipynb文件,执行多语言代码)
前面用了好久Notebook来交互式编程了,这次说说几个其他的选项: Notebook Markdown 这次选Markdown模式(关于Markdown基础可以看之前写的Markdown Base) ...