1. 程式人生 > >Coursera-Getting and Cleaning Data-Week2-課程筆記

Coursera-Getting and Cleaning Data-Week2-課程筆記

按照Quiz知識點來的筆記

1.API

視訊裡介紹了用httr包讀取twitter資料,在httr Demo頁有其讀取twitter, facebook, google,github等的demo程式碼。

在使用httr包前,都要到相應網站去註冊API,獲得訪問許可權,httr裡訪問資料的方式基本都是oauth,在用oauth_app定義api許可權後,用GET即可獲得相應資料。(視訊裡還涉及到jsonlite包的使用,包括toJSON還有fromJSON)

補充一下,1月份裡,英文區那個很nice的David助教有一個帖子Quiz 2 Question 1 advice and discussion

詳細總結了在使用httr包時會遇到的問題。被第一題難倒的不在少數。愛總結的TA是個好人!

library(httr)
library(jsonlite)

2.SQL in R

載入sqldf包,按照論壇裡的討論是:sqldf的好處就是對一個很大的資料集,你可以用sqldf("select *** from *** where ***")來快速篩選資料,而且使用的還是我們熟悉的sql語句,省去了再次學習的成本。如果工作中較少用到MySQL的話,瞭解一下sqldf就好了。drv=“SQLite”

3.HTML讀取

繼續從TA的帖子開始,按照提示,視訊裡介紹了至少三個讀取html資料的方法,readLines讀取,XML包讀取,httr包(GET)讀取。

readLines讀取,用url方式讀取html頁,並匯入readLines裡。記得讀取完畢後要選擇close這個網頁。讀出來的資料是原始碼格式。為character。

url<-url("一個地址")
con<-readLines(url)
close(url) 
#記得關掉連結啊
#readLines裡面需要用url()來引入地址,這裡拿到的是character格式的資料

 XML包讀取,用htmlTreeParse和xpathSApply讀取資料

library(XML)
url1<-"一個html地址"
html<-htmlTreeParse(url1,useInternalNodes=T)
xpathSApply(html,
"//tilte",xmlValue) 用來取各個結構內的資料

 httr包讀取,這個可以用於要密碼認證的連線。200表示讀取成功,404表示讀取失敗,或許需要密碼

library(httr)
html2<-GET(url1) 
#html2裡儲存的是一個展示讀取了多少資料的資訊,以及200/404等連線資訊。之後要用content來返回,譬如下面,返回一個純文字格式(比XML包還要亂),再使用htmlParse可以獲得跟XML包htmlTreeParse一樣的效果。適合結構型的資料
content2<-content(html2,as="text")
goodformat<-htmlParse(content2,asText=TRUE)

4.Fixed width format

for格式詳解介紹了for格式是什麼東西。看了一下感覺就是科學界喜歡用的一種檔案格式吧,windows的記事本可以開啟沒問題。

這裡的重點是,對於一些資料標題不在第一行,然後各列寬度一樣的資料,要怎樣去讀取他們的成績。按助教在Quiz 2 Question 5 advice and discussion的講法,這裡關鍵是對skip以及width的掌握。不過有人吐槽說,這樣子人工觀察,還不如excel直接處理呢。恩,平日裡我們遇到這樣規整又不整齊的資料的機率還是比較小的,但是作為擴充套件知識面,還是有了解的必要。

download.file("一個fided width的文字檔案地址")
library(utils)
datautils<-read.fwf("檔案地址",skip=要跳過的行,widths=每列之間間隔的數量)

相關推薦

Coursera-Getting and Cleaning Data-Week2-課程筆記

按照Quiz知識點來的筆記 1.API 視訊裡介紹了用httr包讀取twitter資料,在httr Demo頁有其讀取twitter, facebook, google,github等的demo程式碼。 在使用httr包前,都要到相應網站去註冊API,獲得訪問許可權,httr裡訪問資料的方式基本都是

Coursera-Getting and Cleaning Data-week1-課程筆記

課程概述 Getting and Cleaning Data是Coursera資料科學專項的第三門課,有中文翻譯。但是由於中文區討論沒有英文區熱鬧,以及資料積累,強烈建議各位同時選報中文專案和英文專案,可以互相匹配學習。 Week1的課程概括下來,主要介紹了getting and cleaning d

Coursera-Getting and Cleaning Data-Week3-dplyr+tidyr+lubridate的組合拳

Coursera-Getting and Cleaning Data-Week3 Wednesday, February 04, 2015 好久不寫筆記了,年底略忙。。 Getting and Cleaning Data第三週其實沒什麼好說的,一個quiz,一個project,加一個swirl。

Coursera-Getting and Cleaning Data-week4-R語言中的正則表示式以及文字處理

補上第四周筆記,以及本次課程總結。 第四周課程主要針對text進行處理。裡面包括 1.變數名的處理 2.正則表示式 3.日期處理(參見swirl lubridate包練習) 首先,變數名的處理,奉行兩個原則,1)統一大小寫tolower/toupper;2)去掉在匯入資料時,因為特殊字元導致的合併變

【Python學習筆記Coursera課程《Using Python to Access Web Data》 密歇根大學 Charles Severance——Week6 JSON and the REST Architecture課堂筆記

學習 except for num string net none input 網上 Coursera課程《Using Python to Access Web Data》 密歇根大學 Week6 JSON and the REST Architecture 13.5 Ja

