999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于機(jī)器學(xué)習(xí)的初中人工智能編程教學(xué)實(shí)踐
——以利用線性回歸預(yù)測某城市房價項(xiàng)目為例

2022-08-29 02:21:32付東升
現(xiàn)代信息科技 2022年12期
關(guān)鍵詞:人工智能模型設(shè)計(jì)

付東升

(廈門英才學(xué)校,福建 廈門 361000)

0 引 言

人臉識別、自動駕駛、智能客服、短視頻推薦、金融風(fēng)控、智慧醫(yī)療、智慧農(nóng)業(yè)、機(jī)器人技術(shù)等,這些都是人工智能在各個行業(yè)中的具體應(yīng)用。人工智能涉及的范圍較廣,知識難度較大,根據(jù)目前人工智能叢書中所提出的內(nèi)容,主要以了解人工智能在生活中的應(yīng)用為主,或結(jié)合給定功能的開源硬件,體驗(yàn)人工智能項(xiàng)目的應(yīng)用,往往不能真正理解人工智能中某個項(xiàng)目的原理,代碼編程項(xiàng)目設(shè)計(jì)更是無從下手,因此,本文嘗試以線性回歸項(xiàng)目為基礎(chǔ),開展項(xiàng)目化的人工智能教學(xué),結(jié)合初中生認(rèn)知水平,從原理的講解到代碼的編寫,以期給中學(xué)人工智能教學(xué)以借鑒作用。

1 課堂實(shí)踐

機(jī)器學(xué)習(xí)分為監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí),其中監(jiān)督學(xué)習(xí)又包含回歸問題和分類問題,線性回歸是機(jī)器學(xué)習(xí)中的經(jīng)典模型。初一學(xué)生對人工智能已有初步的了解和接觸,學(xué)生已達(dá)到學(xué)習(xí)機(jī)器學(xué)習(xí)基礎(chǔ)知識的認(rèn)知水平,本節(jié)將應(yīng)用Pycharm 編程軟件,通過Python 語言嘗試對“某城市房價問題”這一線性回歸問題做編程嘗試,學(xué)生在實(shí)際代碼的編寫過程中探究線性回歸的基本原理,切身體驗(yàn)分析問題、設(shè)計(jì)算法、編寫程序、調(diào)試運(yùn)行的過程。

2 項(xiàng)目方案設(shè)計(jì)

教師圍繞計(jì)算機(jī)解決問題的一般過程:分析問題、設(shè)計(jì)算法、編寫程序、調(diào)試運(yùn)行與“導(dǎo)入相關(guān)的工具包、加載數(shù)據(jù)集、模型訓(xùn)練和預(yù)測、預(yù)測結(jié)果可視化”四個步驟進(jìn)行教學(xué)活動,具體教學(xué)過程有以下幾個方面。

2.1 聯(lián)系生活分析線性回歸問題

2.1.1 提出問題

中國人一般都有家的情節(jié),我們每天住在寬敞的房子中,有沒有想過能住在漂亮的房子里,是因?yàn)楦改感燎诘墓ぷ鳎炕氐絾栴}上,現(xiàn)已知:20 世紀(jì)70年代中期,某城市郊區(qū)住宅的一些數(shù)據(jù)點(diǎn),比如犯罪率、當(dāng)?shù)胤慨a(chǎn)稅率等。

教師提出問題:假設(shè)你是一個房地產(chǎn)商人,根據(jù)給定的一組關(guān)于郊區(qū)住宅的數(shù)據(jù)點(diǎn),如圖1所示,你能夠預(yù)測出其他住宅的售價為多少會更合適嗎

圖1 郊區(qū)住宅數(shù)據(jù)點(diǎn)

設(shè)計(jì)意圖:在情感態(tài)度價值觀上,學(xué)生能更理解父母工作的不易,只有付出才有回報,同時基于問題的教學(xué)法開篇,拋出回歸問題案例,激發(fā)學(xué)生興趣。

2.1.2 認(rèn)識數(shù)據(jù)集中存有哪些數(shù)據(jù)

(1)load_boston 數(shù)據(jù)集是以字典(Dictionary)的方式存儲數(shù)據(jù),使用以下三行代碼,可輸出load_boston 數(shù)據(jù)集中所含有的“鍵”,輸出結(jié)果如圖2所示。

