आप के लिए तो क्या देख रहे हैं, python
और numpy
में कुछ इस तरह होगा (मैं स्वतंत्रता नहीं ले लिया 'सीधे अनुवाद कर' के लिए python
और numpy
को matlab
-code, बजाय मैं यह एक छोटा सा पुनर्संशोधित करने के लिए 'लग रहा है 'अधिक pythonic
[काफी समान रिफैक्टरिंग रूप में अच्छी तरह matlab
-code लागू किया जा सकता of'course]):
import numpy as np
def _cas(D):
"""Center at mean and standardize."""
return (D- D.mean(1)[:, None])/ (D.shape[1]- 1)** .5
def example(D):
"""Eigenvalues and -vectors, based on SVD."""
u, s, v= np.linalg.svd(D, full_matrices= False);
return np.diag(s)** 2, u
if __name__ == '__main__':
data= np.random.rand(5, 20)
data= _cas(data) # preprocess data according to your requirements
eigenvals, eigenvecs= example(data)
print eigenvals
print eigenvecs
लेकिन आप इसके साथ एक प्रदर्शन समस्या है?
क्या अब आप अपने वर्तमान प्रदर्शन के अधिक विशिष्ट हो सकते हैं, और आप वास्तव में कितनी उम्मीद कर सकते हैं इसे बढ़ाया जाना चाहिए? मेरे मामूली कंप्यूटर में एफटीआईडब्ल्यू, एक यादृच्छिक (500, 20000) मैट्रिक्स example(.)
निष्पादित करने में कुछ 20 सेकेंड खर्च करेगा।
मैं त्रिभुज (मूल रैखिक बीजगणित के कारण) निष्पादन समय को 2.5 सेकंड (लगभग 10 गुना सुधार) जैसे स्तर तक कम कर सकता हूं! अब, यदि आप इससे बेहतर प्रदर्शन की तलाश में हैं, तो कृपया अपने data
की 'प्रकृति' पर अधिक विस्तृत स्तर में विस्तृत करें!
आपका डेटा कहां से आ रहा है? गणना किए गए eigenvalues, और -विक्टर का उपयोग करने के लिए आपका विशिष्ट मामला क्या है? यानी आपका मुख्य लक्ष्य क्या हासिल करना है?
क्या 'numpy.linalg.svd' अपर्याप्त है? – kwatford
@kwatford समस्या eig/svd नहीं है, यह corrcoef है। और काम करने के लिए या तो eig या svd के लिए, मुझे पहले corrcoef का उपयोग करना होगा। खैर, मेरे वर्तमान दृष्टिकोण के साथ। इससे संपर्क करने का एक और तरीका हो सकता है कि मुझे पता नहीं है। – digdin
'सहसंबंध गुणांक' पर अधिक विस्तार करने की देखभाल? वे आपके 'matlab'-code से कैसे संबंधित हैं। मेरा जवाब देखें, वास्तव में 'सहसंबंध गुणांक' की प्रसंस्करण को जोड़ने में कोई समस्या नहीं होनी चाहिए। लेकिन उनके लिए आपका न्याय क्या है? कृपया, जो आप लक्ष्य कर रहे हैं उसे और समझने के लिए कृपया 'सहसंबंध गुणांक' की गणना के साथ, अपना पूरा 'matlab' कोड दिखाएं! धन्यवाद – eat