分類和迴歸
Classification & regression
本質上講:classification是預測一個標籤,但是regression是關於預測數量
當有人詢問“how do I calculate accuracy for my regression problem?”時,就是沒有充分理解好二者的區別
1.Function approximation
預測模型其實就是建立一個模型根據一些數據來預測一些沒有答案的數據。
使用數學的方法來表示的話,就是建立一個映射函數f() (mapping function), 根據input的X來得到output的Y.
算法的作用就是找到最好的映射函數。
2. Classification predictive modeling 分類預測模型
2.1 介紹
比如,最典型的一個例子就是:郵件的分類(spam/not spam)。也就是我們根據一個郵件的內容,判定該郵件有用還是無用。那麼這裏有用和無用就是兩個類。我們一般管只有兩個類的叫做“binary classification problem”,當類的個數超過2個的時候,我們稱之爲“multi-class classification problem”。
Input:一些features
Output:一個lables / categories(標籤)
2.2定義
Classification predictive modeling is the task of approximating a mapping function (f) from input variables (X) to discrete output variables (y).
注意:得到的是一個離散的輸出結果。
2.3 如何得到輸出結果?
我們主要計算test instance 在每種labels下的概率,選擇概率大的最爲output。
2.4準確率
我們使用準確率對分類結果進行評判。準確率對計算是預測正確的個數和總數的比值。
3. Regression predictive modeling
3.1 介紹
比如,預測一個房子的賣價,它可能在100000-200000之間。預測的結果就是一個真實的數值。
Output:一個真實的值,比如integer/floating point value。一般情況下是amounts/sizes
3.2定義:
Regression predictive modeling is the task of approximating a mapping function (f) from input variables (X) to a continuous output variable (y).
注意:得到的是連續的結果
3.3 RMSE
評判regression predictive model我們使用RMSE。比如我們預測兩個instance,1.5(真實) – 1.0(預測)/ 3.0(真實)--3.5(預測)。計算的方法如下:
4. 對比
1.預測的結果:分類是離散;迴歸是連續
但是要注意,分類算法可以得到連續的數值,但是連續的數組最後會根據某些函數和規則映射成一個class,比如step function。同樣,迴歸算法有時也會得到一些離散的值,但是這些數值都是integer/float quantity。
算法可以即是classification又是regression,比如 decision tree或者artificial neural networks。但是有些算法不行,比如logistic regression 或者linear regression.
2.評估方法不同
Classification使用accuracy(準確率)。
Regression 使用root mean squared error(RMSE)
參考:https://machinelearningmastery.com/classification-versus-regression-in-machine-learning/