2017-06-05 21 views
5

का उपयोग कर ऑडियंस अंतर्दृष्टि प्राप्त करें हाल ही में मैंने Keras और TensorFlow खोजा है और मैं एमएल में प्रवेश करने की कोशिश कर रहा हूं। मैंने मैन्युअल रूप से मेरे उपयोगकर्ताओं से ट्रेन और टेस्ट डेटा वर्गीकृत किया है डीबी:केरास और टेंसरफ्लो

9 फीचर्स और लेबल, मेरे सिस्टम में विशेषताएं "उपयोगकर्ता ने एक प्रोफ़ाइल चित्र जोड़ा है" या "उपयोगकर्ता ने सेवा के लिए एक्स भुगतान किया है"
enter image description here

मैं उन वर्गीकृत करने के लिए निम्नलिखित कोड का इस्तेमाल किया है::

import numpy as np 
from keras.layers import Dense 
from keras.models import Sequential 

train_data = np.loadtxt("train.csv", delimiter=",", skiprows=1) 
test_data = np.loadtxt("test.csv", delimiter=",", skiprows=1) 

X_train = train_data[:, 0:9] 
Y_train = train_data[:, 9] 

X_test = test_data[:, 0:9] 
Y_test = test_data[:, 9] 

model = Sequential() 
model.add(Dense(8, input_dim=9, activation='relu')) 
model.add(Dense(6, activation='relu')) 
model.add(Dense(3, activation='relu')) 
model.add(Dense(1, activation='sigmoid')) 

# Compile model 
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) 

# Fit the model 
model.fit(X_train, Y_train, epochs=12000, batch_size=10) 

# evaluate the model 
scores = model.evaluate(X_test, Y_test) 
print("\n\n\nResults: %s: %.2f%%" % (model.metrics_names[1], scores[1]*100)) 
लेबल सकारात्मक या नकारात्मक लागत पर लाभ (1 या 0)

नमूना है

और 89% सटीकता मिली। यह एक मूल्यवान ग्राहक के रूप में उपयोगकर्ता को लेबल करने के लिए बहुत अच्छा काम करता है।

क्यू: मैं संभावित आरओओआई के लिए योगदान की गई सुविधाओं को कैसे निकाल सकता हूं ताकि मैं यूएक्स में अपना ध्यान बढ़ा सकूं?

या: दर्शकों के सर्वोत्तम संयुक्त खंड को खोजने का दृष्टिकोण क्या है?

+1

आपका मॉडल गहरा है (इसलिए यह जटिल और शायद सुविधाओं की व्याख्या करने में वास्तव में कठिन है), आप 1 परत नेटवर्क का उपयोग कर सकते हैं और वजन या देख सकते हैं सबसे प्रमुख विशेषताओं को खोजने के लिए यादृच्छिक जंगलों या निर्णय पेड़ों का उपयोग करें। इसके अलावा मुझे लगता है कि आप केवल कई अलग-अलग परीक्षण इनपुट आज़मा सकते हैं और इनपुट और आउटपुट के बीच किसी भी स्पष्ट सहसंबंध को देखने का प्रयास कर सकते हैं। – umutto

+1

उत्तर के लिए धन्यवाद, मुझे आपकी बात मिलती है ... उन सुविधाओं को खोजने के लिए निर्णय पेड़ का उपयोग कैसे किया जाएगा? –

+1

