红米型号mae136


红米型号mae136  

该程序主要用于处理和分析股票数据,采用Lasso回归模型进行预测,并对预测结果进行评估和可视化展示。

在数据处理阶段,我们从名为“data/sh2018.csv”的文件中读取股票数据,按索引排序后,创建新的列“xprice”和“close_next”,并采用前向填充法处理缺失的数据值。这样可以确保数据的完整性和准确性,为后续的分析和预测提供可靠的数据基础。

接下来,我们根据时间范围将数据集划分为训练集和测试集。具体来说,我们以2010年10月10日至2017年12月31日的数据作为训练集,而将索引大于2018年的数据作为测试集。这样的划分有助于我们更好地评估模型在未知数据上的表现。

在模型训练和预测阶段,我们设置了Lasso回归模型。我们将训练集的特征数据转换为np.float32类型,然后进行模型的训练。训练完成后,使用训练好的模型对测试集数据进行预测。

导入系统模块路径,并添加自定义模块路径

python

import sys

sys.path.append("topqt/")

导入数据处理和分析的pandas库

python

import pandas as pd

导入数值计算的numpy库

python

import numpy as np

导入sklearn库的线性模型模块

python

from sklearn import linear_model

导入自定义模块

python

import zsys

import ztools as zt

import ztools_str as zstr

import ztools_web as zweb

import ztools_data as zdat

import ztools_draw as zdr

import ztools_ai as zai

import zpd_talib as zta

读取并处理数据

python

print('1,读取数据')

fss='data/sh2018.csv'

xdf=pd.read_csv(fss,index_col=0)

xdf=xdf.sort_index()

zt.prDF('xdf',xdf)

print('2,处理数据')

xdf['xprice']=xdf['close'].shift(-1)

xdf['close_next']=xdf['xprice']

xdf.fillna(method='pad',inplace=True)

zt.prDF('xdf',xdf)

划分训练集和测试集

python

print('3,划分数据')

tim0str,tim9str='2010-10-10','2017-12-31'

df_train=zdat.df_kcut8tim(xdf,'',tim0str,tim9str)

zt.prDF('3.1 df_train',df_train)

df_test=xdf[xdf.index>'2018']

zt.prDF('3.2 df_test',df_test)

准备AI数据

python

print('4,准备AI数据')

clst=['open','high','low','close']

x=df_train[clst].values

y=df_train['close_next'].values

x = x.astype(np.float32)

xtst=df_test[clst].values

设置并训练模型

python

print('5,模型设置')

mx = linear_model.Lasso()

print('6,训练模型')

mx.fit(x,y)

预测数据并绘制对比曲线图

python

print('7,预测数据')

df_test['close_pred']=mx.predict(xtst)

zt.prDF('df',df_test)

print('8,绘制对比曲线图')

df_test[['close_next','close_pred']].plot(linewidth=3)

验证模型预测效果

python

print('9,验证模型预测效果')

print('9.1,按5%精度验证模型')

dacc,df=zai.ai_acc_xed2x(df_test['close_next'],df_test['close_pred'],5,True)

print('acc',dacc)

print('9.2,按1%精度验证模型')

dacc,df,xlst=zai.ai_acc_xed2ext(df_test['close_next'],df_test['close_pred'],1,True)

print('acc',dacc)

print('ok!')

运行并打印相关信息

python

runfile('D:/zwPython/zwrk/5_机器学习与量化/kb1102_lasso_reg.py', wdir='D:/zwPython/zwrk/5_机器学习与量化')

Reloaded modules: zsys, ztools, ztools_str, ztools_web, ztools_data, ztools_tq, zpd_talib, ztools_draw, ztools_ai

1,读取数据

2,处理数据

3,划分数据

4,准备AI数据

5,模型设置

6,训练模型

7,预测数据

8,绘制对比曲线图

9,验证模型预测效果

  红米型号mae136