在本教程中,我們將使用 Python 程式設計實作迴歸分析和最佳擬合線
簡介
迴歸分析是預測分析最基本的形式。
在統計學中,線性迴歸是一種對標量值與一個或多個解釋變數之間的關係進行建模的方法。
在機器學習中,線性迴歸是一種監督演算法。這種演算法根據自變數預測目標值。
有關線性迴歸和迴歸分析的更多資訊
在線性迴歸/分析中,目標是真實的或連續的值,例如薪資、BMI等。它通常用於預測因變數和一堆自變數之間的關係。這些模型通常擬合線性方程,但是,還有其他類型的迴歸,包括高階多項式。
在對資料進行線性模型擬合之前,有必要檢查資料點之間是否存在線性關係。這從他們的散佈圖中可以明顯看出。演算法/模型的目標是找到最佳擬合線。
在本文中,我們將探討線性迴歸分析及其使用 C 的實作。
線性迴歸方程式的形式為 Y = c mx ,其中 Y 是目標變量,X 是自變數或解釋參數/變數。 m 是迴歸線的斜率,c 是截距。由於這是一個二維迴歸任務,因此模型會在訓練期間嘗試找到最佳擬合線。不必所有點都精確地排在同一條線上。有些數據點可能位於線上,有些則分散在線上。直線和資料點之間的垂直距離是殘差。根據該點是位於該線的下方或上方,該值可以是負值,也可以是正值。殘差是直線與資料擬合程度的量測。該演算法是連續的,以最小化總殘差。
每個觀測值的殘差是 y(因變數)的預測值與 y 的觀測值之間的差
$$\mathrm{殘差\: =\: 實際\: y\: 值\:−\:預測\: y\: 值}$$
$$\mathrm{ri\:=\:yi\:−\:y'i}$$
評估線性迴歸模型表現的最常見指標稱為均方根誤差或 RMSE。基本想法是衡量模型的預測與實際觀測值相比有多糟糕/錯誤。
因此,高 RMSE 是“壞”,低 RMSE 是“好”
RMSE 誤差為
$$\mathrm{RMSE\:=\:\sqrt{\frac{\sum_i^n=1\:(這個\:-\:這個')^2}{n}}}$$ p>
##RMSE 是所有殘差平方平均值的根。
使用Python實作
範例
# Import the libraries import numpy as np import math import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error # Generate random data with numpy, and plot it with matplotlib: ranstate = np.random.RandomState(1) x = 10 * ranstate.rand(100) y = 2 * x - 5 + ranstate.randn(100) plt.scatter(x, y); plt.show() # Creating a linear regression model based on the positioning of the data and Intercepting, and predicting a Best Fit: lr_model = LinearRegression(fit_intercept=True) lr_model.fit(x[:70, np.newaxis], y[:70]) y_fit = lr_model.predict(x[70:, np.newaxis]) mse = mean_squared_error(y[70:], y_fit) rmse = math.sqrt(mse) print("Mean Square Error : ",mse) print("Root Mean Square Error : ",rmse) # Plot the estimated linear regression line using matplotlib: plt.scatter(x, y) plt.plot(x[70:], y_fit); plt.show()
輸出
Mean Square Error : 1.0859922470998231 Root Mean Square Error : 1.0421095178050257
#結論
迴歸分析是一種非常簡單但功能強大的技術,用於機器學習和統計中的預測分析。這個想法在於其簡單性以及獨立變數和目標變數之間的潛在線性關係。
以上是使用Python進行迴歸分析和最佳擬合直線的詳細內容。更多資訊請關注PHP中文網其他相關文章!

SlicingaPythonlistisdoneusingthesyntaxlist[start:stop:step].Here'showitworks:1)Startistheindexofthefirstelementtoinclude.2)Stopistheindexofthefirstelementtoexclude.3)Stepistheincrementbetweenelements.It'susefulforextractingportionsoflistsandcanuseneg

numpyallowsforvariousoperationsonArrays:1)basicarithmeticlikeaddition,減法,乘法和division; 2)evationAperationssuchasmatrixmultiplication; 3)element-wiseOperations wiseOperationswithOutexpliitloops; 4)

Arresinpython,尤其是Throughnumpyandpandas,weessentialFordataAnalysis,offeringSpeedAndeffied.1)NumpyArseNable efflaysenable efficefliceHandlingAtaSetSetSetSetSetSetSetSetSetSetSetsetSetSetSetSetsopplexoperationslikemovingaverages.2)

列表sandnumpyArraysInpythonHavedIfferentMemoryfootprints:listSaremoreFlexibleButlessMemory-效率,而alenumpyArraySareSareOptimizedFornumericalData.1)listsStorReereReereReereReereFerenceStoObjects,with withOverHeadeBheadaroundAroundaround64byty64-bitsysysysysysysysysyssyssyssyssysssyssys2)

toensurepythonscriptsbehavecorrectlyacrycrosdevelvermations,分期和生產,USETHESTERTATE:1)Environment varriablesForsimplesettings,2)configurationfilesfilesForcomPlexSetups,3)dynamiCofforComplexSetups,dynamiqualloadingForaptaptibality.eachmethodoffersuniquebeneiquebeneqeniquebenefitsandrefitsandrequiresandrequiresandrequiresca

Python列表切片的基本語法是list[start:stop:step]。 1.start是包含的第一個元素索引,2.stop是排除的第一個元素索引,3.step決定元素之間的步長。切片不僅用於提取數據,還可以修改和反轉列表。

ListSoutPerformarRaysin:1)DynamicsizicsizingandFrequentInsertions/刪除,2)儲存的二聚體和3)MemoryFeliceFiceForceforseforsparsedata,butmayhaveslightperformancecostsinclentoperations。

toConvertapythonarraytoalist,usEthelist()constructororageneratorexpression.1)intimpthearraymoduleandcreateanArray.2)USELIST(ARR)或[XFORXINARR] to ConconverTittoalist,請考慮performorefformanceandmemoryfformanceandmemoryfformienceforlargedAtasetset。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3漢化版
中文版,非常好用

Dreamweaver Mac版
視覺化網頁開發工具