亚洲熟女综合色一区二区三区,亚洲精品中文字幕无码蜜桃,亚洲va欧美va日韩va成人网,亚洲av无码国产一区二区三区,亚洲精品无码久久久久久久

Python學習教程 | 為什么大部分人都學不好英語?

今天給大家分享一篇Python學習教程:如何用Python檢驗英語學習軟件的學習進度。

0x00 前言
  • 你想知道背單詞軟件有大概多少人注冊第一天都沒有背完嘛?
  • 你想知道背單詞軟件這么火,這么多人在使用,真的有多少人真的在背誦嘛?

別急,Python程序員用數(shù)據(jù)給你說話.

文章目錄如下:

  • 0x00 前言
  • 0x01 問題的提出和任務的分解
  • 0x02 任務一,信息爬取
  • ox03 任務二,清理和存儲
  • 0x04 任務三,分析
  • 0x05 任務四,結(jié)論
  • 0x06 整個流程的不足和反思.
  • 0x07 代碼.
0x01 問題的提出和任務的分解

前兩天,就在一個雷電交加的夜晚,我躺在床上,草草的看了一篇英文文章,突然想到一個非常有意思的問題:

是不是大部分的人做事真的不能堅持呢?比如,背單詞.

好,那我就看看到底有多少人是堅持不下來的?

那么,我們的問題就變成了這樣子:

  • 有多少人是在堅持或者曾經(jīng)堅持過背單詞呢?(假設(shè)100天以上算的上是背單詞的話)
  • 有多少夢想,毀于不能堅持?
  • 背單詞的人們學習的量,是不是符合正太分布呢?

于是我選中了業(yè)內(nèi)的標桿扇貝軟件作為分析的對象.抽取其中的大約1/30的用戶的公開數(shù)據(jù),也就是游客用戶都可以看得到的數(shù)據(jù),進行抽樣調(diào)查.

調(diào)查的具體內(nèi)容如下:

  • 打卡最高/成長值最高/學習單詞數(shù)量最高
  • 平均每個人打卡次數(shù)/成長值/學習單詞數(shù)量
  • 打卡/成長值/學習單詞數(shù)量的分布(也就是已經(jīng)堅持了多少天了)

那么,我的任務也就可以分解如下:

  • 爬取數(shù)據(jù)
    • 使用Python2的Scrapy進行爬站
  • 清理數(shù)據(jù)
    • sql語句和pandas運算
  • 分析數(shù)據(jù)
    • pandas + seaborn + iPython book
  • 得出結(jié)論
0x02 任務一,信息爬取,清理和存儲

每個用戶的信息都在這里:

http://www.shanbay.com/bdc/review/progress/2

使用beautifulsoup4 進行解析即可.其他部分參考代碼.

扇貝的工程師反爬蟲做的還不錯,主要有兩點:

  • 訪問數(shù)量超標,封禁IP半個小時.對應的方法就是代理服務器.(代碼中已經(jīng)刪除代理服務器,所以,如果你運行不了代碼,那你應該知道怎么做了.)
  • cookie如果不禁用很快就無法爬取.對應的方法就是禁用Cookie.
0x03 任務二,清理和存儲

對于數(shù)據(jù)庫,使用Postgresql存儲就好了.也沒有什么大問題.參考代碼.有問題在評論下面問.

通常情況下在存入數(shù)據(jù)庫的時候需要進行數(shù)據(jù)的凈化,不處理也沒有什么大問題.

0x04 任務三,分析

分析階段,使用IPython notebook. 通常情況下,我們使用的是Anaconda里面的Python3版本 .可以到這里下載,注意,mac和ubuntu下載的是命令行版本.

https://www.continuum.io/downloads

安裝完畢以后,重啟終端.環(huán)境變量生效.

Python學習教程 | 為什么大部分人都學不好英語?

切換到指定目錄然后敲入命令iPython notebook打開瀏覽器進行編輯.

至于怎么使用,請看代碼.

0x05 任務三,結(jié)論

在這里省去部分的分析過程直接貼出結(jié)論.

總共抓取1111111張網(wǎng)頁,成功獲取610888個用戶的信息.

于是得出結(jié)論如下:

扇貝之最:

  • 最高打卡天數(shù): ?chainyu 1830天
  • 最高成長值: Lerystal 成長值 28767
  • 最高單詞數(shù)量: chenmaoboss 單詞量 38313

平均到每一個人身上

  • 平均每人打卡天數(shù): 14.18,而超過成長平均值的人數(shù)為71342,占總抽樣人數(shù)的,額,11.69%
  • 平均成長值: 121.79,而超過平均成長的人數(shù)為13351,占總抽樣人數(shù)的,額,11.42%
  • 平均學習單詞數(shù)量: 78.92,而背超過平均單詞的人數(shù)為13351,占總抽樣人數(shù)的,額,2.19%(注意,真的是2%左右)

那么,我們來看看打卡,成長值,單詞數(shù)量的,分布吧.

第一個,所有人的打卡數(shù)量直方圖.

Python學習教程 | 為什么大部分人都學不好英語?

這是所有人的打卡數(shù)量直方圖

簡直慘不忍睹.

第二個,非零用戶的打卡數(shù)量直方圖.

Python學習教程 | 為什么大部分人都學不好英語?

非零用戶的打卡數(shù)量的直方圖

這真是一段悲傷的故事.由于堅持不了幾天的用戶實在是太多,簡直就是反比例函數(shù)嘛,導致圖像嚴重畸形.那么,我們只能分段了看用戶打卡天數(shù)在0~20,20~100,100~500,500~2000范圍的分布圖了.

分別如下:

Python學習教程 | 為什么大部分人都學不好英語?

0~20

Python學習教程 | 為什么大部分人都學不好英語?

