PYTHONビッグデータ・アナリティクス-IWCトーナメントタイトル1(事業投資評価)データ分析手法

まず、目的

トーナメントはそれが新しい企業に基づいて推定することができるということを記録した、モデルをトレーニング、37 EXCELの表の情報と企業評価の公式の申し出に応じて、主な問題です。
ここに画像を挿入説明
データのテーブルは、あるここに画像を挿入説明
企業は、このスコアであります
ここに画像を挿入説明

第二に、コードの構造を概説しました

下に示すように、全体のプロジェクトは、データは4つの部分(Data_Processing)を洗浄、生データ(excel_sources)、訓練データ(TEST_DATA)、アルゴリズム(アルゴリズム)を含みます。
ここに画像を挿入説明

  1. Mathimatics -数値アルゴリズム、現在のモデルにテストで使用されるアルゴリズムが含まれていますが、電車関数のアルゴリズムのコメントによって訓練main.pyで選択することができます
    ここに画像を挿入説明
  2. Data_processing:37 [ゲーム公式異なるデータ形式のテーブルは、データテーブル間の独立の加工容易にするために、各テーブルは、モジュールを洗浄パイソンから構成され、インタフェース機能を提供し、月main.pyデータフレームの変数にスプライシングすることにより、最後のconcat関数を呼び出し、コメントフォームの選択肢を選択する必要があります。
    ここに画像を挿入説明
  3. excel_sourcesとTEST_DATA:他のコンピュータの後に直接実行するプロジェクトを移行するために、未処理の学習データと予測データの各ExcelファイルExcelファイルを配置します。

第三に、データ分析プロセス

大まかに分けるステップ:

クリーニングデータ - >モデルの選択 - >チューニングパラメータ - >モデルの検証 - >結果予測

1、データクリーニング

データクリーニング効果:

  • EXCEL表の値、文字、処理することができる分類変換浮動小数点または整数の形式コードのリスト。
  • 重複排除は、ヌルを交換し、満たされました。
  • ピボットテーブル、行および列を生成するステップと
  • 関連する特徴を抽出し、(このような時、タイトルなど、)不要な機能を削除、機能が(特許の数に特許タイトルリスト)を変換。
  • 多行数据整合成一行(如样本提供9个季度的财务报表数据,模型训练就是根据每个样本的多种特征值与结果进行拟合,所以样本的每个属性有且只有一个数值,方法可以取多个季度的均值、和或者最大值)

模块实现架构:

          接口函数(模块名)
             --清洗器(dataWasher)
                --列处理器(columnProcessor)

接口函数:EXCEL表读取与保存,重置索引(最后的数据以企业编号为索引)
清洗器:增删属性列,去重补缺,异常值处理,作用是把生成可训练的样本数据
列处理器: 由于每种属性数据格式不同,需要按列进行特殊清洗,作用是生成浮点型或整型数据

ここに画像を挿入説明
ここに画像を挿入説明
以 《海关信用》表为例,进入customCredit模块后分别看到三个函数:
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
这里主要实现的是按列对属性值作有序编码与无序编码。Sklearn库提供的LabelEncoder编码器能够实现对一列字符型数据进行无序编码,但有些数据是存在重要性或者排名区别,如果也进行无序编码则会毁掉其大小顺序,所以就使用了比较笨的replace方法进行字符替换。

其他表格的处理涉及的方法:

columnProcessor中的处理方法:

  • 百分比数据去除“,”,“%”等字符后转为浮点型
  • 金额数据去除”万”、“亿”、“万亿”、“万美元”、“万人民币”等单位后转为浮点型数据
  • 有序编码、无序编码处理

DataWasher中的处理方法:

  • 多行数据折透视表处理、哑变量处理(一列属性转为多列)
  • 列运算,特征扩展
  • 同一企业多行数据合并处理,数值类取均值,有序数值取最大值
  • 异常值处理,通过boxplot把同一属性的数值分布情况显示出来,使用numpy提供的percentile函数对数据比例划线,超过部分当异常值处理,使用上下限数值替换。
  • 空值补0、补前值 、补后值、补均值处理,具体依据数据实际含义与拟合结果而定
  • 多个表格融合填充缺失值

数据总表中的处理方法:

  • 所有表格整合后在train函数中再做归一化处理
  • 划分训练数据与预测数据
  • 部分算法还使用的正则化处理

2、模型选型

把处理后的数据随机划分为训练集与检验集
ここに画像を挿入説明

分别使用决策树、增强决策树、正则化贪婪树、随机森林、SVR、神经网络等算法跑出训练集的拟合度与校验集的预测得分(R2S评分),最终结果是随机森林的拟合度最高,正则化贪婪树次之,训练速度上正则化贪婪树占优势。选定随机森林做为最终算法。

由于是初学者对算法模型没有直观感受,只能用此笨方法啦。哈哈哈。。。

ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明

3、参数调优

基本上每个模型中都会有超参数,超参数的选取需要根据模型拟合的结果一点一点的调整。这里使用GridSearchCV网格搜索选择器来进行超参数选择。其工作原理是根据提供的参数选择逐一代进算法模型并计算出拟合结果,返回最优的参数值。
ここに画像を挿入説明
ここに画像を挿入説明

4、模型校验

最终的模型使用全数据进行训练,使用交叉验证方法评估模型准确度

ここに画像を挿入説明

5、结果预测

预测的数据在数据清洗阶段已经完成处理,把数据通过返回的训练好的模型进行预测,评分结果使用四舍五入转化为整数后保存
ここに画像を挿入説明

四、比赛心得

1、 正如文中的篇幅所示,80%的精力是在进行数据清洗。而且赛方提供的数据来源格式混杂,部分数据缺失严重,异常值多,数据值相差大,部分数值让人怀疑人生,如付税的结果为负值,注册资本万亿以上,增长1000%以上等等不符合现实逻辑现象。

2、 算法的选择影响更多的体现在处理速度与时间上,拟合的效果差距不会太大,正如那句话所说的算法是决定了模型准确性的下限,数据预处理才是决定了模型准确性的上限。

3、 通过随机森林的特征值排名可以得到前十个最重要的特征:‘发明专利数量’, ‘软件著作权数量’, ‘经营类别’,
‘外观设计’, ‘销售费用(元)’, ‘实用新型数量’, ‘存货周转天数(天)’, ‘毛利率(%)’, ‘商标数量’, ‘实际税率(%)’,按常理分析,一个企业的评分更多的应该是依赖财务报表数据,反而专利的数据贡献度更高不合逻辑。各特征的贡献度比例大致如下
ここに画像を挿入説明

リリース9件のオリジナルの記事 ウォンの賞賛9 ビュー6614

おすすめ

転載: blog.csdn.net/ZuoFengYeCao/article/details/89595925