资源简介

采用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\

评论

共有 条评论