资源简介
采用GA、ACO分别对ANFIS和SVM进行优化,预测股市的数据
代码片段和文件信息
# coding: utf-8
# In[12]:
#Common Library
import numpy as np
import pandas as pd
from __future__ import division
from datetime import datetimetimedelta
from dateutil import parser
#import time
from time import time
#Sklearn
from sklearn.svm import SVR
from sklearn.model_selection import train_test_split
from sklearn.decomposition import PCA
from sklearn.ensemble import RandomForestRegressor
from sklearn.multioutput import MultiOutputRegressor
from sklearn.feature_selection import SelectFromModel
from sklearn import preprocessing
#regression evaluation
from sklearn.metrics import explained_variance_score
from sklearn.metrics import r2_score
from sklearn.metrics import mean_squared_error
#Matplotlib
import matplotlib.pyplot as plt
# Anfis
#import anfis
#from membership import membershipfunction mfDerivs
# In[13]:
def totimestamp(dt epoch=datetime(197011)):
td = dt - epoch
# return td.total_seconds()
return (td.microseconds + (td.seconds + td.days * 86400) * 10**6) / 10**6
def DataPrepare(df):
df[‘TL baseD‘][0] = ‘ISE.TL‘
df[‘USD baseD‘][0] = ‘ISE.USD‘
df.columns = df.iloc[0]
df.drop(df.index[0] inplace=True)
df.rename(columns={‘ISE‘: ‘ISE.TL‘ ‘ISE‘: ‘ISE.USD‘} inplace=True)
#col_target = [‘ISE.TL‘ ‘ISE.USD‘]
col_target = [‘ISE.TL‘]
target = df[col_target]
data = df.drop([‘ISE.TL‘ ‘ISE.USD‘] axis=1)
data[‘date‘] = pd.to_datetime(data[‘date‘])
#print(data[‘date‘][0])
ms = []
for i in range(1 len(data[‘date‘])+1):
#print(int(totimestamp(data[‘date‘][i])))
ms.append(int(totimestamp(data[‘date‘][i])))
data[‘date‘] = ms
return data target
# In[15]:
def ReadData():
df = pd.read_csv(‘IstanbulStockExchangeUCI/IstanbulStockExchangeUCI.csv‘ delimiter=‘;‘)
#print(df.head())
return DataPrepare(df)
#data target = ReadData()
# In[16]:
def CreateFeatureSelectionModel(x_train y_train threshold = 0.1):
from sklearn.ensemble import RandomForestRegressor
from sklearn.feature_selection import SelectFromModel
sfm_m = RandomForestRegressor(max_depth=30 random_state=0)
sfm = SelectFromModel(sfm_m threshold=threshold)
sfm.fit(x_train y_train)
return sfm
def DoFeatureSelection(model data):
return model.transform(data)
def DoInverseFeatureSelection(mode data):
return model.inverse_transform(data)
# In[17]:
def CreateDataScaleModel(x_train y_train):
from sklearn.preprocessing import MinMaxScaler
scaler_x = MinMaxScaler()
scaler_x.fit(x_train)
scaler_y = MinMaxScaler()
scaler_y.fit(y_train)
return scaler_x scaler_y
def DataScale(model data):
return model.transform(data)
# In[21]:
def GetData(DoFS = True):
data target = ReadData()
sfm = CreateFeatureSelectionModel(data target 0.25)
if DoFS == True:
X = DoFeatureSelection(sfm data)
else:
X = data.values
Y = target.values[:0]
aa = np.hstack([Xtarge
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-12-25 23:50 ga_aco_opt_on_anfis_svm-master\.ipynb_checkpoints\
文件 2212691 2019-12-25 23:50 ga_aco_opt_on_anfis_svm-master\.ipynb_checkpoints\ANFIS_IstanbulStockExchange-checkpoint.ipynb
文件 2212691 2019-12-25 23:50 ga_aco_opt_on_anfis_svm-master\ANFIS_IstanbulStockExchange.ipynb
文件 21960 2018-06-24 07:30 ga_aco_opt_on_anfis_svm-master\ANFIS_IstanbulStockExchange.py
目录 0 2019-12-25 21:27 ga_aco_opt_on_anfis_svm-master\IstanbulStockExchangeUCI\
文件 64095 2018-06-24 07:30 ga_aco_opt_on_anfis_svm-master\IstanbulStockExchangeUCI\IstanbulStockExchangeUCI.csv
文件 64095 2018-06-24 07:30 ga_aco_opt_on_anfis_svm-master\IstanbulStockExchangeUCI\IstanbulStockExchangeUCI2.csv
目录 0 2019-12-25 23:50 ga_aco_opt_on_anfis_svm-master\
- 上一篇:Python量化交易教程
- 下一篇:car_detected.py
评论
共有 条评论