1. 程式人生 > >8.1 機器學習—R語言-線性迴歸

8.1 機器學習—R語言-線性迴歸

機器學習就是擬人資料+演算法-->找規律大資料公司主要分四類:1,資料擁有者,資料來源,PB級資料的包子鋪2,大資料諮詢公司,Cloudera--CDH3,大資料工具公司,Databricks--Apache Shark4,整合應用型,結合機器學習來解決更多實際的痛點機器學習是什麼已有的資料(經驗)某種模型(遲到的規律)利用此模型預測未來(是否遲到)機器學習界“資料為王”思想R語言:主要用於統計分析繪圖資料探勘環境安裝:R-3.1.3-win.exe------->相當於JDKRStudio-0.99.447.exe-------->相當於eclipse安裝R-3.1.3-win.exe的時候路徑注意不要有漢字和空格R語言的資料結構:向量R的基本資料結構式向量。向量儲存一組有序的值,稱為元素R中的向量有固有的順序,所以其資料能通過計算向量中各元 素的序號來訪問,序號是從1開始因子因子是向量的一個特例,它單獨用來標識名義屬性把字元型向量轉換成因子,只需要應用factor()函式列表一種特殊型別的向量--列表,它用來儲存一組有序的值列表允許收集不同型別的值用列表構建”物件”進行訪問陣列資料框
機器學習中使用的最重要的R資料結構就是資料框,因為它既 有行資料又有列資料,所以它是一個與電子表格或資料庫相類 似的結構提取其中的整個向量資料,就如列表提取一個元素那麼簡單, 通過名字資料框是二維的,格式為“[rows, columns]”也可以提取資料矩陣儲存和載入R資料結構:save(x,y,z, file="mydata.RData")load("mydata.RData")用CSV檔案匯入和儲存資料:#stringsAsFactors=FALSE指的是讀入的資料中的字串資料是否要變成屬性資料pt_data <- read.csv("pt_data.csv", stringsAsFactors=FALSE)#header=FALSE指的是第一列不是資料pt_data <- read.csv("pt_data.csv", stringsAsFactors=FALSE, header=FALSE)write.csv(pt_data, file="pt_data2.csv")R語言中“<-”表示賦值,如“x <- 3”表示賦予物件x的值為3。請不要用等號!R程式碼中“#”後邊的都表示註釋,不會被執行此時可輸入中文。在程式碼中R語言支援中文但並不好,建議全英環境讀取指定路徑檔案:
setwd("D://data")#指定路徑insurance <- read.csv("insurance.csv", stringsAsFactors = TRUE)#上面指定路徑下的檔案兩個練習R檔案:dataManagement_dataUnderstanding.R:
subject_name <- c("John Doe","Jane Doe","Steve Graves")temperature <- c(98.1, 98.6, 101.4)flu_status <- c(FALSE, FALSE, TRUE)temperature[2]temperature[2:3]
temperature[-2]temperature[c(TRUE,TRUE,FALSE)]gender <- factor(c("MALE","MALE","FEMALE"))genderblood <- factor(c("O","AB","A"),levels = c("A","B","AB","O"))bloodsubject_name[1]temperature[1]flu_status[1]gender[1]blood[1]subject1 <- list(fullname = subject_name[1],                 temperature = temperature[1],                 flu_status = flu_status[1],                 gender = gender[1],                 blood = blood[1])subject1subject1[2]subject1$temperaturesubject1[c("temperature","flu_status")]pt_data <- data.frame(subject_name, temperature, flu_status, gender, blood, stringsAsFactors = FALSE)pt_datapt_data$subject_namept_data[c("temperature","flu_status")]pt_data[1,2]pt_data[c(1,3),c(2,4)]pt_data[,1]pt_data[1,]pt_data[,]pt_data[c(1,3),c("temperature","gender")]pt_data[-2,c(-1,-3,-5)]x <- subject_namey <- subject1z <- pt_datasave(x,y,z, file="mydata.RData")load("mydata.RData")pt_data <- read.csv("pt_data.csv", stringsAsFactors=FALSE)pt_data <- read.csv("pt_data.csv", stringsAsFactors=FALSE, header=FALSE)write.csv(pt_data, file="pt_data2.csv")str(pt_data)summary(pt_data$temperature)summary(pt_data[c("gender","temperature")])model_table <- table(pt_data$gender)pmt <- prop.table(model_table)round(pmt, digits=1)plot(x = pt_data$temperature, y = pt_data$flu_status,     main = "Temperature vs. Flu",     xlab = "溫度",     ylab = "感冒")mydb <- odbcConnect("127.0.0.1", uid="root", pwd="123123")
線性迴歸:對於簡單線性迴歸問題,也就是小學大家就都會了的解應用題。 Y=a+bx兩個變數之間的相關係數是一個數,它表示兩個變數服從一條 直線的關係有多麼緊密相關係數就是指Pearson相關係數,它是數學家Pearson提出 來的,相關係數的範圍是-1~+1之間,兩端的值表示一個完美 的線性關係相關係數接近於0則表示不存線上性關係。協方差函式cov(), 標準方差函式sd(),可以求出來cor()多元線性迴歸insurance.R:保險費insurance <- read.csv("insurance.csv", stringsAsFactors = TRUE)str(insurance)#既然因變數是charges,我們就來看一下它是如何分佈的summary(insurance$charges)hist(insurance$charges)table(insurance$region)cor(insurance[c("age","bmi","children","charges")])pairs(insurance[c("age","bmi","children","charges")])library("psych")pairs.panels(insurance[c("age","bmi","children","charges")])#lm代表線性迴歸演算法ins_model <- lm(charges ~ age + children + bmi + sex + smoker + region, data=insurance)ins_model <- lm(charges ~ . , data=insurance)ins_modelsummary(ins_model)insurance$age2 <- insurance$age^2insurance$bmi30 <- ifelse(insurance$bmi >= 30, 1, 0)ins_models <- lm(charges ~ age + age2 + children + bmi + sex + bmi30*smoker + region , data=insurance)summary(ins_models)

