/Wide-Deep-Learning

Primary LanguageJupyter Notebook

해당 문서는

Wide & Deep Learning with Tensorflow 을 공부하면서 만든 ipynb 파일입니다.


python 2에서 dict 처리할 때

feature_cols = dict(continuous_cols.items() + categorical_cols.items())

python 3에서 dict 처리할 때

feature_cols = {**continuous_cols , **categorical_cols}

처음에는 Tensorflow에서 제공하는 DNNLinearCombined 함수를 이용해서 제작할 생각이었습니다. 하지만 high level api 함수에서 batch로 넣는 법을 몰라 Low level Tensorflow로 직접 짜게 되었습니다.
(Tensorflow Queue를 이용해야 한다고 합니다.)

graph TD
    Doc2Vec--> Wide
    Item --> Doc2Vec
    Item_Category --> cross_columns
    cross_columns --> Wide
    Item_Category --> Deep
    Doc2Vec--> Deep 
    User_Features --> Embedding
    Embedding --> Deep
    Wide--> Hypothesis 
    Deep--> Hypothesis
    Hypothesis --> Target
Loading
graph TD
    real_data --> Generater
    Generater --> Discriminator1
    real_data --> Discriminator1
    standard_norm --> Inferencer

    ranodm_norm --> Inferencer
    Inferencer --> Discriminator2
    ranodm_norm --> Discriminator2

    Discriminator1 --> D_loss
    Discriminator2 --> D_loss
Loading

prediction : Train


요구되는

pip install tensorflow-gpu Tensorflow An open-source software library for Machine Intelligence

pip install pandas

pip install numpy

pip install pickle

pip install matplotlib

함수 짜는데 도움되는

DNNLinearCombinedClassifier - Tensorflow API

dnn_linear_combined.py - Github code