圖2 load_boston 數(shù)據(jù)集中所含有的“鍵”

代碼:

設(shè)計(jì)意圖:引導(dǎo)學(xué)生深度挖掘某城市房價數(shù)據(jù),掌握其采用字典存儲方式的意義,即便于通過“鍵”查找其“值”,從而理解數(shù)據(jù)集中存儲的每一個“鍵”的含義。

數(shù)據(jù)集含有數(shù)據(jù)(506 個樣本,14 個屬性):主要為:數(shù)據(jù)(‘data’),目標(biāo)價格(‘target’),特征名稱(‘feature_names’)。

(2)引導(dǎo)學(xué)生思考數(shù)據(jù)集中字典的“值”是多少呢?應(yīng)用一行代碼,可以輸出完整的某城市數(shù)據(jù)集,輸出結(jié)果如圖3所示。

圖3 數(shù)據(jù)集中的數(shù)據(jù)

代碼:

print(dataset)

設(shè)計(jì)意圖:學(xué)生理解字典存儲數(shù)據(jù)意義的基礎(chǔ)上,輸出完整數(shù)據(jù),清楚認(rèn)識“鍵”和其所對應(yīng)的“值”,只有深度了解數(shù)據(jù)集中的數(shù)據(jù),才能便于調(diào)用數(shù)據(jù)。

2.2 設(shè)計(jì)算法理解線性回歸原理

(1)我們提取住宅平均房間數(shù)這一個特征(rooms)作為橫坐標(biāo)值,根據(jù)值找到數(shù)據(jù)集所對應(yīng)的值,也就是住宅的價格(price),形成散點(diǎn)圖如圖4所示。

圖4 住宅平均房間數(shù)(x 值)與住宅所售價格(y 值)散點(diǎn)圖

設(shè)計(jì)意圖:數(shù)據(jù)集中有13 個特征,可引導(dǎo)學(xué)生從一個特征(住宅平均房間數(shù)rooms)入手,找出住宅平均房間數(shù)與房價的關(guān)系,即從特殊到一般的科學(xué)探究方法。

(2)觀察這個散點(diǎn)圖,會發(fā)現(xiàn)一些規(guī)律,大概率是住宅平均房間數(shù)越多,住宅的價格越高,此趨勢可用一次線性函數(shù)=·+(輸入特征為住宅平均房間數(shù),輸出標(biāo)記為住宅所售價格,是與軸的截距)擬合,如圖5所示。

圖5 一次線性函數(shù)

設(shè)計(jì)意圖:這就是最簡單的線性回歸模型。我們要做的就是利用已有數(shù)據(jù),去學(xué)習(xí)得出這條直線,擬合出這條直線,則對于橫坐標(biāo)(rooms)的任意取值,我們都可以找到直線上對應(yīng)的值,也就是模型的預(yù)測值(price),當(dāng)然從圖5中能看出存在一定的誤差,這就需要學(xué)有余力的同學(xué)去深度思考,如何減小誤差。

2.3 編寫程序探究線性回歸過程

2.3.1 步驟一:導(dǎo)入相關(guān)的工具包

# 使用 sklearn 內(nèi)置的房價數(shù)據(jù)集,load_boston 是加載數(shù)據(jù)集的函數(shù)

from sklearn.datasets import load_boston

# 使用sklearn 中的 train_test_split 劃分?jǐn)?shù)據(jù)集

from sklearn.model_selection import train_test_split

# 使用 sklearn 中的直線回歸模型進(jìn)行預(yù)測

from sklearn.linear_model import LinearRegression

# 使用 matplotlib 模塊中的 pyplot 函數(shù)進(jìn)行數(shù)據(jù)可視化

import matplotlib.pyplot as plt

設(shè)計(jì)意圖:基于上述設(shè)計(jì)算法和線性回歸的原理,對照講解sklearn 數(shù)據(jù)集train_test_split 函數(shù)、LinearRegression 直線回歸、matplotlib 模塊的作用。sklearn 是內(nèi)置于Pycharm編程環(huán)境中的數(shù)據(jù)集,只需加載數(shù)據(jù)集即可。