coursera-斯坦福-機器學習-吳恩達-筆記week2

線性 歸一化 有變 擬合 分享 選擇 多元線性回歸 縮放 轉置 1 多元線性回歸 1.1 假設函數 多元線性回歸是指有多個特征特征變量的情況。此時我們修改假設函數hθ(x)=θ0+θ1?x為hθ(x)=θ0+θ1x1+θ2x2+?+θnxn。設x0=1,x為特征向量,θ為參

【原】Coursera—Andrew Ng機器學習—課程筆記 Lecture 10—Advice for applying machine learning

Lecture 10—Advice for applying machine learning   10.1 如何除錯一個機器學習演算法? 有多種方案: 1、獲得更多訓練資料;2、嘗試更少特徵;3、嘗試更多特徵;4、嘗試新增多項式特徵;5、減小 λ;6、增大 λ 為了避免一個方案一個方

關於coursera上Learning How to Learn課程的讀書筆記3

課程進行到第二週了,雖然該課程也只有四周,不過收益匪淺,對吧。 第二週 第一節: introduction: 介紹組塊的概念(小而緊湊的資訊塊)和組塊對應試的技巧;討論一些事半功倍和事倍功半的學習方法,提到如overlearning和interleaving等概

【原】Coursera—Andrew Ng機器學習—課程筆記 Lecture 11—Machine Learning System Design

Lecture 11—Machine Learning System Design 11.1 垃圾郵件分類 本章中用一個實際例子: 垃圾郵件Spam的分類 來描述機器學習系統設計方法。首先來看兩封郵件,左邊是一封垃圾郵件Spam,右邊是一封非垃圾郵件Non-Spam:垃圾郵件有很多features。如果我

Coursera : Image and Video Processing學習筆記

之前軟體杯做OCR識別,圖片預處理比較的難搞的情況就是,那種在光照不均勻的環境(或者閃光燈)下導致影象呈現由光照中心由亮變暗的亮度不均勻影象的處理辦法,使用基於滑動視窗的區域性二值化

【原】Coursera—Andrew Ng機器學習—彙總(課程筆記、測驗習題答案、程式設計作業原始碼)

一、Coursera 斯坦福機器學習課程,Andrew Ng Coursera連線不上,修改hosts檔案 機器學習工具Octave安裝(Win10環境) 課程地址和軟體下載  

Coursera】吳恩達 deeplearning.ai 05.序列模型 第一週 迴圈序列模型 課程筆記

迴圈序列模型 為什麼選擇序列模型 在語音識別、音樂生成、情感分類、DNA序列分析、機器翻譯、視訊識別、命名實體識別等任務中,共同特點是輸入X和/或輸出Y都是序列。 數學符號 例如,對於命名實體識別的問題: 對於輸入序列,用 x&l

Coursera】吳恩達 deeplearning.ai 04.卷積神經網路 第二週 深度卷積神經網路 課程筆記

深度卷積神經網路 2.1 為什麼要進行例項化 實際上,在計算機視覺任務中表現良好的神經網路框架,往往也適用於其他任務。 2.2 經典網路 LeNet-5 AlexNet VGG LeNet-5 主要針對灰度影象 隨著神經網路的加深

Cleaning and Preparing Data in Python

Cleaning and Preparing Data in PythonThat boring part of every data scientist’s workData Science sounds like something cool and awesome. It’s pictured as s

Cleaning and Prepping Data with Python for Data Science 

Check Your Data … QuicklyThe first thing you want to do when you get a new dataset, is to quickly to verify the contents with the .head() method.import pan

Coursera吳恩達機器學習課程 總結筆記及作業程式碼——第5周神經網路續

Neural Networks:Learning 上週的課程學習了神經網路正向傳播演算法,這周的課程主要在於神經網路的反向更新過程。 1.1 Cost function 我們先回憶一下邏輯迴歸的價值函式 J(θ)=1m[∑mi=1y(i)log(hθ

吳恩達Coursera深度學習課程 deeplearning.ai (4-1) 卷積神經網路--課程筆記

本課主要講解了卷積神經網路的基礎知識,包括卷積層基礎(卷積核、Padding、Stride),卷積神經網路的基礎:卷積層、池化層、全連線層。 主要知識點 卷積核: 過濾器,各元素相乘再相加 nxn * fxf -> (n-f+1)x(n-f+1)

吳恩達Coursera深度學習課程 deeplearning.ai (4-4) 人臉識別和神經風格轉換--課程筆記

Part 1:人臉識別 4.1 什麼是人臉識別? 人臉驗證: 輸入圖片,驗證是不是 A 人臉識別: 有一個庫,輸入圖片,驗證是不是庫裡的一員 人臉識別難度更大,要求準確率更高,因為1%的人臉驗證錯誤在人臉識別中會被放大很多倍。 4.2 O

(Stanford CS224d) Deep Learning and NLP課程筆記(三):GloVe與模型的評估

本節課繼續講授word2vec模型的演算法細節,並介紹了一種新的基於共現矩陣的詞向量模型——GloVe模型。最後,本節課重點介紹了word2vec模型評估的兩種方式。 Skip-gram模型 上節課,我們介紹了一個十分簡單的word2vec模型。模型的目標是預測word \(o\)出現在另一個word \(c