595
人物
學生考試成績預測__案例_機器學習-阿裏雲
(本文數據為實驗用例)
一、背景
母親是老師反而會對孩子的學習成績造成不利影響?能上網的家庭,孩子通常能取得較好的成績?影響孩子成績的最大因素居然是母親的學曆?本文通過機器挖掘算法和中學真實的學生數據為您揭秘影響中學生學業的關鍵因素有哪些。
本文的數據采集於某中學在校生的家庭背景數據以及在校行為數據。通過邏輯回歸算法生成離線模型和學業指標評估報告,並且可以對學生的期末成績進行預測。同時,生成在線預測API,可以通過API把訓練好的離線模型應用到在線的業務場景中。
二、數據集介紹
數據集由25個特征和一個打標數據構成,
具體字段如下:
字段名 | 含義 | 類型 | 描述 |
---|---|---|---|
sex | 性別 | string | F是女,M表示男 |
address | 住址 | string | U表示城市,R表示鄉村 |
famsize | 家庭成員數 | string | LE3表示少於三人,GT3多於三人 |
pstatus | 是否與父母住在一起 | string | T住在一起,A分開 |
medu | 母親的文化水平 | string | 從0~4逐步增高 |
fedu | 父親的文化水平 | string | 從0~4逐步增高 |
mjob | 母親的工作 | string | 分為教師相關、健康相關、服務業 |
fjob | 父親的工作 | string | 分為教師相關、健康相關、服務業 |
guardian | 學生的監管人 | string | mother,father or other |
traveltime | 從家到學校需要的時間 | double | 以分鍾為單位 |
studytime | 每周學習時間 | double | 以小時為單位 |
failures | 掛科數 | double | 掛科次數 |
schoolsup | 是否有額外的學習輔助 | string | yes or no |
fumsup | 是否有家教 | string | yes or no |
paid | 是否有相關考試學科的輔助 | string | yes or no |
activities | 是否有課外興趣班 | string | yes or no |
higher | 是否有向上求學意願 | string | yes or no |
internet | 家裏是否聯網 | string | yes or no |
famrel | 家庭關係 | double | 從1~5表示關係從差到好 |
freetime | 課餘時間量 | double | 從1~5從少到多 |
goout | 跟朋友出去玩的頻率 | double | 從1~5從少到多 |
dalc | 日飲酒量 | double | 從1~5從少到多 |
walc | 周飲酒量 | double | 從1~5從少到多 |
health | 健康狀況 | double | 從1~5從狀態差到好 |
absences | 出勤量 | double | 0到93次 |
g3 | 期末成績 | double | 20分製 |
數據截圖:
三、離線訓練
首先,實驗流程圖:
數據自上到下流入,先後經曆了數據數據預處理、拆分、訓練、預測與評估。
1.SQL腳本-數據預處理
select (case sex when 'F' then 1 else 0 end) as sex,
(case address when 'U' then 1 else 0 end) as address,
(case famsize when 'LE3' then 1 else 0 end) as famsize,
(case Pstatus when 'T' then 1 else 0 end) as Pstatus,
Medu,
Fedu,
(case Mjob when 'teacher' then 1 else 0 end) as Mjob,
(case Fjob when 'teacher' then 1 else 0 end) as Fjob,
(case guardian when 'mother' then 0 when 'father' then 1 else 2 end) as guardian,
traveltime,
studytime,
failures,
(case schoolsup when 'yes' then 1 else 0 end) as schoolsup,
(case fumsup when 'yes' then 1 else 0 end) as fumsup,
(case paid when 'yes' then 1 else 0 end) as paid,
(case activities when 'yes' then 1 else 0 end) as activities,
(case higher when 'yes' then 1 else 0 end) as higher,
(case internet when 'yes' then 1 else 0 end) as internet,
famrel,
freetime,
goout,
Dalc,
Walc,
health,
absences,
(case when G3>14 then 1 else 0 end) as finalScore
from ${t1};
這裏SQL腳本主要處理的邏輯是將文本數據結構化。比如說源數據分別有yes和no的情況,我們可以通過0表示yes,1表示no將文本數據量化。一些多種類的文本型字段,比如說Mjob,我們可以結合業務場景來抽象,比如說如果工作是teacher就表示為1,不是teacher表示為0,抽象後這個特征的意義就是表示工作是否與教育相關。對於目標列,我們按照大於18分設為1,其它為0,擬在通過訓練,找出可以預測分數的模型。
2.歸一化
去量綱,將所有的字段都轉換成0~1之間,去除字段間大小不均衡帶來的影響。結果圖:
3.拆分
將數據集按照8:2拆分,百分之八十用來訓練模型,剩下的用來預測。
4.邏輯回歸
通過邏輯回歸算法訓練生成離線模型。具體算法詳情可以https://en.wikipedia.org/wiki/Logistic_regression
5.結果分析和評估
通過混淆矩陣可以查看模型預測的準確率。
可以看到預測準確率為82.911%。根據邏輯回歸算法的特性,我們可以通過模型係數挖掘出一些比較有意思的信息,首先查看模型:
根據邏輯回歸算法的算法特性,權重越大表示特征對於結果的影響越大,權重是正數表示對結果1(期末高分)正相關,權重負數表示負相關。於是我們可以挑選幾個權重較大的特征進行分析。
字段名 | 含義 | 權重 | 分析 |
---|---|---|---|
mjob | 母親的工作 | -0.7998341777833717 | 母親是老師對於孩子考高分是不利的 |
fjob | 父親工作 | 1.422595764037065 | 如果父親是老師,對於孩子取得好的成績是非常有利的 |
internet | 家裏是否聯網 | 1.070938672974736 | 家裏聯網不但不會影響成績,還會促進孩子的學習 |
medu | 母親的文化水平 | 2.196219307541352 | 母親的文化水平高低對於孩子的影響是最大的,母親文化越高孩子學習越好。 |
以上結論隻是從實驗的很小的數據集得到的結論,僅供參考。
四、在線預測部署
生成離線模型之後,可以將離線模型部署到線上,通過調用restful-api來進行在線預測。
1.部署
右鍵模型-》在線部署模型-》選擇cpu、memory-》部署完成
部署成功後顯示
之後在API調試頁即可通過填寫body信息調用API,並拿到預測結果。
四、其它
參與討論:雲棲社區公眾號
免費體驗:阿裏雲數加機器學習平台
聯係我們: aohai.lb@alibaba-inc.com
往期文章:
【玩轉數據係列二】機器學習應用沒那麼難,這次教你玩心髒病預測
【玩轉數據係列四】聽說啤酒和尿布很配?本期教你用協同過濾做推薦
最後更新:2016-09-02 10:57:43
上一篇:
人口普查統計案例__案例_機器學習-阿裏雲
下一篇:
在線預測功能介紹___機器學習-阿裏雲
查詢指定發布信息__發布管理相關接口_Open API_消息隊列 MQ-阿裏雲
日誌導出工具__開發者工具_消息服務-阿裏雲
返回結果狀態碼__附錄_內容檢測API文檔_阿裏綠網-阿裏雲
查詢推流在線列表__直播流操作接口_API 手冊_CDN-阿裏雲
發展曆史__產品簡介_消息服務-阿裏雲
附錄:用戶及 Schema 管理__快速入門(PostgreSQL)_雲數據庫 RDS 版-阿裏雲
刪除創建/刪除失敗的庫__數據庫管理_開放API_分布式關係型數據庫 DRDS-阿裏雲
用戶使用流程__概述_用戶指南_容器服務-阿裏雲
數據轉發到另一Topic__規則引擎_控製台使用手冊_阿裏雲物聯網套件-阿裏雲
7.5 實時寫入優化__第七章 性能優化和診斷_使用手冊_分析型數據庫-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