शुरू करेंमुफ़्त में शुरू करें

वॉल्यूम से फीचर इंजीनियरिंग

हम अधिक सटीक प्रिडिक्शन के लिए non-linear मॉडल्स का उपयोग करने जा रहे हैं। Linear मॉडल्स के साथ, फीचर्स का target से linear सह-संबंध होना चाहिए। अन्य मशीन लर्निंग मॉडल्स फीचर्स को non-linear तरीकों से जोड़ सकते हैं। उदाहरण के लिए, क्या होगा अगर कीमत तब बढ़ती है जब प्राइस का moving average ऊपर जा रहा हो, और वॉल्यूम का moving average नीचे जा रहा हो? उन interactions को कैप्चर करने का एकमात्र तरीका या तो फीचर्स को आपस में multiply करना है, या फिर ऐसा मशीन लर्निंग एल्गोरिदम उपयोग करना है जो non-linearity संभाल सके (जैसे random forests)।

ऐसी अतिरिक्त जानकारी शामिल करने के लिए जो अन्य फीचर्स के साथ interact कर सकती है, हम weakly-correlated फीचर्स जोड़ सकते हैं। पहले हम वॉल्यूम डेटा जोड़ेंगे, जो हमारे पास lng_df में Adj_Volume कॉलम के रूप में है।

शुरू करने से पहले, याद रखें कि TA-Lib फंक्शंस (जैसे SMA()) के लिए आपको Numpy arrays देने होते हैं, pandas ऑब्जेक्ट नहीं। आप pandas Series या DataFrame के .values ऐट्रिब्यूट का उपयोग करके उसे Numpy array के रूप में प्राप्त कर सकते हैं।

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में Finance के लिए Machine Learning

पाठ्यक्रम देखें

अभ्यास निर्देश

  • वॉल्यूम में 1-day percent change बनाएँ (pandas का pct_change() उपयोग करें), और उसे lng_df में Adj_Volume_1d_change कॉलम को असाइन करें।
  • Volume के 1-day percent change का 5-day moving average बनाएँ, और उसे lng_df में Adj_Volume_1d_change_SMA कॉलम को असाइन करें।
  • new_features लिस्ट का उपयोग करके इन दो नए फीचर्स के histogram प्लॉट करें।

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Create 2 new volume features, 1-day % change and 5-day SMA of the % change
new_features = ['Adj_Volume_1d_change', 'Adj_Volume_1d_change_SMA']
feature_names.extend(new_features)
lng_df[____] = lng_df['Adj_Volume'].____
lng_df[____] = talib.SMA(____[____].____,
                        timeperiod=____)

# Plot histogram of volume % change data
lng_df[____].plot(kind='hist', sharex=False, bins=50)
plt.show()
कोड संपादित करें और चलाएँ