典型問題:如何劃分“測試集”和“訓(xùn)練集”?

解決方法:在機(jī)器學(xué)習(xí)中,我們通常將原始數(shù)據(jù)按照比例分割為“測試集”和“訓(xùn)練集”,train_test_split 函數(shù)就是起到劃分“測試集”和“訓(xùn)練集”的作用。

2.3.2 步驟二:加載數(shù)據(jù)集

# 加載房價數(shù)據(jù)集,返回特征X 和標(biāo)簽y

X, y = load_boston(return_X_y=True)

# 只取第6 列特征RM:住宅平均房間數(shù)

X = X[:,5:6]

# 劃分為訓(xùn)練集和測試集,測試集取20%

X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.2, random_state=2020)

設(shè)計(jì)意圖:采用從特殊到一般的科學(xué)探究方法,從13個特征中,只取RM 住宅平均房間數(shù)這一個特征,找出其與住宅價格的關(guān)系,測試集取20%時,觀察程序運(yùn)行后的可視化結(jié)果。

典型問題:每次運(yùn)行得到不同的結(jié)果,主要是分割的“測試集”和“訓(xùn)練集”并不相同問題。

解決方法:同樣的算法模型在不同的“測試集”和“訓(xùn)練集”上運(yùn)行的效果并不一樣。如果每次sklearn 分割的“測試集”和“訓(xùn)練集”都不相同,那么程序每運(yùn)行一次,都會得到不同的結(jié)果,導(dǎo)致無法調(diào)參。此時加上random_state 以后就可以保證程序每次運(yùn)行都分割一樣的“測試集”和“訓(xùn)練集”,便于調(diào)參。

2.3.3 步驟三:模型訓(xùn)練和預(yù)測

# 創(chuàng)建線性回歸對象

regre = LinearRegression()

# 使用訓(xùn)練集訓(xùn)練模型

regre.fit(X_train, y_train)

# 在測試集上進(jìn)行預(yù)測

y_pred = regre.predict(X_test)

設(shè)計(jì)意圖:在理解應(yīng)用線性回歸能預(yù)測住宅房價原理的基礎(chǔ)上,在程序中可直接調(diào)用LinearRegression 直線回歸。

2.3.4 步驟四:預(yù)測結(jié)果可視化

plt.scatter(X_test, y_test, color=’blue’)

# 畫線性回歸模型對測試數(shù)據(jù)的擬合曲線

plt.plot(X_test, y_pred, color=’red’)

# 顯示繪圖結(jié)果

plt.show()

# 打印斜率和截距

print(‘斜率k:{}, 截距b:{}’.format(regre.coef_,regre.intercept_))

設(shè)計(jì)意圖:引導(dǎo)學(xué)生觀察當(dāng)測試集取20%,輸入房間數(shù)量為8 時,=·+函數(shù)圖像,其中斜率:[9.111 633 98],截距:-34.475 577 892 806 62,效果如圖6所示。

圖6 測試集取20%時y=k·x+b 函數(shù)圖像

設(shè)計(jì)意圖:引導(dǎo)學(xué)生觀察當(dāng)測試集取80%,輸入房間數(shù)量為8 時,=·+函數(shù)圖像,其中斜率:[12.144 071 32],截距b:-53.322 051 223 109 96,效果如圖7所示。

圖7 測試集取80%時y=k·x+b 函數(shù)圖像

典型問題:測試集的取量,會影響=·+函數(shù)圖像的斜率和截距。

解決方法:其他參數(shù)保持不變,只更改測試集取量,觀察會出現(xiàn)何種效果,學(xué)生提出測試集取量對=·+函數(shù)圖像的影響。

# 打印斜率和截距

print(‘斜率k:{}, 截距b:{}’.format(regre.coef_,regre.intercept_))

x=int(input(‘請輸入住宅平均房間數(shù): ’))

y=regr.coef_*x+regre.intercept_

print(‘預(yù)測的住宅價格是:%s’%y)

# 顯示繪圖結(jié)果

plt.show()

設(shè)計(jì)意圖:matplotlib 是Python 的繪圖庫,掌握應(yīng)用其畫出圖形,實(shí)現(xiàn)數(shù)據(jù)可視化的方法。

