尝试向分析类转型1--scikit-learn(机器学习) 和 Weka(数据挖掘)
前段时间的那个微博爬虫一直爬着。。现在库里有20w id 和 10 w 转发微博 10w 原创微博这个项目算是失败了,因为效率太低了,微博更新那么快,爬虫速度又那么慢。。。所以根本来不及拿下最有代表性的数据算了,既然爬就让它慢慢爬把19w 的人还没爬朋友 2500 人爬了朋友 700人爬了微博结果如上言归正传,今天装了一下s
前段时间的那个微博爬虫一直爬着。。
现在库里有20w id 和 10 w 转发微博 10w 原创微博
这个项目算是失败了,因为效率太低了,微博更新那么快,爬虫速度又那么慢。。。
所以根本来不及拿下最新最有代表性的数据
算了,既然爬就让它慢慢爬把,也算是对历史数据的分析把。
19w 的人还没爬朋友 2500 人爬了朋友 700人爬了微博
结果如上
言归正传,今天装了一下scikit-learn,千万不要费时间用pip 安装啊,费事不讨好,还搞不定
我用的最简单啊apt-get的方法
sudo apt-get update
sudo apt-get install python-numpy(科学计算)
sudo apt-get install python-scipy
sudo apt-get install python-matplotlib (画图)
sudo apt-get install python-sklearn(装最后一个一定要装前两个)
然后就ok了,虽然可能用apt方法安装呢,版本不一定是最新,但是至少节约时间,不用瞎搞
然后装weka
linux我是在软件中心装的,windows我是在官网上下的
官网下的怎么都连不上mysql数据库这个真是坑,因为程序里并没有自带连接mysql 的jdbc的驱动jar包
1)新建文件夹lib和文件夹weka,然后将mysql-connector-java-5.1.6-bin.jar复制到lib文件夹中
2)“我的电脑”属性,设置环境变量
新建变量WEKA_HOME=weka的安装目录,如(D:\Prgrams\weka-3.6)
在CLASSPATH变量中添加“;%WEKA_HOME%\lib\mysql-connector-java-5.1.6-bin.jar”
3)将weka.jar解压到weka文件夹(新建)中,然后进入weka\experiment,找到DatabaseUtils.props(缺省使用)将其重新命名备份;假设我们要连接的mysql数据库,则将DatabaseUtils.props.mysql重新命名为DatabaseUtils.props,然后做如下修改:
# JDBC driver (comma-separated list)
#jdbcDriver=org.gjt.mm.mysql.Driver 把前面的#删掉,表示注释单行。。。
修改为:jdbcDriver=com.mysql.jdbc.Driver
# database URL,保持不变
jdbcURL=jdbc:mysql://server_name:3306/database_name ~
或者
将mysql jdbc驱动mysql-connector-java-5.1.6-bin.jar拷贝至Weka安装目录, 并在classpath添加此驱动目录地址,注销电脑,就可以在Weka的SQL-Viewer中的URL填入jdbc:mysql://localhost:3306/dm?user=root&password=root,点击Connect按钮即可。
如果想要固定Weka的SQL-Viewer中的URL数据的话,将Weka.jar拖入到WinRAR, 进入weka\experiment目录下,修改DatabaseUtils.props中的jdbcURL为jdbcURL=jdbc:mysql://localhost:3306/dm?user=root&password=root,其中用户密码为自己数据库内的。
对了,windows这里打开请用带(console)的那个exe jar 文件
因为可以在控制台里看到错误信息
linux上的还没调通,明天再看看,因为在软件中心下的,所以还要去看看它到底把weka放在了哪个目录下。。。真头疼。。。
今天还发现一个数据库问题,20w 和10w 做左连接,duration/fetch 时间是14/47。
这个要在要求2s必须响应的应用里简直不能忍
而且同一条语句,就是加了个where条件和加了个聚合函数,结果就变得遥遥无期的长。。。。
如下 1要远远大于2 的时间。。
1、select count(a.wid) from w_user a left join w_transfer b
on a.wid=b.wid where weiboid is null limit 0,1000;
2、select * from w_user a left join w_transfer b on a.wid=b.wid LIMIT 0, 1000;
今天还看了麦肯锡和黑石公司。。。好像好厉害的样子
明天把原来建的hadoop集群开起来,试试hive 和sqoop (kettle,imformatica,datastage公司用)
更多推荐
所有评论(0)