机器学习 因子筛选


前言

提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

1.引入库

代码如下(示例):

from sklearn.decomposition import PCA
from sklearn.feature_selection import VarianceThreshold
from sklearn.preprocessing import MinMaxScaler
from sklearn.preprocessing import StandardScaler
import numpy as np
import matplotlib.pyplot as plt

数据准备

1.归一化

在这里插入图片描述

def minmax(tableName):
    """
    归一化
    :return:
    """
    #1.获取数据
    data = selectProData(tableName)

    #2.实例化一个转换器
    transfer = MinMaxScaler(feature_range =[0,1])
    #3.调用fit_transform
    data_new = transfer.fit_transform(data)
    data_new = pd.DataFrame(data_new, columns=data.columns[transfer.get_support(True)])
    insertMysqlPro(data_new,tableName+"_minmax")
    return None

2.标准化

在这里插入图片描述

def stand(tableName):
    """
    标准化
    :return:
    """
    #1.获取数据
    data = selectProData(tableName)
    data = data.iloc[:,1:].select_dtypes(include=['int64', 'float64'])

    print(data)
    print(data.values)
    #2.实例化一个转换器
    transfer = StandardScaler()
    #3.调用fit_transform
    data_new = transfer.fit_transform(data)
    data_new = pd.DataFrame(data_new, columns=data.columns[transfer.get_support(True)])
    insertMysqlPro(data_new, tableName + "_stand")
    return None

一、过滤式

1.方差过滤

def variance(tableName):
    """
    过滤地方插特征
    :return:
    """
    # 1.获取数据
    data = selectProData(tableName)
    # 2.实例化一个转换器
    transfer = VarianceThreshold(threshold=1.0)
    # 3.调用fit_transform
    data_new = transfer.fit_transform(data)
    data_new = pd.DataFrame(data_new, columns=data.columns[transfer.get_support(True)])
    insertMysqlPro(data_new, tableName + "_variance")
    return None

方法缺点:在方差阈值选择的时候,有主观性

2.皮尔逊系数

def calcPearson(tableName):
    """
    皮尔逊系数
    一般划分为3级,r绝对值小于0.4低相关,04~0.7,0.7~1
    :param tableName:
    :return:
    """
    df = selectProData(tableName)
    df = df.corr(method='pearson')
    sns.set_style('darkgrid')
    mask = np.array(df)
    mask[np.tril_indices_from(mask)] = False
    # plt.figure(figsize = (8, 6))
    sns.heatmap(df, mask = mask, annot = True, cmap = 'autumn', linewidths = 0.2)
    pngName  =  tableName+"_热度图滑坡点.png"
    path5= r'E:\Image\\'+pngName
    #画图中文乱码 如遇中文显示问题可加入以下代码
    plt.rcParams['font.sans-serif']=['SimHei']
    plt.rcParams['axes.unicode_minus']=False
    plt.savefig(path5,dpi=500,bbox_inches = 'tight')
    plt.show()
    insertMysqlPro(df,tableName+"_pearson")
    return df

做信度和效度检验

信度使用CronbachAlpha检验

使用spss做

效度度使用

1.巴特利球形度检验
2.kmo检验

3.主成分分析

def pca(tableName):
    """
    pca降维,主成分分析
    :param tableName:
    :return:
    """
    # 1.获取数据
    data = selectProData(tableName)
    data = data.iloc[:, 1:].select_dtypes(include=['int64', 'float64'])
    print(data)
    # 2.实例化一个转换器
    transfer = PCA()
    # 3.调用fit_transform
    data_new = transfer.fit_transform(data)
    data_new = pd.DataFrame(data_new)
    print(data_new)
    # data_new = transfer.inverse_transform(data_new)
    # print(transfer.components_)
    explained_variance_ratio_ = transfer.explained_variance_ratio_
    explained_variance_ratio_ = explained_variance_ratio_.tolist()
    print(explained_variance_ratio_)
    df = pd.DataFrame(explained_variance_ratio_)
    print(df)
    print(len(df))
    print(len(df.iloc[0,:]))
    print(explained_variance_ratio_)
    print(type(explained_variance_ratio_))
    print(len(explained_variance_ratio_))
    print(len(data.columns))  
    # insertMysqlPro(data_new, tableName + "_pac")
    return None

4.因子分析

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、嵌入式

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
天风证券采用机器学习因子模型进行投资组合优化中的信息系数(IC)优化具体包括以下几个方面。 首先,天风证券通过机器学习技术挖掘历史数据中的多个因子,以更好地解读市场行为。这些因子可以包括财务指标、技术指标、宏观经济指标等,通过机器学习算法对这些因子进行分析,可以在海量数据中发现隐藏的关联性和趋势。 其次,天风证券运用机器学习算法实现因子选择和因子权重调整的最优化。通过机器学习算法的训练和回测,可以快速且准确地筛选出具有较高预测能力的因子,并确定不同因子的权重大小。这样的优化可以优化投资组合的收益和风险,提高IC值。 另外,天风证券机器学习因子模型还可以进行自动化的投资决策。通过对历史数据进行大量的机器学习训练,模型可以学习到市场的规律和特征,进而根据当前市场环境和因子表现进行快速的决策。这样的自动化决策可以提高交易效率和及时性,降低人为干预的风险。 最后,天风证券还可以通过机器学习因子模型对投资组合进行动态调整和优化。随着市场环境和因子表现的变化,模型可以根据实时数据对投资组合进行动态调整,及时减少或增加某些因子的权重,以适应市场的波动和变化,进一步提高投资组合的盈利能力和IC值。 总之,天风证券通过机器学习因子模型优化IC,旨在通过挖掘历史数据中的因子,并通过机器学习算法的训练和优化,实现投资组合的动态调整和优化,提高投资组合的收益和风险平衡。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值