相關推薦

8.1 機器學習R語言-線性迴歸

機器學習就是擬人資料+演算法-->找規律大資料公司主要分四類:1,資料擁有者,資料來源,PB級資料的包子鋪2,大資料諮詢公司,Cloudera--CDH3,大資料工具公司,Databricks--Apache Shark4,整合應用型,結合機器學習來解決更多實際的痛點機

R語言線性迴歸

迴歸分析是一個廣泛使用的統計工具,用於建立兩個變數之間的關係模型。 這些變數之一稱為預測變數,其值通過實驗收集。 另一個變數稱為響應變數,其值來自預測變數。 線上性迴歸中,這兩個變數通過一個等式相關聯,其中這兩個變數的指數(冪)是1。數學上,當繪製為圖形時,線性關係表示直線。任何變數的指數不等於1的非線性關

吳恩達機器學習-多變數線性迴歸 吳恩達機器學習 - 多變數線性迴歸

原 吳恩達機器學習 - 多變數線性迴歸 2018年06月18日 17:50:26 離殤灬孤狼 閱讀數:84 收起

機器學習之一元線性迴歸

概述 線性迴歸是利用數理統計中迴歸分析,來確定兩種或兩種以上變數間相互依賴的定量關係的一種統計分析方法,運用十分廣泛。其表達形式為y = w'x+e,e為誤差服從均值為0的正態分佈。 迴歸分析中,只包括一個自變數和一個因變數,且二者的關係可用一條直線近似表示,這種迴歸分析稱為一元線性迴歸分析。 如果迴歸分析

Python 機器學習系列之線性迴歸篇深度詳細

前兩篇部落格主要是講解基礎的線性迴歸,以下轉載自:http://www.jianshu.com/p/738f6092ef53,對迴歸進行深度分析,並加入了多項式的內容。 前言 本次推文介紹用線性模型處理迴歸問題。 從簡單問題開始,先處理一個響應變數和一個解釋變數的一元問題。 然後,介

機器學習》筆記 - 線性迴歸

對應於《機器學習》書中3.1與3.2節 1.基本形式 線性模型就是試圖找到一個可以進行預測的線性函式: 其中x是示例的屬性,w是權重,當d>1時的問題叫多變量回歸問題,否則叫單變量回歸問題。 線性模型的優點在於其可解釋性強,因為可以直觀表達每個屬性的重要程度。 &nb

機器學習筆記】線性迴歸之最小二乘法

線性迴歸    線性迴歸(Linear Regreesion)就是對一些點組成的樣本進行線性擬合,得到一個最佳的擬合直線。 最小二乘法    線性迴歸的一種常用方法是最小二乘法,它通過最小化誤差的平方和尋找資料的最佳函式匹配。 代數推導    假設擬合函式為 y

機器學習入門之線性迴歸演算法推導

心血來潮,想將所學到的知識寫篇部落格,筆者所研究的方向為機器學習,剛學習的時候,走了很多彎路,看的書不少,在推導機器學習一些演算法時候遇到了不少困難,查了不少資料,在剛才學的時候,有很多公式推導起來很困難,或者說大多數人都會遇到這樣的問題,本部落格目的就是解決在機器學習公式推導過程中遇到的問

