Python 散点图线性拟合_机器学习之利用Python进行简单线性回归分析
一、機(jī)器學(xué)習(xí)
1.1什么是機(jī)器學(xué)習(xí)
談到機(jī)器學(xué)習(xí),人們會(huì)很容易聯(lián)想到人工智能和深度學(xué)習(xí),我們通過(guò)這三個(gè)概念的對(duì)比來(lái)說(shuō)明三者的區(qū)別和聯(lián)系。
人工智能Artificial Inteligence:這個(gè)概念早在1956年就被提出,當(dāng)時(shí)科學(xué)家夢(mèng)想著用當(dāng)時(shí)剛剛出現(xiàn)的計(jì)算機(jī)來(lái)構(gòu)造復(fù)雜的、擁有像人類(lèi)智慧特性的機(jī)器。目前,AI的分支很多,諸如專(zhuān)家系統(tǒng)、機(jī)器學(xué)習(xí)、自然語(yǔ)言處理以及推薦系統(tǒng)等。
機(jī)器學(xué)習(xí)Mechine Learning:機(jī)器學(xué)習(xí)是實(shí)現(xiàn)人工智能的一種方法,是使用算法解析數(shù)據(jù)、并從中學(xué)習(xí),然后對(duì)真實(shí)世界中事件作出決策或預(yù)測(cè)。機(jī)器學(xué)習(xí)是通過(guò)大量數(shù)據(jù)來(lái)“訓(xùn)練”算法模型,利用算法從數(shù)據(jù)中學(xué)習(xí)如何完成任務(wù)。學(xué)習(xí)方法可以分為:監(jiān)督學(xué)習(xí)(如分類(lèi))、無(wú)監(jiān)督學(xué)習(xí)(如聚類(lèi))等。(下面介紹一些基礎(chǔ)概念)
- 學(xué)習(xí)(learning):是指找到特征(feature)和標(biāo)簽(label)的映射(mapping)關(guān)系。
- 有監(jiān)督學(xué)習(xí)(supervised learning):不僅將訓(xùn)練數(shù)據(jù)(特征)丟給計(jì)算機(jī),還把分類(lèi)的結(jié)果(數(shù)據(jù)具有的標(biāo)簽)也一并丟給計(jì)算機(jī)分析,如分類(lèi)和回歸;
- 無(wú)監(jiān)督學(xué)習(xí)(unsupervised learning):只提供訓(xùn)練數(shù)據(jù)(特征),不給結(jié)果(標(biāo)簽),計(jì)算機(jī)只能利用其計(jì)算能力分析數(shù)據(jù)的特征,然后得到一些數(shù)據(jù)集合,集合內(nèi)的數(shù)據(jù)在某些特征上相同或相似,如聚類(lèi)分析;
- 半監(jiān)督學(xué)習(xí)(semi-supervised learning):給計(jì)算機(jī)大量訓(xùn)練數(shù)據(jù)與少量分類(lèi)結(jié)果(具有同一標(biāo)簽的集合)。
- 聚類(lèi)(clustering):無(wú)監(jiān)督學(xué)習(xí)的結(jié)果,聚類(lèi)的結(jié)果將產(chǎn)生若干組集合,同集合中對(duì)象彼此相似,與其他集合中對(duì)象相異。
- 分類(lèi)(classification)與回歸(regression):有監(jiān)督學(xué)習(xí)的兩大應(yīng)用,其區(qū)別在于分別產(chǎn)生離散或連續(xù)的結(jié)果(分類(lèi)及回歸方法的區(qū)別在下文中有較詳細(xì)分析)。
深度學(xué)習(xí)Deep Learning:深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一種方法,其本身會(huì)用到有監(jiān)督和無(wú)監(jiān)督的學(xué)習(xí)方法來(lái)訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)。
人工智能、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)三者的關(guān)系1.2機(jī)器學(xué)習(xí)的步驟
利用機(jī)器學(xué)習(xí)方法分析、解決問(wèn)題的過(guò)程可分為五個(gè)步驟:
機(jī)器學(xué)習(xí)主要步驟1.提出問(wèn)題
明確要分析的問(wèn)題,為后續(xù)的機(jī)器學(xué)習(xí)過(guò)程提供目標(biāo)。
2.理解數(shù)據(jù)(采集并查看數(shù)據(jù))
采集數(shù)據(jù)(根據(jù)研究問(wèn)題采集數(shù)據(jù));導(dǎo)入數(shù)據(jù)(從不同數(shù)據(jù)源讀取數(shù)據(jù));查看數(shù)據(jù)信息(描述統(tǒng)計(jì)信息、數(shù)據(jù)缺失值、異常值情況等,可以結(jié)合具體圖表來(lái)直觀查看數(shù)據(jù))。
3.數(shù)據(jù)清洗(數(shù)據(jù)預(yù)處理)
數(shù)據(jù)預(yù)處理是數(shù)據(jù)分析過(guò)程中關(guān)鍵的一環(huán),數(shù)據(jù)質(zhì)量決定了機(jī)器學(xué)習(xí)分析的上限,而具體采用的算法和模型只是逼近這個(gè)上限。(包括缺失數(shù)據(jù)處理、異常值處理、數(shù)據(jù)類(lèi)型轉(zhuǎn)換、列名重命名、數(shù)據(jù)排序、選擇子集、特征工程等步驟)
4.構(gòu)建模型
根據(jù)研究的問(wèn)題以及數(shù)據(jù)的特點(diǎn)選擇合適的算法,將訓(xùn)練數(shù)據(jù)放入所選擇的機(jī)器學(xué)習(xí)算法中構(gòu)建相應(yīng)的模型,有時(shí)需要對(duì)多種算法模型進(jìn)行比較,甚至進(jìn)行模型整合。
5.模型評(píng)估
利用測(cè)試數(shù)據(jù)對(duì)得到的模型效果進(jìn)行評(píng)估,具體評(píng)估指標(biāo)依據(jù)研究的問(wèn)題及采用的模型進(jìn)行選擇,常用到的指標(biāo)需根據(jù)模型的類(lèi)型而定,如分類(lèi)模型常用準(zhǔn)確率、ROC-AUC等,而回歸模型可以用決定系數(shù)等。
各類(lèi)學(xué)習(xí)器評(píng)價(jià)指標(biāo) - MsSpark的博客 - CSDN博客?blog.csdn.net1.3特征(feature)和標(biāo)簽(label)
機(jī)器學(xué)習(xí)中經(jīng)常遇到特征及標(biāo)簽兩個(gè)概念:
特征:數(shù)據(jù)的特征,描述數(shù)據(jù)的屬性。
標(biāo)簽:數(shù)據(jù)的標(biāo)簽,對(duì)數(shù)據(jù)的預(yù)測(cè)結(jié)果。
1.4Python機(jī)器學(xué)習(xí)包sklearn
Python提供了強(qiáng)大的sklearn包,可以調(diào)用不同機(jī)器學(xué)習(xí)方法解決問(wèn)題。我們并不需要一開(kāi)始就掌握sklearn中每種機(jī)器學(xué)習(xí)方法,只需在用到某個(gè)機(jī)器學(xué)習(xí)方法時(shí),再去sklearn中找對(duì)應(yīng)算法的用法即可。本文第三部分會(huì)以調(diào)用sklearn包中LinearRegression方法進(jìn)行簡(jiǎn)單線(xiàn)性回歸分析為例,說(shuō)明如何使用Python進(jìn)行數(shù)據(jù)分析。
sklearn algorithm cheat-sheet二、相關(guān)分析及回歸分析
機(jī)器學(xué)習(xí)常用來(lái)解決相關(guān)分析和回歸分析的問(wèn)題,本文接下來(lái)主要介紹兩者的相關(guān)概念及評(píng)估指標(biāo),以及它們的區(qū)別與聯(lián)系。
2.1相關(guān)分析及回歸分析
- 相關(guān)分析(Correlation analysis):研究?jī)蓚€(gè)或兩個(gè)以上處于同等地位的隨機(jī)變量間的相關(guān)關(guān)系的統(tǒng)計(jì)分析方法。
- 回歸分析(Regression analysis):確定兩種或兩種以上變量間相互依賴(lài)定量關(guān)系的統(tǒng)計(jì)分析方法,將變量分為因變量和自變量。
兩者的區(qū)別:
- 相關(guān)分析中涉及的變量不區(qū)分自變量和因變量,變量之間關(guān)系是對(duì)等的;回歸分析中,需要根據(jù)研究對(duì)象的性質(zhì)和研究分析的目的,區(qū)分變量為自變量和因變量。
- 相關(guān)分析主要通過(guò)“相關(guān)系數(shù)”反映變量間相關(guān)程度的大小,因?yàn)樽兞块g關(guān)系是對(duì)等的,所有相關(guān)系數(shù)是唯一的;回歸分析中,自變量和因變量之間可能存在多個(gè)回歸方程。
兩者的聯(lián)系:
- 相關(guān)分析是回歸分析的基礎(chǔ)和前提,回歸分析是相關(guān)分析的深入和繼續(xù)。
- 相關(guān)分析表現(xiàn)變量間數(shù)量變化的相關(guān)程度,回歸分析表現(xiàn)變量間數(shù)量相關(guān)的具體形式。
- 只有變量間存在高度相關(guān)時(shí),進(jìn)行回歸分析需求具體形式才有意義。
2.2線(xiàn)性相關(guān)性類(lèi)型及回歸分析類(lèi)型
2.2.1線(xiàn)性相關(guān)性類(lèi)型
以?xún)蓚€(gè)變量的簡(jiǎn)單線(xiàn)性相關(guān)為例:
散點(diǎn)圖(直觀判斷變量間是否有相關(guān)性的最佳方法):結(jié)合散點(diǎn)圖來(lái)直觀顯示各個(gè)變量之間的相關(guān)性。
三種線(xiàn)性相關(guān)性:正線(xiàn)性相關(guān)(總體表現(xiàn)直線(xiàn)朝上);負(fù)線(xiàn)性相關(guān);非線(xiàn)性相關(guān)。
2.2.2回歸分析類(lèi)型
根據(jù)不同的維度對(duì)回歸分析進(jìn)行分類(lèi):
- 一元回歸和多元multivariate回歸分析(因變量多少);
- 簡(jiǎn)單回歸和多重multiple回歸分析(自變量多少);
- 線(xiàn)性回歸和非線(xiàn)性回歸(自變量及因變量間關(guān)系類(lèi)型)。
2.3衡量指標(biāo)
2.3.1衡量變量間相關(guān)度的指標(biāo)
符號(hào)(反映兩個(gè)變量的相關(guān)性方向);大小(表示兩個(gè)變量相關(guān)性程度)
- 指標(biāo)一:協(xié)方差
協(xié)方差(cov(data,bias=1)):描述變量間相互關(guān)系,兩隨機(jī)向量X,Y之間的協(xié)方差定義為cov(X,Y)=E[(X-E(X))(Y-E(Y))],E表示數(shù)學(xué)期望??赏ㄋ椎睦斫鉃?#xff0c;兩個(gè)變量在變化過(guò)程中是同方向變化還是反方向變化?以及同向或反向程度如何?
符號(hào)表示相關(guān)性方向;大小表示相關(guān)性程度。
該指標(biāo)缺點(diǎn):容易受到變量量綱影響。
- 指標(biāo)二:相關(guān)系數(shù)
相關(guān)系數(shù)(corrcoef(data)):先對(duì)變量做標(biāo)準(zhǔn)化變換(除相應(yīng)標(biāo)準(zhǔn)差),然后再計(jì)算協(xié)方差,把先標(biāo)準(zhǔn)化變換后做協(xié)方差運(yùn)算定義為變量間的相關(guān)系數(shù)(皮爾遜相關(guān)系數(shù))??梢岳斫鉃槭翘蕹齼蓚€(gè)變量量綱影響,標(biāo)準(zhǔn)化后的特殊協(xié)方差。
相關(guān)系數(shù)與協(xié)方差對(duì)比:
2.3.2衡量回歸模型精確度的指標(biāo)
>>>先介紹回歸分析中的最佳擬合線(xiàn)(回歸方程)
最佳擬合線(xiàn)即能最準(zhǔn)確預(yù)測(cè)出所有點(diǎn)真實(shí)值的線(xiàn)。
如何求出回歸方程中的截距和回歸系數(shù)(最小二乘法:使誤差平方和最小)
指標(biāo)三:決定系數(shù)R平方(coefficient of determination)
決定系數(shù)(model.score()):評(píng)估得到的回歸方程是否較好擬合樣本數(shù)據(jù)的統(tǒng)計(jì)量。(以下是與決定系數(shù)相關(guān)的重要指標(biāo),以及決定系數(shù)的計(jì)算過(guò)程)
總的平方和:觀測(cè)值與平均值的離差平方和
誤差平方和:觀測(cè)值與預(yù)估值的離差平方和
回歸平方和:預(yù)估值與平均值的離差平方和
三個(gè)平方和之間的關(guān)系
決定系數(shù)的計(jì)算(回歸平方和與總平方和的商)
決定系數(shù)與相關(guān)系數(shù)對(duì)比:
- 決定系數(shù)表示回歸線(xiàn)擬合程度,即有多少百分比的y波動(dòng)可以被回歸線(xiàn)描述;相關(guān)系數(shù)表示變量間的相關(guān)關(guān)系。
- 決定系數(shù)大小:R平方越高,回歸模型越精確,取值為[0,1];相關(guān)系數(shù)等于 (相關(guān)性方向符號(hào)+or-)決定系數(shù)開(kāi)方,取值為[-1,1]。
- 決定系數(shù)越大則擬合優(yōu)度越好,但具體問(wèn)題要具體分析;相關(guān)系數(shù)絕對(duì)值越大說(shuō)明變量相關(guān)性越強(qiáng)。
2.4相關(guān)關(guān)系與因果關(guān)系
注意不能混淆相關(guān)關(guān)系和因果關(guān)系,相關(guān)分析只能表明變量是如何或以怎樣的程度彼此聯(lián)系在一起的。
三、回歸分析的Python實(shí)現(xiàn)
利用Python中的sklearn包進(jìn)行簡(jiǎn)單線(xiàn)性回歸分析。
3.1提出問(wèn)題
探究“學(xué)習(xí)時(shí)長(zhǎng)”和“學(xué)習(xí)成績(jī)”之間是否存在相關(guān)性關(guān)系,如果有找出其回歸方程。
3.2理解數(shù)據(jù)
1、導(dǎo)入數(shù)據(jù)包
import2、創(chuàng)建數(shù)據(jù)并查看數(shù)據(jù)
#創(chuàng)建數(shù)據(jù)并查看數(shù)據(jù)3、提取特征值和標(biāo)簽
#特征值:解釋變量(自變量),一般加X(jué)為后綴4、利用散點(diǎn)圖查看數(shù)據(jù)間關(guān)系
import5、求出變量間相關(guān)系數(shù)
#變量間的相關(guān)系數(shù)從散點(diǎn)圖中,我們可以看出學(xué)習(xí)時(shí)長(zhǎng)和學(xué)習(xí)成績(jī)之間應(yīng)該存在線(xiàn)性相關(guān)關(guān)系,且相關(guān)系數(shù)為0.9379呈現(xiàn)強(qiáng)線(xiàn)性相關(guān)關(guān)系(模型選擇時(shí),我們會(huì)創(chuàng)建線(xiàn)性回歸模型進(jìn)行擬合)。
3.3構(gòu)建模型
1、從數(shù)據(jù)集中分離出訓(xùn)練數(shù)據(jù)train和測(cè)試數(shù)據(jù)test
from繪制散點(diǎn)圖,查看訓(xùn)練集和測(cè)試集數(shù)據(jù)的分布情況
import2、創(chuàng)建線(xiàn)性回歸模型
#導(dǎo)入線(xiàn)性回歸模型3、訓(xùn)練模型
#導(dǎo)入模型的數(shù)據(jù)應(yīng)為一列數(shù)據(jù)3.4模型評(píng)估
1、查看模型得分(即決定系數(shù)大小)
#查看模型得分2、求出并繪制模型擬合線(xiàn)(模型的回歸方程)y=a+bx
#模型擬合線(xiàn)(模型的回歸方程)y=a+bx四、總結(jié)
機(jī)器學(xué)習(xí)方法有很多,這些方法有些很容易混淆,比如相關(guān)分析/回歸分析/因果分析以及聚類(lèi)分析/分類(lèi)分析等,在使用時(shí)要注意區(qū)分其異同點(diǎn)。
總結(jié)
以上是生活随笔為你收集整理的Python 散点图线性拟合_机器学习之利用Python进行简单线性回归分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 手把手从零开始学习树莓派教程
- 下一篇: 猿辅导python面试_猿辅导面试经历—