所有關於使用 Scikit 的線性回歸

已發表: 2022-09-08

在實踐中,有兩種​​主要的監督機器學習算法:1. 分類和 2. 回歸——分類用於預測離散輸出,而回歸用於預測連續值輸出。

在代數中,線性表示多個變量之間的直線或線性關係。 這種關係的字面表示將是一條直線。

報名參加世界頂尖大學機器學習課程獲得碩士、Executive PGP 或高級證書課程以加快您的職業生涯。

線性回歸是一種在監督下執行的機器學習算法。 這是一個尋找和映射一條適合所述圖上所有可用數據點的線的過程。 它是一種回歸模型,可幫助估計一個因變量和一個自變量之間的值,所有這些都在直線的幫助下進行。

線性回歸模型有助於根據給定的因變量在這些成本最低的自變量之間建立線性關係。

在數學中,我們使用三種方式來描述線性回歸模型。 它們如下(y 是因變量):

  • y = 截距 + (斜率 x) + 誤差
  • y = 常數 + (coefficientx) + 誤差
  • y = a + bx + e

目錄

為什麼線性回歸必不可少?

線性回歸的模型相對簡單,用戶友好。 它們使解釋能夠生成預測的數學數據/公式的過程相對簡單。 線性回歸可以在各個領域(例如,學術或商業研究)中發揮作用。

線性回歸模型是唯一經科學證明可以準確預測未來的方法。 它用於環境、行為、社會等各種科學。

這些模型的屬性很好理解,因此很容易訓練,因為它是一個歷史悠久的統計程序。 它還有助於將豐富的原始數據集轉換為可操作的信息。

有效線性回歸的關鍵假設

  • 應考慮每個變量的有效案例數、均值和標準差。
  • 對於每個模型應考慮回歸係數、相關矩陣、部分和偏相關、估計的標準誤差、方差分析表、預測值和殘差。
  • :考慮散點圖、直方圖、部分圖和正態概率圖。
  • 數據:必須確保因變量和自變量是定量的。 分類變量不需要重新編碼為二進製或虛擬變量或其他類型的對比變量。
  • 其他假設:對於給定自變量的每個值,我們需要因變量的正態分佈。 對於每個自變量值,因變量的給定分佈的方差也應保持不變。 每個因變量之間的關係應該是線性的。 另外,所有觀察都應該是獨立的。

這是一個簡單線性回歸的現有示例

示例中的數據集包含有關特定時期每一天的全球天氣情況的信息。 這份詳細的信息列表包括降水、降雪、溫度、風速、雷暴或其他可能的天氣條件等因素。

該問題旨在使用簡單的線性回歸模型來預測最高溫度,同時以最低溫度為輸入。

首先,需要導入所有庫。

將熊貓導入為 pd

將 numpy 導入為 np

將 matplotlib.pyplot 導入為 plt

將 seaborn 導入為 seabornInstance

從 sklearn.model_selection 導入 train_test_split

從 sklearn.linear_model 導入線性回歸

從 sklearn 導入指標

%matplotlib 內聯

要使用 pandas 導入以下數據集,需要應用以下命令:

dataset = pd.read_csv('/Users/nageshsinghchauhan/Documents/projects/ML/ML_BLOG_LInearRegression/Weather.csv')

要檢查數據集中存在的行數和列數以探索數據,需要應用以下命令:

數據集.shape

接收到的輸出應該是(119040, 31),這意味著數據包含119040行和31列。

要查看數據集的統計詳細信息,可以使用以下命令:

描述():

dataset.describe()

這是另一個示例,旨在演示如何檢索和使用用於將線性回歸應用於給定數據集的各種 Python 庫:

1. 導入所有需要的庫

將 numpy 導入為 np

將熊貓導入為 pd

將 seaborn 導入為 sns

將 matplotlib.pyplot 導入為 plt

從 sklearn 導入預處理,支持向量機

從 sklearn.model_selection 導入 train_test_split

從 sklearn.linear_model 導入線性回歸

2.讀取數據集

cd C:\Users\Dev\Desktop\Kaggle\Salinity

# 將文件讀取位置更改為數據集的位置

df = pd.read_csv('bottle.csv')

df_binary = df[['鹽度', 'T_degC']]

# 只取數據集中選擇的兩個屬性

df_binary.columns = ['Sal', 'Temp']

# 重命名列以便於編寫代碼

df_binary.head()

# 只顯示第一行和列名

2. 探索數據分散

sns.lmplot(x =”Sal”, y =”Temp”, data = df_binary, order = 2, ci = None)

# 繪製數據散點圖

3.數據清洗

# 消除 NaN 或缺失的輸入數字

df_binary.fillna(method ='ffill', inplace = True)

4. 訓練模型

X = np.array(df_binary['Sal']).reshape(-1, 1)

y = np.array(df_binary['Temp']).reshape(-1, 1)

# 將數據分成自變量和因變量

# 將每個數據幀轉換成一個 numpy 數組

# 因為每個數據框只包含一列

df_binary.dropna(就地=真)

# 刪除任何具有 Nan 值的行

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25)

# 將數據拆分為訓練和測試數據

regr = 線性回歸()

regr.fit(X_train, y_train)

打印(regr.score(X_test,y_test))

5. 探索結果

y_pred = regr.predict(X_test)

plt.scatter(X_test, y_test, color ='b')

plt.plot(X_test, y_pred, color ='k')

plt.show()

# 預測值的數據分散

6. 使用較小的數據集

df_binary500 = df_binary[:][:500]

# 選擇數據的前 500 行

sns.lmplot(x =”Sal”, y =”Temp”, 數據 = df_binary500,

順序 = 2,ci = 無)

流行的機器學習和人工智能博客

物聯網:歷史、現在和未來 機器學習教程:學習機器學習 什麼是算法? 簡單易行
印度機器人工程師的薪水:所有角色 機器學習工程師的一天:他們在做什麼? 什麼是物聯網(物聯網)
排列與組合:排列與組合之間的區別 人工智能和機器學習的 7 大趨勢 使用 R 進行機器學習:您需要知道的一切

如果您有興趣學習成熟的機器學習,我們建議您加入 Grad 的機器學習與人工智能理學碩士課程 這個為期 20 個月的課程是與 IIIT 班加羅爾大學和利物浦約翰摩爾斯大學聯合提供的。 旨在幫助您建立行業相關編程語言、工具和庫(如 Python、Keras、Tensor Flow、MySql、Flask、Kubernetes 等)的能力。

該計劃可以通過實踐經驗和技能培養幫助您掌握先進的數據科學概念。 此外,您還可以通過獲得 360° 職業顧問、40,000 多名付費學習者的網絡池以及大量合作機會獲得 upGrad 優勢!

今天就預訂座位!

什麼是線性回歸用於

這種分析通常用於根據另一個已知變量來預測一個變量的值。 用於查找另一個值的變量分別稱為因變量和自變量。

如何安裝scikit learn?

首先,需要安裝相關操作系統或 Python 發行版提供的 Scikit learn 線性回歸版本。 對於擁有此選項的人來說,這是最快的。 然後需要安裝正式發布和最新更新的版本。

scikit 學習如何工作?

Scikit learn linear regression通過python的接口給出了一系列有監督和無監督的算法,總是一致的。 它是根據允許的 BSD 許可證獲得許可的。 它分佈在各種 Linux 運營商下。 在商業和教育中廣泛鼓勵使用這些算法。