को संभालें, मैं सोच रहा था कि क्लासिफायर हैं जो विज्ञान-सीख में नैन/शून्य मानों को संभालते हैं। मैंने सोचा कि यादृच्छिक वन regressor इसे संभालती है, लेकिन जब मैं predict
पर कॉल करता हूं तो मुझे एक त्रुटि मिली।विज्ञान में क्लासिफायर-सीखें कि नैन/शून्य
X_train = np.array([[1, np.nan, 3],[np.nan, 5, 6]])
y_train = np.array([1, 2])
clf = RandomForestRegressor(X_train, y_train)
X_test = np.array([7, 8, np.nan])
y_pred = clf.predict(X_test) # Fails!
मैं मान अनुपलब्ध के साथ किसी भी scikit सीखने एल्गोरिथ्म के साथ भविष्यवाणी कॉल नहीं कर सकता?
संपादित करें। अब जब मैं इसके बारे में सोचता हूं, तो यह समझ में आता है। यह प्रशिक्षण के दौरान कोई मुद्दा नहीं है, लेकिन जब आप भविष्यवाणी करते हैं कि वेरिएबल शून्य होने पर आप कैसे शाखा बनाते हैं? हो सकता है कि आप दोनों तरीकों को विभाजित कर सकें और नतीजे औसत कर सकें? ऐसा लगता है कि के-एनएन को तब तक ठीक काम करना चाहिए जब तक कि दूरस्थ कार्य नल को अनदेखा करता है। हां/नहीं निर्णय और के लिए 1 बच्चे के लिए 2 बच्चों:
2 संपादित करें (पुराने और समझदार मुझे) (जैसे xgboost के रूप में) कुछ जीबीएम पुस्तकालयों एक त्रिगुट पेड़ के बजाय एक द्विआधारी पेड़ के ठीक इस उद्देश्य के लिए उपयोग करें लापता निर्णय sklearn using a binary tree
मैं भी इस मुद्दे का सामना करना, मुझे लगता है कि आपको लगता है कि 'साथ nan' मूल्यों हटाने की जरूरत [इस वर्ग] (http://scikit-learn.org/stable/modules/preprocessing.html) भी झरना [यह] (http://www.markhneedham.com/blog/2013/11/09/python-making-scikit-learn-and-pandas-play-nice/) लेकिन मैं अभी भी इस मुद्दे को हल नहीं कर सकता। शायद [यह] (https://stackoverflow.com/questions/9365982/missing-values-in-scikits-machine-learning) मदद करेगा। – skwoi
यहां समस्या यह है कि 'NaN' का प्रतिनिधित्व कैसे किया जाना चाहिए? यह एक आम मुद्दा है जिसमें आपको यह तय करने की आवश्यकता है कि उन्हें कैसे संभालना है, आप या तो उन्हें छोड़ सकते हैं या उन्हें औसत या कुछ अन्य इनडिटर मूल्य – EdChum