आप सांख्यिकीय उपायों या पेड़ों का उपयोग करके महत्वपूर्ण विशेषताओं को खोजने के लिए sklearn का उपयोग कर सकते हैं। [इस पोस्ट को जांचें] (http://scikit-learn.org/stable/modules/feature_selection.html) अधिक जानकारी के लिए, या आप इसे [नमूना कोड] देखें (http://scikit-learn.org/stable/auto_examples etens वर्गीकरण का उपयोग कर /ensemble/plot_forest_importances.html)। कुल मिलाकर मेरे पास यादृच्छिक जंगलों का उपयोग करके सर्वोत्तम परिणाम थे, लेकिन हमेशा के रूप में यह एप्लिकेशन पर निर्भर करता है। और मैं आपको सुझाए गए महत्वपूर्ण विशेषताओं के साथ एक मॉडल बनाने और परीक्षण सटीकता परिणामों की तुलना करने की सलाह दूंगा। – umutto

उत्तर

2

जैसा कि लोगों ने कहा, कोई आसान जवाब नहीं है, और मेरा उत्तर का इरादा नहीं है, लेकिन मुझे लगता है कि आप ऐसा कुछ करने का प्रयास कर सकते हैं।

एक नज़र दृष्टिकोण लें:

  • अपने सभी ग्राहकों के लिए परिणाम भविष्यवाणी
  • फ़िल्टर अच्छा ग्राहकों और उनकी विशेषताओं बुरा ग्राहकों साजिश
  • फ़िल्टर और साजिश उनकी विशेषताओं
  • कर सकते हैं आप एक स्पष्ट पैटर्न देखते हैं? पूर्व: अधिकांश विफलताओं में सुविधा x नहीं है।

संयुक्त सुविधाओं के साथ नकली ग्राहकों बनाएँ:

  • पहले, नकली ग्राहकों के लिए केवल एक सुविधा है कि, 1 से 9 (क्लाइंट 1 करने के लिए बनाने के केवल सुविधा 1, ग्राहक 2 केवल किया है सुविधा 2 और इसी तरह)

  • इन ग्राहकों

  • यदि सुविधाओं के किसी भी अच्छा परिणाम दे चेक के लिए परिणाम की भविष्यवाणी (यह वास्तविक नहीं हो सकता है नतीजा अभी तक, लेकिन ध्यान रखें)

ऊपर, आप अकेले प्रत्येक सुविधा का परिणाम देख सकते हैं, लेकिन यह बहुत संभावना नहीं है, है ना?

  • अब आप दो सुविधाओं के सभी संयोजन बना सकते हैं। उन सुविधाओं के 36 संयोजन (9 x 8/2) हैं। (एफ 1/एफ 2; एफ 1/एफ 3; एफ 1/एफ 4 ....)
  • भविष्यवाणी और (सबसे अच्छा संयोजन का ध्यान रखना)

जा रहा रखें, 3 सुविधाओं (84 संयोजनों)
4 सुविधाओं (126 संयोजनों)

के संयोजन के संयोजन अच्छा ग्राहकों को देखो हर कदम के बीच परिणामों की तुलना करें ऊपर:

  • 4 सुविधाओं के साथ सभी विफलता ग्राहकों लो। सफल ग्राहकों के साथ तुलना करें 1 सुविधा के साथ: असफल ग्राहकों में एक सफल सुविधा मौजूद है? यदि नहीं, तो आपको शायद एक स्वतंत्र सफलता सुविधा मिली है।

  • सभी परीक्षणों के सभी विफलता उम्मीदवारों में कोई सुविधा गुम है? यह एक और स्वतंत्र सफलता सुविधा है।

पहले एक के समान, आप 2 सुविधा सफलताओं के साथ 4 सुविधा विफलताओं की तुलना और अगर सुविधाओं के किसी भी जोड़ी सफल रहे हैं देख सकते हैं।

और इसी तरह। ,

  • असली ग्राहकों से उन सभी एकल सुविधा आपको सफलता माना जाता है कि ले:

    वास्तविक ग्राहकों और उन्हें ऊपर दिए गए परिणामों पर विचार फ़िल्टर करें। पुष्टि करें कि वे वास्तव में सफलता हैं

  • असली क्लाइंट के साथ ऐसा ही करें जिसमें फीचर जोड़े को सफलता मिली है। पुष्टि करें कि वे हैं या नहीं।

आप एक ही दृष्टिकोण कर सकते हैं कि कुछ विशेषताओं को सफलता की ओर अग्रसर होने की बजाय विफलता हो सकती है। या वर्तमान सुविधाओं को देखने के बजाय, गायब सुविधाओं को देखें, आदि