2016.04.08
Note_11
引入了高大上的matplotlib,但是一直报错,难过!
Export了一下DISPLAY,结果果然是因为ssh!!!
决定规避显示的环节!!
可视化!!!!初步搞定!!!!!感激涕零!!!!
Bug解决了以后,冷静下来发现,其实刚开始解决这个问题的时候,就想过这个规避的方法,也找到了下面第二个参考,但是没有很好的认识,太天真。
想要可视化决策树,但是好像太麻烦了,决定换一个思路,直接出拟合结果的效果图!
顺便整理一下Matplotlib常见图类型
折线图&散点图 Line and scatter plots
- 折线图 Line plots(关联一组x和y值的直线)
import numpy as np import pylab as pl x = [1, 2, 3, 4, 5] # Make an array of x values y = [1, 4, 9, 16, 25] # Make an array of y values for each x value pl.plot(x, y) # use pylab to plot x and y pl.show() # show the plot on the screen
- 散点图 Scatter plots
把pl.plot(x, y)改成pl.plot(x, y, ‘o’)即可。
美化 Making things look pretty
- 线条颜色 Changing the line color
红色:把pl.plot(x, y, ‘o’)改成pl.plot(x, y, ’or’) - 线条样式 Changing the line style
虚线:plot(x,y, ‘–’) - marker样式 Changing the marker style
蓝色星型markers:plot(x,y, ‘b*’) - 图和轴标题以及轴坐标限度 Plot and axis titles and limits
import numpy as np import pylab as pl x = [1, 2, 3, 4, 5]# Make an array of x values y = [1, 4, 9, 16, 25]# Make an array of y values for each x value pl.plot(x, y)# use pylab to plot x and y pl.title(’Plot of y vs. x’)# give plot a title pl.xlabel(’x axis’)# make axis labels pl.ylabel(’y axis’) pl.xlim(0.0, 7.0)# set axis limits pl.ylim(0.0, 30.)
- 线条颜色 Changing the line color
2016.04.09
LAMP环境
安全模式下手动修改mysql root账号的登录密码以后,一直报错-验证错误。
Password(‘xxxxxx’),坑死!这就是所谓的加密么。。
Python import mysqldb出错
sudo apt-get install python-mysqldb
PHP执行Linux平台指令权限不够
PHP执行Linux指令可以直接使用exec(‘xxx’), system(‘xxx’), shell_exec(‘xxx’)
为了便于维护,使用Shell脚本直接执行所有需要在Linux上运行的指令。
一切都准备就绪了,但是命令就是不执行?
参考一下,lsof指令执行方式:
lsof [options] filename
lsof |more之后看到是因为权限问题,执行的账户为www-data。
www-data?请问这是啥?估计应该是apache的默认执行用户,知道问题之后,原来想把spark所在的位置里全部文件权限全部放开,777,结果777之后做所有操作都需要密码验证。
ssh 无密码验证 及 ssh localhost 仍然需要密码的解决方案.2016.04.11
还是改回去,这个思路看来走不通,那就把默认执行账户改成spark的owner就可以了。
php利用root权限执行shell脚本.2016.04.11
exec加载不到环境变量
然而转换执行者成功后,还是不行。为什么?!报的错是没有找到spark-submit?
这就有问题了。
难道是执行者还是不对?考虑再三决定把spark-submit的路径带上去,这次的报错不一样了!!没有找到JAVA_HOME!
What does it mean?
意思就是,的确就是路径的问题,php调用以后,没有加载环境配置?/etc/environment没有被执行。
没有关系,那就把需要的环境变量export一下就好了!
Python连接数据库,操作后无数据更新
重新查一遍之前的链接:
python如何连接mysql数据库.2016.04.09
conn.commit()很重要!
一切闲杂的前端全部搞定之后,来一张成功图!做个备份!
完美!
有一件很奇怪的事,每次的结果不一样?
想想也有道理,train训练集每次都是随机分的,尽管参数调优之后,树深度之类都是相同的,但是,由于训练集不同,且最后训练出来的model没有保存,每次都是重新训练,并得出测试集的结果,所以,结果可能就不尽相同。
2016.04.12
时间还算充裕,准备做一个聚类模型玩玩。
调用ALS前后出现function object找不到attribute和没有找到ALS的productFeatures的错误。
先给个ALS的调用API
ALS.train(ratings, rank, iterations=5, lambda_=0.01, blocks=-1, nonnegative=False, seed=None)[source]
错误原因:包导入出错 / 函数的最后没有加 (),python和scala语言是不同的。
果然之前学了一点scala就把原来学过之后没有大量投入使用的python语法记混了。
这就方便解决了。微调,结束!
2016.04.12
结论,shell脚本只能在linux环境下创建?
「–我要报bug!!我的天!!csdn这能忍?算了,下次还是本地写完导入吧。。太麻烦了!」
「最后一点丢失了–,大概可能也许被我毁了。。不重要,Spark和Hadoop集群搭建,以及初步的内容都已经全都包含了~」