代码之家  ›  专栏  ›  技术社区  ›  Stepan

张量流中的变量类型

  •  0
  • Stepan  · 技术社区  · 6 年前

    我有一个有几个变量类型的模型。

    • 布尔标志:0或1
    • 分类输入:“AA”,“AB”,“ZZ”-只观察到大约100个值
    • cvs文件看起来像

      “bool”,“pos\u float”,“int\u val”,“category\u name”,“output\u score”
      0,1.234,9,“镉”,2
      1,6.836,5,“KF”,6
      0903.836,10,“亚利桑那州”,4
      .....

      import tensorflow as tf
      import pandas as pd
      from sklearn.preprocessing import MinMaxScaler
      
      training_data_df = pd.read_csv("data_training.csv", dtype=float)
      
      X_training = training_data_df.drop('output_score', axis=1).values
      Y_training = training_data_df[['output_score']].values
      
      test_data_df = pd.read_csv("data_test.csv", dtype=float)
      
      X_testing = test_data_df.drop('output_score', axis=1).values
      Y_testing = test_data_df[['output_score']].values
      
      X_scaler = MinMaxScaler(feature_range=(0, 1))
      Y_scaler = MinMaxScaler(feature_range=(0, 1))
      
      X_scaled_training = X_scaler.fit_transform(X_training)
      Y_scaled_training = Y_scaler.fit_transform(Y_training)
      
      X_scaled_testing = X_scaler.transform(X_testing)
      Y_scaled_testing = Y_scaler.transform(Y_testing)
      

      上面的代码将每个变量视为浮点数,并将变量缩放为(0,1)。如何告诉tensorflow变量是整数?如何处理分类变量?

    1 回复  |  直到 6 年前
        1
  •  1
  •   rocksteady    6 年前

    https://hackernoon.com/what-is-one-hot-encoding-why-and-when-do-you-have-to-use-it-e3c6186d008f )或者通过散列技巧( https://medium.com/value-stream-design/introducing-one-of-the-best-hacks-in-machine-learning-the-hashing-trick-bf6a9c8af18f ).

    本质上,您需要将这些字符串转换为每个要素类别的1/0布尔值。

    但是,某些模型(如基于树的模型,如随机林和梯度增强树)可以处理多个类别,因此只需将它们转换为数字类别类型(可以将字符串值保留为标签)。

    推荐文章