拓展延伸1:當(dāng)測試集取量20%,輸入住宅平均房間數(shù)為8 時,運(yùn)行程序后顯示:預(yù)測的住宅價格是:[38.417 493 97],當(dāng)測試集取量80%,輸入住宅平均房間數(shù)為8 時,運(yùn)行程序后顯示:預(yù)測的住宅價格是:[43.830 519 36],為何會出現(xiàn)不一樣的預(yù)測結(jié)果?

拓展延伸2:只有住宅平均房間數(shù)這一個特征與住宅價格的關(guān)系,那13 個特征與住宅價格的關(guān)系會有什么預(yù)測結(jié)果呢?

設(shè)計(jì)意圖:測試集的取量、住宅平均房間數(shù)都會對住宅價格產(chǎn)生影響,考慮到存在一定的誤差,為進(jìn)一步學(xué)習(xí)均方誤差(MSE),均方根誤差(RMSE),平均絕對誤差(MAE)的方法來減小誤差做鋪墊。同時提出從13 個特征中只取住宅平均房間數(shù)這一個特征和住宅價格的關(guān)系,這是從一般到特殊的科學(xué)探究方法,我們從一個特征與住宅價格的關(guān)系中找到規(guī)律,把它應(yīng)用到13 個特征與住宅價格的關(guān)系的研究中,這就是再從特殊到一般的探究過程。程序完整代碼如圖8所示。

圖8 利用線性回歸預(yù)測某城市房價項(xiàng)目完整代碼

2.4 調(diào)試運(yùn)行提升解決問題能力

問題1: 出現(xiàn)提示ModuleNotFoundError: No module named ‘sklearn’錯誤或者出現(xiàn)提示ModuleNotFoundError:No module named ‘matplotlib’錯誤

解決方法:出現(xiàn)此問題的原因是沒有加載’sklearn’和’matplotlib’庫所導(dǎo)致的,以Pycharm 2020.3.3 版本為例,介紹Pycharm 軟件加載庫或模塊的方法:點(diǎn)擊左上角的File 后,選擇Settings 進(jìn)入到設(shè)置頁面,如圖9所示。

圖9 Pycharm 設(shè)置頁面

選擇Project 下的Python Interpreter,此時右側(cè)能看到已安裝的庫或模塊,如圖10 所示。

圖10 顯示已安裝庫或模塊

在已安裝庫或模塊下方點(diǎn)擊“+”號,出現(xiàn)Available Packages頁面,輸入庫或模塊名稱后,點(diǎn)擊下方的Install Package,進(jìn)行庫或模塊的安裝,如圖11 所示。

圖11 搜索庫或模塊頁面

問題2:Available Packages頁面顯示Nothing to show 或搜索sklearn 庫時不能出現(xiàn)sklearn 庫。

解決方法:點(diǎn)擊Manage Repositories,默認(rèn)有https://pypi.python.org/simple 鏡像源,可增加一些國內(nèi)的鏡像源,如清華:https://pypi.tuna.tsinghua.edu.cn/simple、阿里云:https://mirrors.aliyun.com/pypi/simple/、 豆 瓣:https://pypi.douban.com/simple/等鏡像源,如圖12 所示。

圖12 添加國內(nèi)鏡像源

此時再搜索sklearn 庫時,因作者添加了4 個鏡像源,則可能會出現(xiàn)4 個sklearn 庫,選擇其中一個安裝即可,如圖13 所示。

圖13 多個源會出現(xiàn)多個sklearn 庫

3 結(jié) 論

本文分析的線性回歸模型是建立在一次函數(shù)=·+基礎(chǔ)上,一次函數(shù)是初中數(shù)學(xué)的學(xué)習(xí)內(nèi)容,應(yīng)用數(shù)學(xué)知識與編程算法相結(jié)合去探究線性回歸經(jīng)典模型,既可以降低程序理解的難度,又可將教學(xué)重心放在線性回歸經(jīng)典模型的教學(xué)上,同時為學(xué)生提供使用不同學(xué)習(xí)方式再次深入理解一次函數(shù)的機(jī)會。學(xué)習(xí)線性回歸經(jīng)典模型有助于學(xué)生理解什么是機(jī)器學(xué)習(xí),更重要的是走出與智能音箱、智能機(jī)器人等智能設(shè)備對話就理解為人工智能的全部這種誤區(qū)。

