2015-10-06 94 views
1

我會知道它是否可能在數學中預測輸入向量中給出的多個樣本的輸出數量。機器學習:預測輸入向量訓練「匹配」的輸出數

我真的不知道該如何解釋這個,所以我會給你一個例子: 向量會像[研究小時,睡眠時間]和輸出是在一所學校考試成績:

x.train(100, [5, 8]) 
x.train(0, [0, 0]) 
x.predict([2.5, 4]) // should return 50 (because inputs are the half) 
x.predict([5, 8]) // should return 100 
x.predict([0, 0]) // should return 0 

對不起,如果我不夠清楚..如果你能理解我的意思,你知道一個Python或PHP庫可以做到這一點,並說明如何使用它?

非常感謝你,祝你有美好的一天!

+0

神經網絡可能會幫助你。看例子:http://nbviewer.ipython.org/github/stephencwelch/Neural-Networks-Demysitifed/blob/master/Part%207%20Overfitting%2C%20Testing%2C%20and%20Regularization.ipynb – mmachine

+0

你知道嗎[scikit -learn](http://scikit-learn.org/)? – svs

+0

我相信簡單的2 var迴歸可以做到這一點。你可以用任何語言來實現這一點,而不是那麼複雜。 http://faculty.cas.usf.edu/mbrannick/regression/Reg2IV.html –

回答

1

使用scikit-learn你可以這樣做:

from sklearn import linear_model 
clf = linear_model.LinearRegression() 
clf.fit([[5, 8], [0 , 0]], [100, 0]) 

print(clf.predict([[2.5, 4], [5, 8], [0, 0]])) 

你應該知道的over/underfitting的機會。您可能需要考慮使用polynomial features,這會增加模型的複雜性,從而增加預測更好的變化,但不要選擇太複雜的特徵(在這種情況下爲高多項式),因爲它肯定會導致過度擬合。嘗試使用cross-validation找到兩者之間的權衡。

考慮也使用RidgeLasso,它本身處理過度擬合。

+0

Aww yeahh優秀!正是我在尋找的是 – dctremblay

+0

只是一個問題..是否有可能使其成爲「非線性」? – dctremblay

+2

LinearRegression中的線性是指將學習的權重。如上所述,通過添加多項式特徵(如x^2),您可以通過數據獲得非線性擬合。 – desiato

相關問題