मशीन लर्निंग के साथ टाइमसीरीज़ डेटा को जोड़ना

Python में Time Series Data के लिए Machine Learning

Chris Holdgraf

Fellow, Berkeley Institute for Data Science

अपने डेटा को समझें

  • इस कोर्स में हम जिन डेटासेट्स का उपयोग करेंगे, वे सभी ऑनलाइन मुफ़्त उपलब्ध हैं
  • वेब पर कई डेटासेट्स डाउनलोड के लिए हैं, हमारे वाले Kaggle से आते हैं
Python में Time Series Data के लिए Machine Learning

हार्टबीट अकूस्टिक डेटा

  • अलग-अलग मरीज़ों से हार्ट साउंड्स की कई रिकॉर्डिंग्स
  • कुछ के दिल सामान्य थे, कुछ में असामान्यताएँ थीं
  • डेटा ऑडियो फ़ाइलों के रूप में है + हर फ़ाइल के लिए लेबल्स
  • क्या आप "abnormal" हार्टबीट्स ढूँढ सकते हैं?
Python में Time Series Data के लिए Machine Learning

ऑडिटरी डेटा लोड करना

from glob import glob
files = glob('data/heartbeat-sounds/files/*.wav')

print(files)
['data/heartbeat-sounds/proc/files/murmur__201101051104.wav',
 ...
 'data/heartbeat-sounds/proc/files/murmur__201101051114.wav']
Python में Time Series Data के लिए Machine Learning

ऑडिटरी डेटा पढ़ना

import librosa as lr
# `load` accepts a path to an audio file
audio, sfreq = lr.load('data/heartbeat-sounds/proc/files/murmur__201101051104.wav')

print(sfreq)
2205

यहाँ sampling frequency 2205 है, यानी प्रति सेकंड 2205 samples हैं

Python में Time Series Data के लिए Machine Learning

सैंपल्स से समय निकालना

  • अगर हमें टाइमसीरीज़ का sampling rate पता है, तो हर datapoint का timestamp हमें पहले datapoint के सापेक्ष मिल जाता है
  • नोट: यह मानता है कि sampling rate फिक्स है और कोई datapoint नहीं खोया है
Python में Time Series Data के लिए Machine Learning

टाइम array बनाना (I)

  • हर sample के लिए एक indices array बनाएँ, और sampling frequency से भाग दें

      indices = np.arange(0, len(audio))
      time = indices / sfreq
    
Python में Time Series Data के लिए Machine Learning

टाइम array बनाना (II)

  • अंतिम यानी N-1th datapoint का timestamp निकालें. फिर linspace() से 0 से उस समय तक interpolate करें

      final_time = (len(audio) - 1) / sfreq
      time = np.linspace(0, final_time, sfreq)
    
Python में Time Series Data के लिए Machine Learning

New York Stock Exchange डेटासेट

  • यह डेटासेट 10 साल के company stock values का है
  • क्या हम ऐसे पैटर्न्स पहचान सकते हैं जो भविष्य में कंपनियों के मूल्य की भविष्यवाणी करने दें?
Python में Time Series Data के लिए Machine Learning

डेटा को देखें

data = pd.read_csv('path/to/data.csv')

data.columns
Index(['date', 'symbol', 'close', 'volume'], dtype='object')
data.head()
         date symbol       close       volume
0  2010-01-04   AAPL  214.009998  123432400.0
1  2010-01-04    ABT   54.459951   10829000.0
2  2010-01-04    AIG   29.889999    7750900.0
3  2010-01-04   AMAT   14.300000   18615100.0
4  2010-01-04   ARNC   16.650013   11512100.0
Python में Time Series Data के लिए Machine Learning

Pandas DataFrames के साथ टाइमसीरीज़

  • हर कॉलम के object type की जाँच dtypes attribute से करें
df['date'].dtypes
0    object
1    object
2    object
dtype: object
Python में Time Series Data के लिए Machine Learning

कॉलम को टाइम सीरीज़ में बदलना

  • DataFrame के किसी कॉलम को time series की तरह ट्रीट कराने के लिए to_datetime() फंक्शन का उपयोग करें
df['date'] = pd.to_datetime(df['date'])

df['date']
0   2017-01-01
1   2017-01-02
2   2017-01-03
Name: date, dtype: datetime64[ns]
Python में Time Series Data के लिए Machine Learning

अभ्यास करते हैं!

Python में Time Series Data के लिए Machine Learning

Preparing Video For Download...