by28777換哪了 by28777( 五 )


輸出圖形如下圖所示 , 其中黑色散點圖表示真實的企業成本和利潤的關系 , 綠色直線為一元線性回歸方程 , 紅色虛曲線為二次多項式方程 。它更接近真實的散點圖 。

by28777換哪了  by28777

文章插圖
【by28777換哪了by28777】這里我們使用R方(R-Squared)來評估多項式回歸預測的效果 , R方也叫確定系數(Coefficient of Determination) , 它表示模型對現實數據擬合的程度 。計算R方的 *** 有幾種 , 一元線性回歸中R方等于皮爾遜積矩相關系數(Pearson Product Moment Correlation Coefficient)的平方 , 該 *** 計算的R方是一定介于0~1之間的正數 。另一種是Sklearn庫提供的 *** 來計算R方 。R方計算代碼如下:
print('1 r-squared', clf.score(X, Y))print('2 r-squared', regressor_quadratic.score(x_train_quadratic, Y))
輸出如下所示:
('1 r-squared', 0.9118311887769025)('2 r-squared', 0.94073599498559335)
by28777換哪了  by28777

文章插圖
一元線性回歸的R方值為0.9118 , 多項式回歸的R方值為0.9407 , 說明數據集中超過94%的價格都可以通過模型解釋 。最后補充5次項的擬合過程 , 下面只給出核心代碼 。
# -*- coding: utf-8 -*-# By:Eastmount CSDN 2021-07-03from sklearn.linear_model import LinearRegressionfrom sklearn.preprocessing import PolynomialFeaturesimport matplotlib.pyplot as pltimport numpy as np#X表示企業成本 Y表示企業利潤X = [[400], [450], [486], [500], [510], [525], [540], [549], [558], [590], [610], [640], [680], [750], [900]]Y = [[80], [89], [92], [102], [121], [160], [180], [189], [199], [203], [247], [250], [259], [289], [356]]print('數據集X: ', X)print('數據集Y: ', Y)#之一步 線性回歸分析clf = LinearRegression()clf.fit(X, Y)X2 = [[400], [750], [950]]Y2 = clf.predict(X2)print(Y2)res = clf.predict(np.array([1200]).reshape(-1, 1))[0]print('預測成本1200元的利潤:$%.1f' % res)plt.plot(X, Y, 'ks') #繪制訓練數據集散點圖plt.plot(X2, Y2, 'g-') #繪制預測數據集直線#第二步 多項式回歸分析xx = np.linspace(350,950,100)quadratic_featurizer = PolynomialFeatures(degree = 5)x_train_quadratic = quadratic_featurizer.fit_transform(X)X_test_quadratic = quadratic_featurizer.transform(X2)regressor_quadratic = LinearRegression()regressor_quadratic.fit(x_train_quadratic, Y)#把訓練好X值的多項式特征實例應用到一系列點上,形成矩陣xx_quadratic = quadratic_featurizer.transform(xx.reshape(xx.shape[0], 1))plt.plot(xx, regressor_quadratic.predict(xx_quadratic), "r--",label="$y = ax^2 + bx + c$",linewidth=2)plt.legend()plt.show()print('1 r-squared', clf.score(X, Y))print('5 r-squared', regressor_quadratic.score(x_train_quadratic, Y))# ('1 r-squared', 0.9118311887769025)# ('5 r-squared', 0.98087802460869788)
輸出如下所示 , 其中紅色虛線為五次多項式曲線 , 它更加接近真實數據集的分布情況 , 而綠色直線為一元線性回歸方程 , 顯然相較于五次多項式曲線 , 線性方程擬合的結果更差 。同時 , 五次多項式曲線的R方值為98.08% , 非常準確的預測了數據趨勢 。
by28777換哪了  by28777

文章插圖
最后補充一點 , 建議多項式回歸的階數不要太高 , 否則會出現過擬合現象 。
四.邏輯回歸1.基礎原理在前面講述的回歸模型中 , 處理的因變量都是數值型區間變量 , 建立的模型描述是因變量的期望與自變量之間的線性關系或多項式曲線關系 。比如常見的線性回歸模型:
by28777換哪了  by28777

文章插圖
而在采用回歸模型分析實際問題中 , 所研究的變量往往不全是區間變量而是順序變量或屬性變量 , 比如二項分布問題 。通過分析年齡、性別、體質指數、平均血壓、疾病指數等指標 , 判斷一個人是否換糖尿病 , Y=0表示未患病 , Y=1表示患病 , 這里的響應變量是一個兩點(0或1)分布變量 , 它就不能用h函數連續的值來預測因變量Y(Y只能取0或1) 。
總之 , 線性回歸或多項式回歸模型通常是處理因變量為連續變量的問題 , 如果因變量是定性變量 , 線性回歸模型就不再適用了 , 此時需采用邏輯回歸模型解決 。
邏輯回歸(Logistic Regression)是用于處理因變量為分類變量的回歸問題 , 常見的是二分類或二項分布問題 , 也可以處理多分類問題 , 它實際上是屬于一種分類 ***。

推薦閱讀