日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

机器学习第3天:多元线性回归

發(fā)布時(shí)間:2025/4/5 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习第3天:多元线性回归 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 一、具體實(shí)現(xiàn)步驟
    • 第1步:數(shù)據(jù)預(yù)處理
      • 導(dǎo)入庫(kù)
      • 導(dǎo)入數(shù)據(jù)集
      • 將類別數(shù)據(jù)數(shù)字化
      • 躲避虛擬變量陷阱
      • 拆分?jǐn)?shù)據(jù)集為訓(xùn)練集和測(cè)試集
    • 第2步: 在訓(xùn)練集上訓(xùn)練多元線性回歸模型
    • 第3步:在測(cè)試集上預(yù)測(cè)結(jié)果
  • 二、知識(shí)點(diǎn)詳解
    • 1. 關(guān)于多元線性回歸
    • 2. 關(guān)于OneHotEncoder()編碼
    • 3. 關(guān)于toarray()
    • 4. 虛擬變量陷阱

----- 代碼傳送門(mén)-----
----- 數(shù)據(jù)傳送門(mén)-----


一、具體實(shí)現(xiàn)步驟

第1步:數(shù)據(jù)預(yù)處理

導(dǎo)入庫(kù)

import pandas as pd import numpy as np

導(dǎo)入數(shù)據(jù)集

dataset = pd.read_csv('50_Startups.csv') X = dataset.iloc[ : , :-1].values Y = dataset.iloc[ : , 4 ].values

將類別數(shù)據(jù)數(shù)字化

from sklearn.preprocessing import LabelEncoder, OneHotEncoder labelencoder = LabelEncoder() X[: , 3] = labelencoder.fit_transform(X[ : , 3]) #表示對(duì)第4個(gè)特征進(jìn)進(jìn)行OneHot編碼 onehotencoder = OneHotEncoder(categorical_features = [3]) X = onehotencoder.fit_transform(X).toarray()

躲避虛擬變量陷阱

X = X[: , 1:]

拆分?jǐn)?shù)據(jù)集為訓(xùn)練集和測(cè)試集

from sklearn.model_selection import train_test_split X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state=0)

第2步: 在訓(xùn)練集上訓(xùn)練多元線性回歸模型

from sklearn.linear_model import LinearRegression regressor = LinearRegression() regressor.fit(X_train, Y_train)

第3步:在測(cè)試集上預(yù)測(cè)結(jié)果

y_pred = regressor.predict(X_test)

二、知識(shí)點(diǎn)詳解

1. 關(guān)于多元線性回歸

簡(jiǎn)單線性回歸:影響Y的因素唯一,只有一個(gè)。
多元線性回歸:影響Y的因數(shù)不唯一,有多個(gè)。

與一元線性回歸一樣,多元線性回歸自然是一個(gè)回歸問(wèn)題。

一元線性回歸方程:Y=aX+b。
多元線性回歸是:Y=aX1+bX2+cX3+…+nXn。

相當(dāng)于我們高中學(xué)的一元一次方程,變成了n元一次方程。因?yàn)閥還是那個(gè)y。只是自變量增加了。

2. 關(guān)于OneHotEncoder()編碼

在實(shí)際的機(jī)器學(xué)習(xí)的應(yīng)用任務(wù)中,特征有時(shí)候并不總是連續(xù)值,有可能是一些分類值,如性別可分為“male”和“female”。在機(jī)器學(xué)習(xí)任務(wù)中,對(duì)于這樣的特征,通常我們需要對(duì)其進(jìn)行特征數(shù)字化,如下面的例子:

有如下三個(gè)特征屬性:

  • 性別:[“male”,“female”]
  • 地區(qū):[“Europe”,“US”,“Asia”]
  • 瀏覽器:[“Firefox”,“Chrome”,“Safari”,“Internet Explorer”]

通過(guò)LabelEncoder將其數(shù)字化:

  • 性別:[0,1]
  • 地區(qū):[0,1,2]
  • 瀏覽器:[0,1,2,3]

再用OneHotEncoder進(jìn)行編碼:

from sklearn.preprocessing import OneHotEncoderenc = OneHotEncoder() enc.fit([[0, 0, 3],[1, 1, 0],[0, 2, 1],[1, 0, 2]]) """ 如果不加 toarray() 的話,輸出的是稀疏的存儲(chǔ)格式,即索引加值的形式, 也可以通過(guò)參數(shù)指定 sparse = False 來(lái)達(dá)到同樣的效果 """ ans = enc.transform([[0, 1, 3]]).toarray() print(ans) # 輸出 [[ 1. 0. 0. 1. 0. 0. 0. 0. 1.]]

解釋:對(duì)于輸入數(shù)組,這依舊是把每一行當(dāng)作一個(gè)樣本,每一列當(dāng)作一個(gè)特征。

  • 我們先來(lái)看第一個(gè)特征,即第一列 [0,1,0,1],也就是說(shuō)它有兩個(gè)取值 0 或者 1,那么 one-hot 就會(huì)使用兩位來(lái)表示這個(gè)特征,[1,0] 表示 0, [0,1] 表示 1,在上例輸出結(jié)果中的前兩位 [1,0…] 也就是表示該特征為 0。
  • 第二個(gè)特征,第二列 [0,1,2,0],它有三種值,那么 one-hot 就會(huì)使用三位來(lái)表示這個(gè)特征,[1,0,0] 表示 0, [0,1,0] 表示 1,[0,0,1] 表示 2,在上例輸出結(jié)果中的第三位到第六位 […0,1,0,0…] 也就是表示該特征為 1。
  • 第二個(gè)特征,第三列 [3,0,1,2],它有四種值,那么 one-hot 就會(huì)使用四位來(lái)表示這個(gè)特征,[1,0,0,0] 表示 0, [0,1,0,0] 表示 1,[0,0,1,0] 表示 2,[0,0,0,1] 表示 3,在上例輸出結(jié)果中的最后四位 […0,0,0,1] 也就是表示該特征為 3

可以簡(jiǎn)單理解為“male”“US”“Safari”經(jīng)過(guò)LabelEncoder與OneHotEncoder的編碼就變成了:[[1. 0. 0. 1. 0. 0. 0. 0. 1.]]

更多OneHot編碼知識(shí)可前往:scikit-learn 中 OneHotEncoder 解析

3. 關(guān)于toarray()

toarray():將列表轉(zhuǎn)化為數(shù)組

Python原生沒(méi)有數(shù)組的概念,這點(diǎn)不同于Java之類的面向?qū)ο笳Z(yǔ)言。Python中原生的列表使用起來(lái)很像數(shù)組,但是兩者有本質(zhì)的區(qū)別

列表與數(shù)組的最本質(zhì)的區(qū)別:列表中的所有元素的內(nèi)存地址可以不是連續(xù)的,而數(shù)組是連續(xù)的。

更詳細(xì)的解釋:Python中列表與數(shù)組的區(qū)別

4. 虛擬變量陷阱

虛擬變量陷阱是指兩個(gè)以上(包括兩個(gè))變量之間高度相關(guān)的情形。簡(jiǎn)而言之,就是存在一個(gè)能被其他變量預(yù)測(cè)出的變量,舉一個(gè)存在重復(fù)類別(變量)的直觀例子:假使我們舍棄男性類別,那么該類別也可以通過(guò)女性類別來(lái)定義(女性值為0時(shí),表示男性,為1時(shí),表示女性),反之亦然。

虛擬變量陷阱這里就簡(jiǎn)單了解,后面再深入討論。

總結(jié)

以上是生活随笔為你收集整理的机器学习第3天:多元线性回归的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。