教師圍繞計(jì)算機(jī)解決問題的一般過程:分析問題、設(shè)計(jì)算法、編寫程序、調(diào)試運(yùn)行這種逐層遞進(jìn)方式開展教學(xué),結(jié)合線性回歸經(jīng)典模型的邏輯步驟,即“導(dǎo)入相關(guān)的工具包、加載數(shù)據(jù)集、模型訓(xùn)練和預(yù)測、預(yù)測結(jié)果可視化”四個步驟,教學(xué)設(shè)計(jì)符合皮亞杰的認(rèn)知發(fā)展理論和維果茨基的最近發(fā)展區(qū)理論,適應(yīng)學(xué)生的認(rèn)知發(fā)展水平、學(xué)生的學(xué)習(xí)是主動建構(gòu)知識的過程,提升了學(xué)生計(jì)算思維等高階能力的培養(yǎng)。本次人工智能編程教學(xué)實(shí)踐仍處于初步嘗試階段,有部分內(nèi)容需要在后續(xù)教學(xué)實(shí)踐中不斷探索、完善。

猜你喜歡
人工智能模型設(shè)計(jì)
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
2019:人工智能
商界(2019年12期)2019-01-03 06:59:05
人工智能與就業(yè)
瞞天過海——仿生設(shè)計(jì)萌到家
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
數(shù)讀人工智能
小康(2017年16期)2017-06-07 09:00:59
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
3D打印中的模型分割與打包
主站蜘蛛池模板: a级毛片视频免费观看| 亚洲欧美日韩精品专区| 亚洲国产综合自在线另类| 永久免费AⅤ无码网站在线观看| 天天躁夜夜躁狠狠躁图片| 亚洲va在线∨a天堂va欧美va| 欧美精品在线视频观看| 欧美福利在线| 久久久久国产精品免费免费不卡| 国产欧美日韩18| 欧美另类图片视频无弹跳第一页| 免费无遮挡AV| 四虎永久在线视频| 国产三级韩国三级理| 亚洲欧美日本国产专区一区| 在线欧美一区| 丁香六月激情婷婷| 亚洲精品波多野结衣| 欧美色综合久久| 色综合天天娱乐综合网| 欧美日韩中文字幕在线| 夜精品a一区二区三区| 欧美一区二区丝袜高跟鞋| av尤物免费在线观看| 日韩东京热无码人妻| 一个色综合久久| 国产成人午夜福利免费无码r| 久久久久久久久18禁秘| 亚洲无码视频喷水| 97精品久久久大香线焦| 欧美综合成人| 91精品人妻一区二区| 中文字幕自拍偷拍| 天天色综网| 国产欧美日本在线观看| A级毛片高清免费视频就| 国产玖玖视频| 久久人人妻人人爽人人卡片av| 久久国产精品麻豆系列| 亚洲国产成人在线| 综合色88| 无码AV日韩一二三区| 四虎综合网| 亚洲爱婷婷色69堂| 97视频免费看| 色综合天天综合| 国产男人天堂| 欧美日韩中文国产| 91麻豆精品视频| 国产综合无码一区二区色蜜蜜| 热九九精品| 亚洲免费三区| 国产日本欧美在线观看| 亚洲乱码在线视频| 久久久久青草大香线综合精品| 精品国产成人a在线观看| 国产精品永久不卡免费视频| 乱人伦99久久| 一本二本三本不卡无码| 亚洲最黄视频| 精品国产99久久| 狠狠色噜噜狠狠狠狠奇米777| 亚洲日本中文字幕天堂网| 本亚洲精品网站| 91蝌蚪视频在线观看| 国产成人一区二区| 亚洲日本www| 国产亚洲高清视频| 国产在线视频二区| 老司机aⅴ在线精品导航| 亚洲美女久久| av在线手机播放| 中文字幕在线观看日本| 香蕉蕉亚亚洲aav综合| 欧美日本在线观看| 国产综合日韩另类一区二区| 国产亚洲精品91| 欧美一级黄色影院| 欧美成人亚洲综合精品欧美激情 | 手机精品福利在线观看| 欧美色伊人| 色婷婷电影网|