【有书共读】python带我起飞读书笔记10
第11章 实战
1. 爬取股票内容
import urllib.request import re stock_CodeUrl = 'http://quote.eastmoney.com/stocklist.html' #获取股票代码列表 def urlTolist(url): allCodeList = [] html = urllib.request.urlopen(url).read() html = html.decode('gbk') s = r'<li><a target="_blank" href="http://quote.eastmoney.com/\S\S(.*?).html">' pat = re.compile(s) code = pat.findall(html) for item in code: if item[0]=='6' or item[0]=='3' or item[0]=='0': allCodeList.append(item) return allCodeList if __name__=='__main__': allCodelist = urlTolist(stock_CodeUrl) print(allCodelist[:10])
第12章 自动化实战:读取Excel数据文件,并用可视化分析
from sklearn.manifold import TSNE import matplotlib as mpl import matplotlib.pyplot as plt mpl.rcParams['font.family'] = 'STSong' import pandas as pd df = pd.read_csv("d://all_stock_data//600001.csv",encoding = "gbk") print(df.head(1)) # 输出部分信息 df.plot() #图示 price = df[['日期','收盘价']] #选取关注列 print(price[:5]) #输出部分信息 price.columns = ["data",'price'] #修改列名 print(price[:5]) #输出部分信息 df_new = df[['日期','开盘价','收盘价']].set_index('日期')# 修改索引 print(df_new[:5]) #输出部分信息 df_new['收盘价'][:20].plot(kind = 'bar') #以直方图形式显示 df_new[:20].plot() #以直方图形式显示
第13章 从一组看似混乱的数据中找出y=2x的规律
本案例大概分为如下四步:
1.准备数据
2.训练模型并实现可视化
3.评估模型
4.保存模型,并应用模型
1.准备数据
代码:
import numpy as np import matplotlib.pyplot as plt #样本准备 train_X = np.linspace(-1, 1, 100) train_Y = 2 * train_X + np.random.randn(*train_X.shape) * 0.3 # y=2x,但是加入了噪声 #显示模拟数据点 plt.plot(train_X, train_Y, 'ro', label='Original data') plt.legend() plt.show()
输入6,的模型预测结果: [[ 12.03576099]] 线性模型的斜率与截距: [[ 1.99726304]] [ 0.05218275] 使用斜率与截距的计算结果: [[ 12.03576099]]
2.训练模型并实现可视化
代码:
#模型训练及可视化 from sklearn.linear_model import LinearRegression model = LinearRegression() model.fit(train_X.reshape(100,1),train_Y.reshape(100,1)) print("输入6,的模型预测结果:",model.predict(6)) print("线性模型的斜率与截距:",model.coef_,model.intercept_) #y = kx+b print("使用斜率与截距的计算结果:",model.coef_*6 +model.intercept_ )
3.评估模型
#模型评估 X_test = np.linspace(11,20,20) Y_test = 2 * X_test + np.random.randn(*X_test.shape) * 0.3 print("模型评估的分值:",model.score(X_test.reshape(20,1),Y_test.reshape(20,1)))4.保存模型,并应用模型
#模型保存,及应用 from sklearn.externals import joblib joblib.dump(model, "train_model.m") model = joblib.load("train_model.m") print("导入模型,并输入6得到的预测结果:",model.predict(6))
模型评估的分值: 0.997262181599 导入模型,并输入6得到的预测结果: [[ 12.03576099]]