Graphlab:一个基于图像处理模型的开源图计算框架,GraphLab是面向机器学习的流处理并行框架
Graphlab 安装: Python必须是64位 , virtualenv 可以不装,Graphlab 安装在python安装所在的路径我这是在D盘
以下code运行在ipython notebook上
code :
import graphlab
sales = graphlab.SFrame('D:Studypythonspydepyodpshome_datahome_data.gl')
print sales.head(10)
graphlab.canvas.set_target('ipynb')
sales.show(view = 'Scatter Plot',x = 'sqft_living',y = 'price')
#将数据分成训练和测试两部分
training_data,test_data = sales.random_split(.8,seed = 0)
#features是变量,选取比较单一的变量做线性规划
sqft_model = graphlab.linear_regression.create(training_data,target = 'price',features = ['sqft_living'])
#对单一变量建立的模型进行评测
print test_data['price'].mean()
print sqft_model.evaluate(test_data)
#显示模型效果
import matplotlib.pyplot as plt
%matplotlib inline
plt.plot(test_data['sqft_living'],test_data['price'],'.',test_data['sqft_living'],sqft_model.predict(test_data),'-')
#建立新的变量元素
my_features = ['bedrooms','bathrooms','sqft_living','sqft_lot','floors','zipcode']
sales[my_features].show()
sales.show(view = 'BoxWhisker Plot', x = 'zipcode' ,y= 'price')
#由多元素建立的新模型
my_features_model = graphlab.linear_regression.create(training_data,target = 'price',features = my_features
#显示新模型效果评估
print sqft_model.evaluate(test_data)
print my_features_model.evaluate(test_data)
#两个模型显示对比
plt.plot(test_data['sqft_living'],test_data['price'],'.',test_data['sqft_living'],sqft_model.predict(test_data),
'-',test_data['sqft_living'],my_features_model.predict(test_data),'*')