機器學習實戰》線性迴歸python原始碼

開啟pycharm建立一個regression.py檔案,輸入如下程式碼: #coding:utf-8 from numpy import * seterr(divide='ignore',invalid='ignore') """-------------------

吳恩達-機器學習(2)-多元線性迴歸、正規方程

文章目錄 Multivariate Linear Regression 特徵縮放 學習率 多項式迴歸(Ploynomial regression) Normal Equation

機器學習一:線性迴歸 (Linear Regression)

1.基本問題 線性迴歸屬於有監督的演算法,用來做迴歸預測。在實際的有監督迴歸問題中,我們通過擬合係數 的線性模型,以最小化資料集中觀察到的響應y與線性近似預測的響應之間的殘差平方和。我們的目標便是選擇出可以使得殘差平方和最小的模型引數,即得到代價函式 表達方式: (1)單變數線

機器學習筆記(6) 線性迴歸

先從最簡單的例子開始,假設我們有一組樣本(如下圖的一個個黑色的圓點),只有一個特徵,如下圖,橫軸是特徵值,縱軸是label。比如橫軸是房屋面積,縱軸是房屋價格. 現在我們要做什麼呢?我們試圖找到一條直線y=ax+b,可以儘量好的擬合這些點. 你可能要問了,為啥是直線,不是曲線,不是折線?因為我們的前提

[050]Python 機器學習系列之線性迴歸篇深度詳細

本次推文介紹用線性模型處理迴歸問題。 從簡單問題開始,先處理一個響應變數和一個解釋變數的一元問題。 然後,介紹多元線性迴歸問題(multiple linear regression),線性約束由多個解釋變數構成。 緊接著,介紹多項式迴歸分析(polynomial regression 問題),一種具有非線性

機器學習演算法總結--線性迴歸和邏輯迴歸

1. 線性迴歸 簡述 在統計學中,線性迴歸(Linear Regression)是利用稱為線性迴歸方程的最小平方函式對一個或多個自變數和因變數之間關係進行建模的一種迴歸分析。這種函式是一個或多個稱為迴歸係數的模型引數的線性組合(自變數都是一次方)。只有一

機器學習演算法】線性迴歸以及手推logistic迴歸

一,基本形式: 在樣本集D中有n個樣本,即。其中每個樣本x有d個屬性描述, x = (x1;x2;...;xd),其中xi表示的是第i個屬性上的取值,線性模型試圖學得一個通過屬性的線性組合來進行預測的函式,即: 其中w,b是要訓練的引數, w = (w1;w2;...;w

各種機器學習方法(線性迴歸、支援向量機、決策樹、樸素貝葉斯、KNN演算法、邏輯迴歸)實現手寫數字識別並用準確率、召回率、F1進行評估

本文轉自:http://blog.csdn.net/net_wolf_007/article/details/51794254 前面兩章對資料進行了簡單的特徵提取及線性迴歸分析。識別率已經達到了85%, 完成了數字識別的第一步:資料探測。 這一章要做的就各

機器學習sklearn19.0——線性迴歸演算法(應用案例)

一、sklearn中的線性迴歸的使用 二、線性迴歸——家庭用電預測 (1)時間與功率之間的關係 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:ZhengzhengLiu #線性迴歸——家庭用電預

機器學習入門:線性迴歸及梯度下降(附matlab程式碼)

 本文會講到: (1)線性迴歸的定義 (2)單變數線性迴歸 (3)cost function:評價線性迴歸是否擬合訓練集的方法 (4)梯度下降:解決線性迴歸的方法之一 (5)feature scaling:加快梯度下降執行速度的方法 (6)多變數線性迴歸 Linea

大資料(四十一)機器學習【多元線性迴歸例項】

一、前言         保險公司對個人投保時或根據歷史資料生成的模型來計算個人保費,那麼本次我們就以這個模型的求解過程為例來實踐下多元線性迴歸。 二、資料&簡單分析         我們已經獲取到保險公司部分資料,檔名為insurance.csv,檔案內容如下

機器學習】【線性迴歸】梯度下降的三種方式(BGD+SGD+MSGD)以及三種調優方法(加快收斂速度)

1.梯度下降演算法梯度下降演算法的核心思路和公式推導,可以詳見前面的文章:梯度下降演算法的核心思路和公式推導如果代價函式是凸函式,用梯度下降演算法一定可以求得最優解。2.梯度下降的三種方式在ML中,梯度下降有三種方式:1)批量梯度下降(Batch Gradient  Desc