20~100

Python學習教程 | 為什么大部分人都學不好英語?

100~500

Python學習教程 | 為什么大部分人都學不好英語?

500~2000

其他成長值的各種分布也是如此,在此就不貼出來了.

正如你所看到的,我再來總結(jié)一下,

在抽樣中:

  1. 英語夢死在前0天的有416351人,占總比68.15%;
  2. 英語夢死在前1天的有466761人,占總比76.40%;
  3. 英語夢死在前2天的有484535人,占總比79.31%;
  4. 英語夢死在前5天的有510230人,占總比83.52%;
  5. 英語夢死在前10天的有531219人,占總比86.95%;
  6. 英語夢死在前20天的有551557人,占總比90.28%;
  7. 英語夢死在前50天的有575975人,占總比的94.28%;
  8. 英語夢死在前100天的有590700人,占總比96.69%;
  9. 英語夢死在前200天的有575975人,占總比98.36%;
  10. 英語夢死在前263天的有600875人,占總比98.81%;

你可以大致感受到殘酷的現(xiàn)實,幾乎沒有多少人可以堅持到200天以后.

但是,你還需要注意到的事情是:

抽樣的來源是ID為1~1111111之間的60W成員

眾所周知的事情是:

  • 早期的用戶往往質(zhì)量相對會高一些.而且,注冊的ID越大,證明注冊時間距離現(xiàn)在越近.獲得200天的幾率也就低了不少.

那么,這樣的話,英語夢死在200天之前的人數(shù)比例還會大上不少.

回到文章開始:

Q: 背單詞軟件有大概多少人注冊第一天都沒有背完嘛?
A:68.15%

Q:有多少人是在堅持或者曾經(jīng)堅持過背單詞呢?(假設(shè)100天以上算的上是背單詞的話)
A:保守估計,不足3.4%

Q:有多少夢想,毀于不能堅持?
A:不妨干了這碗雞湯,歌唱青春一去不復返.

Q:背單詞的人們學習的量,是不是符合正太分布呢?
A:不是,簡直就是反比例函數(shù).

拋出一個結(jié)論:

以絕大部分人努力之低,根本就用不著拼天賦.

贈給你我,共勉.

0x06 整個流程的不足和反思

扇貝的工程師反爬蟲做的還不錯,主要有兩點:

  • 訪問數(shù)量超標,封禁IP半個小時.對應的方法就是代理服務器.
  • cookie如果不禁用很快就無法爬取.對應的方法就是禁用Cookie.

爬蟲框架使用Scrapy,這樣就免去了大量的繁瑣的線程調(diào)度問題,直接寫獲取信息的邏輯代碼,以及存儲信息的邏輯代碼就好了.

在編寫爬蟲的過程中,有一些經(jīng)驗:

  • 在爬蟲開啟以后,由于我暴力的關(guān)閉,導致還是有不少的item沒有完成請求處理和存儲.
  • 我在處理異常的時候忘了應當把失敗的item存放放在文件中,方便我第二次補充,這樣的話就不會丟失一部分的用戶信息了.
  • 代理服務器需要自己寫腳本進行測試,否則你可能有很多很多的請求都會超時(畢竟很多代理服務器還是很不靠譜的).

我的分析數(shù)據(jù)能力并不是很強,僅僅是從CS109里面偷學了一點點,然后使用Seaborn畫圖,但是這整個過程中還是覺得自己分析不過來,不是寫不出代碼,而是不清楚使用什么樣的數(shù)據(jù)模型進行分析更好.

0x07 代碼

代碼放在了Github上面,咳咳,注意,沒有把代理服務器放進去.如果你跑一下會發(fā)現(xiàn)只能半小時抓取300+頁面,這不是我的問題,是你沒有把代理服務器填好.代碼比較粗糙,還請輕拍.

代碼的地址為:

https://github.com/twocucao/DataScience/

倉庫里包含了抓取網(wǎng)站的代碼和分析數(shù)據(jù)的IPython Notebook,自己閱讀吧.

如果喜歡本文,就點個喜歡吧.

作者:無與童比
來源:http://www.jianshu.com/p/b57e55cb5941


————開班喜訊————

溫馨提醒:馬哥教育Python自動化開發(fā)班將于8月28日在北京海淀上地開班,小班制魔鬼式授課,鉅惠限時搶位中。

馬哥教育2017年P(guān)ython自動化運維開發(fā)實戰(zhàn)班,馬哥聯(lián)合BAT、豆瓣等一線互聯(lián)網(wǎng)Python開發(fā)達人,根據(jù)目前企業(yè)需求的Python開發(fā)人才進行了深度定制,加入了大量一線互聯(lián)網(wǎng)公司:大眾點評、餓了么、騰訊等生產(chǎn)環(huán)境真是項目,課程由淺入深,從Python基礎(chǔ)到Python高級,讓你融匯貫通Python基礎(chǔ)理論,手把手教學讓你具備Python自動化開發(fā)需要的前端界面開發(fā)、Web框架、大監(jiān)控系統(tǒng)、CMDB系統(tǒng)、認證堡壘機、自動化流程平臺六大實戰(zhàn)能力,讓你從0開始蛻變成Hold住年薪20萬的Python自動化開發(fā)人才。

Python學習教程 | 為什么大部分人都學不好英語?Python學習教程 | 為什么大部分人都學不好英語?課程咨詢請長按即可咨詢Python學習教程 | 為什么大部分人都學不好英語?Python學習教程 | 為什么大部分人都學不好英語?

Python學習教程 | 為什么大部分人都學不好英語?

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國內(nèi)好評如潮的Linux云計算運維、SRE、Devops、網(wǎng)絡安全、云原生、Go、Python開發(fā)專業(yè)人才培訓機構(gòu)!