中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

項目挑戰(zhàn): 學校微課平臺推薦功能設計 課件(40張PPT)

資源下載
  1. 二一教育資源

項目挑戰(zhàn): 學校微課平臺推薦功能設計 課件(40張PPT)

資源簡介

(共40張PPT)
項目挑戰(zhàn):學校微課平臺推薦
推薦算法
項目情境
1
PROJECT CONTEXT
一、項目情境
學校新建了一個微課平臺,準備增加微課平臺的推薦功能。請設計相應的推薦算法,當用戶點播了某微課后,平臺會依據(jù)一定規(guī)則推薦相關的微課。
項目分析
2
PROJECT ANALYSIS
二、項目分析
1.推薦算法的選擇
推薦算法
基于關聯(lián)規(guī)則推薦
基于知識推薦
基于協(xié)同推薦
基于內(nèi)容推薦
基于深度學習推薦
基于上下文推薦
基于組合推薦
基于效用推薦
二、項目分析
【探究】根據(jù)課前查閱的資料,結合項目選擇一種推薦算法,并說出選擇這種推薦算法的理由及其具體實施過程。
1.推薦算法的選擇
二、項目分析
案例:基于內(nèi)容的推薦算法
候選物品特征
相似度計算
推薦列表生成
用戶歷史數(shù)據(jù)
物品特征向量
用戶偏好向量
物品特征提取
用戶畫像學習
二、項目分析
案例:基于內(nèi)容的推薦算法
待選微課數(shù)據(jù)
同科目播放量最大的微課
前三項微課列表
用戶點播數(shù)據(jù)
微課特征信息
所點微課特征
物品特征提取
用戶畫像學習
二、項目分析
2.項目的實施流程
【思考】結合項目任務描述,說一說項目具體的實施流程。
請結合已有的一定量的微課點播數(shù)據(jù),為微課平臺設計推薦算法。當用戶點播了某個微課后,平臺會依據(jù)一定規(guī)則推薦相關的微課。
項目任務
二、項目分析
數(shù)據(jù)獲取
數(shù)據(jù)查詢
數(shù)據(jù)推薦
數(shù)據(jù)呈現(xiàn)
組織數(shù)據(jù)
處理數(shù)據(jù)
推薦算法
2.項目的實施流程
項目實踐
3
PROJECT PRACTICE
三、項目實踐
微課名稱
微課類型
主講教師
課程評價
開課時間
學習時長
……
1.數(shù)據(jù)的組織與存儲
三、項目實踐
數(shù)組
鏈表
數(shù)據(jù)存儲
數(shù)據(jù)查詢
數(shù)據(jù)推薦
1.數(shù)據(jù)的組織與存儲
索引訪問便捷
存儲空間固定
插入、刪除便捷
占用空間不固定
【思考】結合項目實施過程與所選推薦算法,可以采用哪種結構存儲和組織數(shù)據(jù)?
三、項目實踐
1.數(shù)據(jù)的組織與存儲
微課點播數(shù)據(jù).csv
課程編號
課程科目
課程類型
課程名稱
點播序號
【已知】課程序號在S001-S150范圍內(nèi),共48504條數(shù)據(jù)
三、項目實踐
2. 抽象與建模
【探究】在算法實現(xiàn)過程中,需要用到哪些變量,其結構形式是怎樣的?與其他變量間又有什么聯(lián)系?
存儲內(nèi)容 變量名 類型 格式 與其他變量的關系
三、項目實踐
2. 抽象與建模
列表模擬一維數(shù)組
形式:[課程編號,課程科目,課程類型,課程名稱]
line=['S145', '信息技術', '職業(yè)技能', '電子相冊制作']
(1)點播文件數(shù)據(jù)
格式
案例
變量名
line
變量關系
獲取csv文件信息
文件行數(shù)據(jù)line
讀取每一行數(shù)據(jù)
三、項目實踐
2. 抽象與建模
列表模擬二維數(shù)組
形式:[[課程編號,課程科目,課程類型,課程名稱,點播次數(shù)],……]
courses=[['S145', '信息技術', '職業(yè)技能', '電子相冊制作', 567],
['S126', '通識', '興趣特長', '圍棋入門', 366], ……]
(2)存儲總課程信息
courses
格式
案例
變量名
變量關系
遍歷每一行數(shù)據(jù)
如果在總課程中
該課程點播次數(shù)+1
如果不在總課程中
新建該課程,點播次數(shù)為0
三、項目實踐
2. 抽象與建模
字符串
m_course=“S012”
(3)用戶查詢的課程編號
m_course
格式
案例
變量名
變量關系
遍歷總課程數(shù)據(jù)
如果在總課程中
輸出該課程的相關信息
如果不在總課程中
輸出“無法查找到該課程”
三、項目實踐
2. 抽象與建模
列表模擬一維數(shù)組
形式:[點播次數(shù)最多的索引,點播次數(shù)第2的索引,點播次數(shù)第3的索引]
maxi=[4,2,1]
(4)點播次數(shù)最多的三項同科目數(shù)據(jù)
maxi
格式
案例
變量名
變量關系
遍歷總課程
同科目且
播放次數(shù)最多
保存索引到maxi[0]并更改maxi[1:3]
播放次數(shù)第2多
保存索引到maxi[1]并更改maxi[2]
播放次數(shù)第3多
保存索引到maxi[2]
三、項目實踐
3.算法設計
1.請結合項目實施過程以及已設定的變量,合理設計算法并選擇一種方式呈現(xiàn)。
【探究】
2.嘗試一題多解,選擇最優(yōu)算法描述過程。
三、項目實踐
3.算法設計
數(shù)據(jù)獲取
數(shù)據(jù)查詢
數(shù)據(jù)推薦
數(shù)據(jù)呈現(xiàn)
組織數(shù)據(jù)
處理數(shù)據(jù)
推薦算法
統(tǒng)計課程信息及點播次數(shù)并存儲到總課程中
讀取csv文件中每一條數(shù)據(jù)
開始
i=0;course=[]
i讀取csv文件
Y
i=i+1
line=該課程信息數(shù)據(jù)
courses中該課程點播數(shù)+1
j=0
jj=j+1
Y
line==courses[j][:4]?
Y
N
N
在courses中添加該課程
N
三、項目實踐
3.算法設計
數(shù)據(jù)獲取
數(shù)據(jù)查詢
數(shù)據(jù)推薦
數(shù)據(jù)呈現(xiàn)
組織數(shù)據(jù)
處理數(shù)據(jù)
推薦算法
三、項目實踐
3.算法設計
數(shù)據(jù)獲取
數(shù)據(jù)查詢
數(shù)據(jù)推薦
數(shù)據(jù)呈現(xiàn)
組織數(shù)據(jù)
處理數(shù)據(jù)
推薦算法
統(tǒng)計課程信息及點播次數(shù)并存儲到總課程中
讀取csv文件中每一條數(shù)據(jù)
按照編號大小輸出課程信息
開始
三、項目實踐
3.算法設計
數(shù)據(jù)獲取
數(shù)據(jù)查詢
數(shù)據(jù)推薦
數(shù)據(jù)呈現(xiàn)
組織數(shù)據(jù)
處理數(shù)據(jù)
推薦算法
【思考1】可以采用怎樣的方式使得課程按照編號從小到大輸出?
方法一:根據(jù)課程編號進行排序處理(冒泡排序、選擇排序、快速排序等),再按照排序后的順序輸出。
方法二:依次從當前課程列表中選出編號最小的課程輸出后刪除該課程,以此類推,直至課程全部輸出。
方法三:由于課程編號已知,可從頭開始遍歷課程列表,編號為S001的先輸出,再輸出S002的課程,以此類推。
三、項目實踐
3.算法設計
數(shù)據(jù)獲取
數(shù)據(jù)查詢
數(shù)據(jù)推薦
數(shù)據(jù)呈現(xiàn)
組織數(shù)據(jù)
處理數(shù)據(jù)
推薦算法
已知課程序號在S001-S150范圍內(nèi)
i=0
ii=i+1
Y
int(courses[i][0][1:])==c
N
c=1
c<=len(courses)?
輸出courses[i]
c=c+1
Y
N
N
Y
三、項目實踐
3.算法設計
數(shù)據(jù)獲取
數(shù)據(jù)查詢
數(shù)據(jù)推薦
數(shù)據(jù)呈現(xiàn)
組織數(shù)據(jù)
處理數(shù)據(jù)
推薦算法
統(tǒng)計課程信息及點播次數(shù)并存儲到總課程中
查詢所點播課程的各項數(shù)據(jù)
讀取csv文件中每一條數(shù)據(jù)
按照編號大小輸出課程信息
獲取用戶輸入點播的課程編號
開始
顯示所點播的課程
三、項目實踐
3.算法設計
數(shù)據(jù)獲取
數(shù)據(jù)查詢
數(shù)據(jù)推薦
數(shù)據(jù)呈現(xiàn)
組織數(shù)據(jù)
處理數(shù)據(jù)
推薦算法
點播的課程編號m_course
i=0
iN
Y
m_course==courses[i][0]?
de_course=courses[i]
輸出de_course
i=i+1
Y
N
三、項目實踐
3.算法設計
數(shù)據(jù)獲取
數(shù)據(jù)查詢
數(shù)據(jù)推薦
數(shù)據(jù)呈現(xiàn)
組織數(shù)據(jù)
處理數(shù)據(jù)
推薦算法
統(tǒng)計課程信息及點播次數(shù)并存儲到總課程中
查詢所點播課程的各項數(shù)據(jù)
根據(jù)用戶已點的課程科目查找推薦課程
讀取csv文件中每一條數(shù)據(jù)
按照編號大小輸出課程信息
獲取用戶輸入點播的課程編號
開始
結束
顯示所點播的課程
按照播放次數(shù)高低輸出推薦課程
三、項目實踐
3.算法設計
數(shù)據(jù)獲取
數(shù)據(jù)查詢
數(shù)據(jù)推薦
數(shù)據(jù)呈現(xiàn)
組織數(shù)據(jù)
處理數(shù)據(jù)
推薦算法
【思考2】可以采用怎樣的方式找出同科目且播放次數(shù)最大的三項數(shù)據(jù)?
方法一:先篩選出同項目課程,再按照課程編號進行排序處理,再按照排序后的順序輸出。(如果前期以排序,只需判斷是否同科目)
方法二:依次從當前課程列表中選出同項目且播放次數(shù)最大的課程,輸出后刪除該課程,以此類推,直至課程全部輸出。
方法三:設置存儲最大三項同科目課程索引值的變量,從頭開始遍歷課程列表,每一項都與該變量進行對比,并存儲到相應位置。
三、項目實踐
3.算法設計
數(shù)據(jù)獲取
數(shù)據(jù)查詢
數(shù)據(jù)推薦
數(shù)據(jù)呈現(xiàn)
組織數(shù)據(jù)
處理數(shù)據(jù)
推薦算法
三、項目實踐
4.編程實現(xiàn)
【合作探究】結合算法流程,完成算法代碼的編寫并上機調(diào)試。
三、項目實踐
4.編程實現(xiàn)
#讀取數(shù)據(jù),統(tǒng)計課程及其點播次數(shù)
ofile=open("微課點播數(shù)據(jù).csv","r")
lines=ofile.read().split("\n")
courses=[]
for i in range(1,len(lines)):
line=lines[i].split(",")[1:]
for j in range(len(courses)):
if line ==courses[j][:4]:
courses[j][4]+=1
break
else:
courses.append(linex+[0])
#新建該課程,點播次數(shù)置0
#如果總課程中已有該課程,點播次數(shù)+1
#[“課程編號”,“課程科目","課程類型","課程名稱","點播次數(shù)"]
#讀入點播記錄文件
三、項目實踐
4.編程實現(xiàn)
#按照編號依次呈現(xiàn)課程信息
c=1
while c <=len(courses):
for i in range(len(courses)):
if int(courses[i][0][1:])==c:
print(courses[i])
c=c+1
break
#按照c的大小依次輸出S001-S150的課程信息
三、項目實踐
4.編程實現(xiàn)
#獲取用戶點播內(nèi)容并查詢顯示
m_course=input("請輸入要點播的課程號(S001-S150):")
for i in range(len(course)):
if m_course==course[i][0]:
de_course=course[i]
print("您點播的課程為:",de_course)
break
else:
print("未找到該課程")
三、項目實踐
4.編程實現(xiàn)
#按照本科目點播最多次數(shù)進行推薦
courses.append(["編號","科目","類型","名稱",0])
n=len(courses);maxi=[n-1,n-1,n-1]
for i in range(n-2):
if courses[i][1]==de_course[1] and courses[i][3]!=de_course[3]:
if courses[i][4]>courses[maxi[0]][4]:
maxi[1:]=maxi[0:2]; maxi[0]=i
elif courses[i][4]>courses[maxi[1]][4]:
maxi[2]=maxi[1]; maxi[1]=i
elif courses[i][4]>courses[maxi[2]][4]:
maxi[2]=i
for i in range(3):
print(courses[maxi[i]])
#如果比當前記載的最大的課程點播數(shù)更高
#如果點播數(shù)小于索引1但大于索引2
#如果點播數(shù)小于索引1和索引2但大于索引3
#同科目且不等
三、項目實踐
數(shù)據(jù)獲取
數(shù)據(jù)查詢
數(shù)據(jù)推薦
數(shù)據(jù)呈現(xiàn)
組織數(shù)據(jù)
處理數(shù)據(jù)
推薦算法
項目總結
4
PROJECT SUMMARY
四、項目總結
依據(jù)實情選擇算法
01
02
03
合理組織數(shù)據(jù)。
提升算法的時間效率與空間效率
判斷推薦算法的合理性與可行性
結合數(shù)據(jù)規(guī)模、數(shù)據(jù)的操作需求
優(yōu)化思維方式
四、項目總結
部分微課的詳細點播記錄如下,從中該如何基于用戶點播數(shù)據(jù)進行微課推薦?
拓展思考

展開更多......

收起↑

資源預覽

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 卢湾区| 荣昌县| 桃园市| 昌都县| 墨脱县| 公主岭市| 原平市| 沅陵县| 巴楚县| 迭部县| 通道| 阳城县| 老河口市| 宜城市| 萍乡市| 福州市| 互助| 正安县| 象山县| 隆德县| 乐昌市| 阿拉善盟| 黄山市| 兴文县| 西宁市| 二连浩特市| 乌海市| 尉犁县| 伊金霍洛旗| 重庆市| 交城县| 鲁山县| 崇阳县| 双桥区| 东阳市| 海晏县| 乐山市| 辛集市| 夏津县| 云浮市| 江口县|