<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 機器學習的簡單線性回歸教程 > 原文: [https://machinelearningmastery.com/simple-linear-regression-tutorial-for-machine-learning/](https://machinelearningmastery.com/simple-linear-regression-tutorial-for-machine-learning/) 線性回歸是一種非常簡單的方法,但已被證明對大量情況非常有用。 在這篇文章中,您將逐步了解線性回歸的工作原理。閱讀這篇文章后你會知道: * 如何逐步計算簡單的線性回歸。 * 如何使用電子表格執行所有計算。 * 如何使用您的模型對新數據進行預測。 * 一種快捷方式,可以大大簡化計算。 本教程是為開發人員編寫的,不承擔任何數學或統計學的先前背景。 編寫本教程的目的是讓您在自己的電子表格中進行操作,這將有助于使概念堅持下去。 讓我們開始吧。 **更新#1** :修正了RMSE計算中的錯誤。 ![Simple Linear Regression Tutorial for Machine Learning](img/67a19a4f0061c01241ccd21126f1a0bc.jpg) 機器學習的簡單線性回歸教程 照 [Catface27](https://www.flickr.com/photos/catsanchez/20007966344/) ,保留一些權利。 ## 教程數據集 我們正在使用的數據集是完全組成的。 以下是原始數據。 ```py x y 1 1 2 3 4 3 3 2 5 5 ``` 屬性x是輸入變量,y是我們試圖預測的輸出變量。如果我們得到更多數據,我們只有x值,我們會對預測y值感興趣。 下面是x與y的簡單散點圖。 ![Plot of the Dataset for Simple Linear Regression](img/81b2cddb2dc00c781a6da7d5eab6c992.jpg) 簡單線性回歸數據集的圖 我們可以看到x和y之間的關系看起來很線性。在中,我們可能會在從圖的左下角對角線到右上角繪制一條線,以概括地描述數據之間的關系。 這是一個很好的跡象,表明使用線性回歸可能適合這個小數據集。 ## 獲取免費算法思維導圖 ![Machine Learning Algorithms Mind Map](img/2ce1275c2a1cac30a9f4eea6edd42d61.jpg) 方便的機器學習算法思維導圖的樣本。 我已經創建了一個由類型組織的60多種算法的方便思維導圖。 下載,打印并使用它。 ## 簡單線性回歸 當我們有一個輸入屬性(x)并且我們想要使用線性回歸時,這稱為簡單線性回歸。 如果我們有多個輸入屬性(例如x1,x2,x3等),這將被稱為多元線性回歸。線性回歸的過程與多元線性回歸的過程不同且簡單,因此它是一個很好的起點。 在本節中,我們將從訓練數據中創建一個簡單的線性回歸模型,然后對我們的訓練數據進行預測,以了解模型在數據中學習關系的程度。 使用[簡單線性回歸](https://en.wikipedia.org/wiki/Simple_linear_regression),我們想要對數據建模如下: y = B0 + B1 * x 這是一條線,其中y是我們想要預測的輸出變量,x是我們知道的輸入變量,B0和B1是我們需要估計的移動線的系數。 從技術上講,B0稱為截距,因為它確定了線截取y軸的位置。在機器學習中,我們可以稱之為偏差,因為它被添加以抵消我們所做的所有預測。 B1項稱為斜率,因為它定義了線的斜率或者在我們添加偏差之前x如何轉換為y值。 目標是找到系數的最佳估計值,以最小化從x預測y的誤差。 簡單回歸是很好的,因為我們不是必須通過反復試驗來搜索值,或者使用更高級的線性代數來分析計算它們,我們可以直接從我們的數據中估算它們。 我們可以通過估算B1的值來開始: B1 = sum((xi-mean(x))*(yi-mean(y)))/ sum((xi-mean(x))^ 2) 其中mean()是數據集中變量的平均值。 xi和yi指的是我們需要在數據集中的所有值上重復這些計算,并且i指的是x或y的第i個值。 我們可以使用B1和我們的數據集中的一些統計數據來計算B0,如下所示: B0 =平均值(y) - B1 *平均值(x) 那不錯吧?我們可以在電子表格中計算這些內容。 ### 估算坡度(B1) 讓我們從等式的頂部開始,即分子。 首先,我們需要計算x和y的平均值。平均值計算如下: 1 / n *總和(x) 其中n是值的數量(在這種情況下為5)。您可以在電子表格中使用AVERAGE()函數。讓我們計算x和y變量的平均值: mean(x)= 3 mean(y)= 2.8 現在我們需要從均值計算每個變量的誤差。讓我們先用x做這個: ```py x mean(x) x - mean(x) 1 3 -2 2 3 -1 4 3 1 3 3 0 5 3 2 ``` 現在讓我們為y變量做這個 ```py y mean(y) y - mean(y) 1 2.8 -1.8 3 2.8 0.2 3 2.8 0.2 2 2.8 -0.8 5 2.8 2.2 ``` 我們現在有用于計算分子的部分。我們需要做的就是將每個x的誤差與每個y的誤差相加,并計算這些乘法的總和。 ```py x - mean(x) y - mean(y) Multiplication -2 -1.8 3.6 -1 0.2 -0.2 1 0.2 0.2 0 -0.8 0 2 2.2 4.4 ``` 總結最后一列,我們將分子計算為8。 現在我們需要計算等式的底部來計算B1或分母。這被計算為每個x值與平均值的平方差的總和。 我們已經計算了每個x值與均值的差值,我們需要做的就是對每個值求平方并計算總和。 ```py x - mean(x) squared -2 4 -1 1 1 1 0 0 2 4 ``` 計算這些平方值的總和可以得到10的分母 現在我們可以計算出斜率的值。 B1 = 8/10 B1 = 0.8 ### 估計攔截(B0) 這更容易,因為我們已經知道所涉及的所有術語的值。 B0 = mean(y) – B1 * mean(x) 要么 B0 = 2.8 - 0.8 * 3 or B0 = 0.4 簡單。 ## 做出預測 我們現在有了簡單線性回歸方程的系數。 y = B0 + B1 * x or y = 0.4 + 0.8 * x 讓我們通過對我們的訓練數據進行預測來試驗模型。 ```py x y predicted y 1 1 1.2 2 3 2 4 3 3.6 3 2 2.8 5 5 4.4 ``` 我們可以將這些預測作為我們數據的一條線。這讓我們可以直觀地了解該線對數據進行建模的程度。 ![Simple Linear Regression Model](img/bd9ae26f552f9e7226451e2673caed66.jpg) 簡單線性回歸模型 ## 估計錯誤 我們可以為我們的預測計算誤差,稱為[均方根誤差](https://en.wikipedia.org/wiki/Root-mean-square_deviation)或RMSE。 RMSE = sqrt(sum((pi - yi)^ 2)/ n) 其中sqrt()是平方根函數,p是預測值,y是實際值,i是特定實例的索引,n是預測數,因為我們必須計算所有預測值的誤差。 首先,我們必須計算每個模型預測與實際y值之間的差異。 ```py pred-y y error 1.2 1 0.2 2 3 -1 3.6 3 0.6 2.8 2 0.8 4.4 5 -0.6 ``` 我們可以很容易地計算出每個誤差值的平方(誤差*誤差或誤差^ 2)。 ```py error squared error 0.2 0.04 -1 1 0.6 0.36 0.8 0.64 -0.6 0.36 ``` 這些誤差的總和是2.4個單位,除以n并取平方根給出了: RMSE = 0.692 或者,每個預測平均錯誤約0.692個單位。 ## 捷徑 在我們結束之前,我想向您展示一個計算系數的快捷方式。 簡單線性回歸是最簡單的回歸形式,研究最多。您可以使用快捷方式快速估算B0和B1的值。 真的,它是計算B1的捷徑。 B1的計算可以重寫為: B1 = corr(x,y)* stdev(y)/ stdev(x) 其中corr(x)是x和y之間的相關性,stdev()是變量的標準偏差的計算。 相關性(也稱為 [Pearson相關系數](https://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient))是相關兩個變量在-1到1范圍內的度量。值為1表示兩個變量完全正相關,它們都移動在相同的方向上,值-1表示它們完全負相關,當一個移動另一個方向的另一個移動時。 [標準差](https://en.wikipedia.org/wiki/Standard_deviation)衡量數據從平均值中分散的平均值。 您可以在電子表格中使用函數PEARSON()來計算x和y的相關性為0.852(高度相關)和函數STDEV(),以計算x的標準偏差為1.5811,y為1.4832。 在我們中插入這些值有: B1 = 0.852 * 1.4832 / 1.5811 B1 = 0.799 足夠接近上述值0.8。請注意,如果我們在電子表格中使用更全面的精度來得到相關和標準差方程,我們得到0.8。 ## 摘要 在這篇文章中,您了解了如何在電子表格中逐步實現線性回歸。你了解到: * 如何根據訓練數據估算簡單線性回歸模型的系數。 * 如何使用您學習的模型進行預測。 您對此帖子或線性回歸有任何疑問嗎?發表評論并提出問題,我會盡力回答。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看