本文展示了三种常用的特征选择方法:皮尔逊相关系数法、递归特征消除法、格兰杰因果检验法。
本文使用的数据集在本人上传的资源中,链接为mock_kaggle.csv
import pandas as pd
import numpy as np
import math
from matplotlib import pyplot as plt
from matplotlib.pylab import mpl
import tensorflow as tf
mpl.rcParams['font.sans-serif'] = ['SimHei'] #显示中文
mpl.rcParams['axes.unicode_minus']=False #显示负号
取数据
data=pd.read_csv('mock_kaggle.csv',encoding ='gbk',parse_dates=['datetime'])
Date=pd.to_datetime(data.datetime)
data=data.iloc[:,1:]
datanew=data.set_index(Date)
datanew
特价 | 股票 | 价格 | |
---|---|---|---|
datetime | |||
2014-01-01 | 0 | 4972 | 1.29 |
2014-01-02 | 70 | 4902 | 1.29 |
2014-01-03 | 59 | 4843 | 1.29 |
2014-01-04 | 93 | 4750 | 1.29 |
2014-01-05 | 96 | 4654 | 1.29 |
... | ... | ... | ... |
2016-07-27 | 98 | 3179 | 2.39 |
2016-07-28 | 108 | 3071 | 2.39 |
2016-07-29 | 128 | 4095 | 2.39 |
2016-07-30 | 270 | 3825 | 2.39 |
2016-07-31 | 183 | 3642 | 2.39 |
937 rows × 3 columns
方法一:皮尔逊相关系数法
皮尔逊相关系数法:用于衡量两个特征的线性相关程度。值大于0,表示两个变量正相关;值小于0,表示两个变量负相关;绝对值越大表示两个变量的线性相关程度越大。值等于0只能说明两个变量不是线性相关,但有可能是其它方式的相关。
datanew.corr(method=