2015-10-06 50 views
1

我正在嘗試通過Udacity上的一個機器學習課程。當第一個例子不運行時,這會突然停止。他們似乎要求我基本上將一些代碼複製粘貼到Python中某種基於Web的源代碼文件中。問題是我完全按照他們的說法做,而我在運行時遇到錯誤。我附上了一張圖片,詳細說明了我如何複製了我被指示覆制的內容,並且仍然沒有實現視頻講師聲稱應該發生的事情。我也沒有對Python的深入理解,所以我不確定我在這裏做錯了什麼。任何人都可以照亮這一點會有所幫助。讓我知道如果我不是在這裏瘋狂......或者我是否應該放棄這個破碎的例子並切換到Coursera之類的東西。關於Udacity破解的Python示例?

enter image description here

+2

BTW結果的形象,「impot」顯然是錯誤的。但是,我已修復該錯誤,並且錯誤變爲 NameError:全局名稱'features_test'未定義。 –

+0

確保你已經安裝了你正在嘗試「導入」的模塊。 – csharpcoder

+0

事情是這是一個網絡課程,唯一的指示是複製這4行代碼在「你的代碼放在這裏」。這就是爲什麼我懷疑運行這個Python的Web服務以某種方式被破壞的原因。我希望有人可能會遇到類似這樣的事情。我想我將不得不嘗試另一個正確工作的課程。 –

回答

1

你的功能不返回任何東西。分類函數的目的是創建並擬合樸素貝葉斯分類器。該函數然後在studentMain.py中調用。您的第一部分正確,您只需將return clf添加到您的代碼。另外,您創建的pred變量對於該函數不是必需的。

+0

因此,刪除pred行並返回clf將獲取Web服務以輸出視頻指令顯示的內容。這個例子很簡單。他們指示您放置在分類功能中的代碼不正確。 –

+0

不夠公平。雖然教官說,認識Python並不是課程的要求,但是如果你熟悉這門語言,那麼有些任務會容易得多。 – rurp

1

除了拼寫檢查導入,我們只是試圖返回clf,即訓練result.Below片段應該工作。

from sklearn.naive_bayes import GaussianNB 
clf = GaussianNB() 
clf.fit(features_train, labels_train) 
return clf