dato.org官网下载客户端安装即可,比较方便,如果使用代码安装比较费劲。
activate dato_env
jupyter notebook
import graphlab
sf = graphlab.SFrame('==data==.csv')
sf
sf.show()
默认的是在浏览器中打开新窗口,如果要在当前notebook界面输出结果,可以使用:
graphlab.canvas.set_target('ipynb')
默认的为:
graphlab.canvas.set_target(‘browser’)
sf
命令输出的是表格的前几行数据,使用sf.head()
可以达到同样的目的,同样,使用sf.tail()
可以显示表格的最后几行数据。
sf['country]
sf['age'].mean()
sf['age'].max()
sf['age'].min()
sf['Full Name'] = sf['First Name'] + sf['Last Name']
sf['age'] = sf['age'] + 2
def tranform_country(country):
if country == 'USA':
return 'United States'
else:
return country
##每一行都会调用上面的tranform_country方法
sf['Country'] = sf['Country'].apply(transform_country)
sales = graphlab.SFrame('house_data.csv')
train_data, test_data = sales.random_split(0.8,seed=0)
其中random_split
是指随机分割函数,0.8代表train_data和test_data所占比例,seed=0代表随机数算法设定的种子。
使用train_data
和test_data
命令可以分别查看它们的数据内容。
sqtf_model = graphlab.linear_regression.create(train_data,target='price',features=['sqtf_living'])
其中,target代表Y轴,features代表X轴
import matplotlib.pyplot as plt
plt.plot(test_data['sqtf_living'],test_data['price'])
plt.scatter(test_data['sqtf_living'],test_data['price'])
plt.plot(sf['size'], sf['price'], '.',sf['size'], model.predict(sf),'-')
其中predict是预测出来的值,使用-来表示,也就是最后结果为直线
如果要在当前notebook界面下显示则可以使用:
%matplotlib inline
来设置
含有多个曲线的作图:
其中’^’和’-‘代表每个点的形式是三角还是直线,’–’表示虚线,sqtf_model.predic(test_data)代表的是数据的预测,代码表示的是画出原始数据和预测数据并用不同的图线表示出来。
sqtf_mode.get('coefficients')
my_features = ['bedrooms','bathrooms','sqtf_living']
sales[my_features].show()
%matplotlib inline
import graphlab
import matplotlib.pyplot as plt
加载文件
data = graphlab.SFrame('ex1data1.txt')
#分割训练样本和测试样本
train_data, test_data = data.random_split(.8, seed=0)
#训练线性模型
linear_model = graphlab.linear_regression.create(train_data, target = 'price', features = ['size'])
#输出图标
plt.plot(train_data['size'], train_data['price'],'.', train_data['size'], linear_model.predict(train_data),'-')
#输出误差
linear_model.evaluate(train_data)
linear_model.evaluate(test_data)
#输出获得的参数
linear_model.get('coefficients')
#对测试样本进行预测
linear_model.predict(test_data)
#将测试样本结果画成图表
plt.plot(test_data['size'], test_data['price'],'.',test_data['size'],linear_model.predict(test_data),'-')