#
# å®éªä¸ 线æ§åå½ï¼é»ä½ä¸å·ï¼
## ä¸ãå®éªç®ç
1.æ建æºå¨å¦ä¹ å¼åå¹³å°ã
2.ææ¡çº¿æ§åå½åæçåºæ¬ææ³ååºæ¬æ¹æ³ï¼é¾ç¹ï¼ã
3.ææ¡æå°äºä¹æ³åçåå®ç°ï¼éç¹ï¼ã
## äºãå®éªåçå说æ
线æ§åå½æ¯å¨å·²ææ°æ®éä¸éè¿æ建ä¸ä¸ªçº¿æ§ç模åæ¥æå该æ°æ®éç¹å¾åéçå个åéä¹é´çå
³ç³»ï¼å¯¹äºéè¦é¢æµç»æçæ°æ°æ®ï¼æ们å©ç¨å·²ç»æå好ç线æ§æ¨¡åæ¥é¢æµå
¶ç»æãæå°äºä¹æ³æ¯ç¨çæ¯è¾å¹¿æ³çä¸ç§æ¹æ³ã
é«æ¯äº 1823å¹´å¨è¯¯å·®ç¬ç«ååå¸çåå®ä¸ï¼è¯æäºæå°äºä¹æ¹æ³çä¸ä¸ªæä¼æ§è´¨:å¨æææ åç线æ§ä¼°è®¡ç±»ä¸, æå°äºä¹æ¹æ³æ¯å
¶ä¸æ¹å·®æå°çï¼ å¯¹äºæ°æ®(ð¥ð¥ðð,ð¦ð¦ðð)(ðð=1,2,3...,n)ï¼æååºå½æ° â(ð¥)æ误差ï¼å³æ®å·®ï¼ðð=â(ð¥ð)âð¦ðï¼æ¤æ¶ L2 èæ°(æ®å·®å¹³æ¹å) æå°æ¶ï¼ h(x) å yç¸ä¼¼åº¦æé«ï¼ æ´æåä¸è¬ç H(x) 为 n次çå¤é¡¹å¼ï¼
ð»ð»(ð¥ð¥)=ð¤0+ð¤1ð¥+ð¤2ð¥2+...ð¤ðð¥ðï¼å
¶ä¸w(w0,w1,w2,...,wn)为åæ°ï¼æå°äºä¹æ³å°±æ¯è¦æ¾å°ä¸ç»w(w0,w1,w2,...,wn)ï¼ä½¿å¾æ®å·®å¹³æ¹åæå°ã
## ä¸ãå®éªå
容
### 1ï¼æ建æºå¨å¦ä¹ å¼åå¹³å°ã
#### ï¼1ï¼å®è£
Anacondaå¼åå¹³å°ï¼ä½¿ç¨ jupyter notebookè¿è¡ç¼è¾ã
#### ï¼2ï¼å»ºç«èæç¯å¢ï¼
å建èæç¯å¢ï¼ä½¿ç¨ conda create -n your_env_name python=X.Xï¼3.6ã3.8 çï¼ï¼anacondaå½ä»¤å建 pythonçæ¬ä¸º X.Xãåå为 your_env_name çèæç¯å¢ãyour_env_name æ件å¯ä»¥å¨ Anaconda å®è£
ç®å½ envs æ件ä¸æ¾å°ã
æ¿ æ´» è æ ç¯ å¢ ï¼ ä½¿ ç¨ å¦ ä¸ å½ ä»¤ å³ å¯ æ¿ æ´» å 建 ç è æ ç¯ å¢activate your_env_name(èæç¯å¢å称)ï¼æ¤æ¶ä½¿ç¨ python --versionå¯ä»¥æ£æ¥å½å pythonçæ¬æ¯å¦ä¸ºæ³è¦çï¼å³èæç¯å¢ç python çæ¬ï¼ã
éåºèæç¯å¢ï¼ä½¿ç¨å¦ä¸å½ä»¤å³å¯éåºå建çèæç¯å¢ deactivate env_nameï¼
ä¹å¯ä»¥ä½¿ç¨âactivate rootâåå rootç¯å¢ã
å é¤èæç¯å¢ï¼ä½¿ç¨å½ä»¤ conda remove -n your_env_name(èæç¯å¢å称) --al
å³å¯å é¤ã
![image.png](https://cdn.nlark.com/yuque/0/2022/png/32555890/1668700137806-417cd7f2-2fbb-4d17-a7a9-b72caa6d3624.png#averageHue=%23171717&clientId=u8c3edc07-3917-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=222&id=uba04a727&margin=%5Bobject%20Object%5D&name=image.png&originHeight=489&originWidth=1172&originalType=binary&ratio=1&rotation=0&showTitle=false&size=48755&status=done&style=none&taskId=u7b42c2fd-3a92-4282-b9ef-c8a132e6272&title=&width=532.7272611807203)
#### ï¼3ï¼ å¨èæç¯å¢ä¸å®è£
ç¸åºçå
æ件ï¼å¦ï¼pandasãnumpyãmatplotlibãscipyãsklearnçï¼å
·ä½å®éªå¯å
·ä½å®è£
ãå¯ä»¥ä½¿ç¨ conda list å½ä»¤æ¥çå®è£
äºåªäºå
ã
![image.png](https://cdn.nlark.com/yuque/0/2022/png/32555890/1668700269547-49670a6f-212b-4de1-84d4-c10db143ecbd.png#averageHue=%23181818&clientId=u8c3edc07-3917-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=512&id=u5b82a078&margin=%5Bobject%20Object%5D&name=image.png&originHeight=1126&originWidth=1301&originalType=binary&ratio=1&rotation=0&showTitle=false&size=126490&status=done&style=none&taskId=udca60ee5-72e1-4338-a234-3513c8eff3f&title=&width=591.3636235461751)
### 2ï¼æå°äºä¹æ³å®ç°ã
#### ï¼1ï¼ æå°äºä¹æ³ç pythonå®ç°ï¼æ们ç¨ç®æ å½æ°ð¦=ð ðð2ðð¥,å ä¸ä¸ä¸ªæ£æåå¸çåªé³å¹²æ°ï¼åç¨å¤é¡¹å¼å»æåï¼åå«å 0 é¶ã1 é¶ã3 é¶ã9 é¶è¿è¡æåï¼ãç¨åºæµç¨å¦ä¸ï¼
![image.png](https://cdn.nlark.com/yuque/0/2022/png/32555890/1668331157533-c923f3a5-792a-470f-a742-483e3ef5771f.png#averageHue=%23ebebeb&clientId=u3ecb4fef-37b1-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=133&id=u4a22f111&margin=%5Bobject%20Object%5D&name=image.png&originHeight=292&originWidth=933&originalType=binary&ratio=1&rotation=0&showTitle=false&size=53898&status=done&style=none&taskId=ue7821089-07fb-4890-b4b6-511d84e0a2c&title=&width=424.0908998989864)
ååºä»£ç åå¯è§åç»æã
ç®æ å½æ°ï¼ä»£å
¥çæçxï¼çæ对åºçy
```python
def func(x):
return np.sin(2*np.pi*x)
```
éæºçæ10个xè¿è¡å®éªï¼
```python
x = np.linspace(0, 1, 10)
```
æé å¤é¡¹å¼æåå½æ°ï¼
```python
#å¤é¡¹å¼
def fit_func(p,x):
"""
eg:p = np.poly1d([2,3,5,7])
print(p)==>>2x3 + 3x2 + 5x + 7
"""
f = np.poly1d(p)
return f(x)
```
计ç®è¯¯å·®ï¼
```python
#æ®å·®
def residuals_func(p, x, y):
ret = fit_func(p, x) - y
return ret
```
leastsq æ¯ scipy åº è¿è¡æå°äºä¹æ³è®¡ç®çå½æ°ï¼ä¹å°±æ¯éè¿è¯¯å·®å½æ°ä»¥åæ°æ®ç¹è¿è¡æ们åé¢è®²ç对åæ°è¿è¡æ±å¯¼æä½ï¼æåå¾åºæ们æååºæ¥çå½æ°ã
```python
def fitting(M=0):
"""
n 为 å¤é¡¹å¼ç次æ°
"""
# éæºåå§åå¤é¡¹å¼åæ°
#numpy.random.rand(d0)çéæºæ ·æ¬ä½äº[0, 1)ä¹é´ãd0表示è¿åå¤å°ä¸ª
p_init = np.random.rand(M+1) #çæM+1个éæºæ°çå表
# æå°äºä¹æ³
p_lsq = leastsq(residuals_func, p_init, args=(x, y)) # ä¸ä¸ªåæ°ï¼è¯¯å·®å½æ°ãå½æ°åæ°å表ãæ°æ®ç¹
print('Fitting Parameters:', p_lsq[0])
# å¯è§å
plt.plot(x_points, func(x_points), label='real')
plt.plot(x_points, fit_func(p_lsq[0], x_points), label='fitted curve')
plt.plot(x, y, 'bo', label='noise')
plt.legend()
return p_lsq
# M=0
p_lsq = fitting(M=0)
```
æ们ä»ä¸æ¬¡å½æ°ä¾æ¬¡å¢å 项å¼ï¼æ¾å°æåéçæåæ²çº¿ãå°9次çæ¶åï¼å·²ç»è¿æåè¿äºç¹äº ã
![image.png](https://cdn.nlark.com/yuque/0/2022/png/32555890/1668331267551-67477c92-7fe1-41b9-b3c2-7718821b4075.png#averageHue=%23faf9f8&clientId=u3ecb4fef-37b1-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=218&id=u855b1cf5&margin=%5Bobject%20Object%5D&name=image.png&originHeight=480&originWidth=644&originalType=binary&ratio=1&rotation=0&showTitle=false&size=99139&status=done&style=none&taskId=u4d58a56a-b980-4331-9775-9295cc3a910&title=&width=292.7272663825801)
#### ï¼2ï¼ è¿æåçæ
åµä¸ï¼å¼å
¥æ£åå项è¿è¡ä¼åå®ç°ï¼ååºä»£ç åå¯è§åç»æã
```python
def residuals_func_regularization_l1(p, x, y):
"""L1æ£åå"""
ret = fit_func(p, x) - y
ret = np.append(ret, np.sqrt(regularization*abs(p))) # L1èæ°ä½ä¸ºæ£åå项
return ret
def residuals_func_regularization_l2(p, x, y):
"""L2æ£åå"""
ret = fit_func(p, x) - y
ret = np.append(ret, np.sqrt(0.5*regularization*np.square(p))) # L2èæ°ä½ä¸ºæ£åå项
return ret
```
å å
¥äºæ£ååçæå°äºä¹æ³
```python
def draw(M=9):
p_lsq_M = fitting(M)
# æå°äºä¹æ³,å æ£åå项
p_init = np.random.rand(M+1)
p_lsq_regularization_l1 = leastsq(residuals_func_regularization_l1, p_init, args=(x, y))
p_lsq_regularization_l2 = leastsq(residuals_func_regularization_l2, p_init, args=(x, y))
plt.plot(x_points, real_func(x_points), label='real')
plt.plot(x_points, fit_func(p_lsq_M[0], x_points), label='fitted curve')
plt.plot(x_points, fit_func(p_lsq_regularization_l1[0], x_points), label='regularization_l1')
plt.plot(x_points, fit_func(p_lsq_regularization_l2[0], x_points), label='regularization_l2')
plt.plot(x, y, 'bo', label='noise')
plt.legend()
plt.show()
```
![image.png](https://cdn.nlark.com/yuque/0/2022/png/32555890/1668700964247-c8c1368d-7d0d-48cc-95a1-7b4b59cad3f4.png#averageHue=%23fcfcfb&clientId=u8c3edc07-3917-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=348&id=u13f9c854&margin=%5Bobject%20Object%5D&name=image.png&originHeight=1826&originWidth=3072&originalType=binary&ratio=1&rotation=0&showTitle=false&size=171379&status=done&style=none&taskId=u6a9182ce-9a07-4a9d-9859-3fed98ef1c3&title=&width=584.6448364257812)
å¯è§åç»æ
## åãå®éªå®å
¨äºé¡¹
å®éªè¿ç¨ä¸æ³¨æç¨çµå®å
¨ã
## äºãå®éªæ交æ¹å¼
â å®éªæ¥å â¡ç°åºæå â¡çº¿ä¸å¹³å°æ交
# å®éªäº 线æ§å类模å
## ä¸ãå®éªç®ç
1. ææ¡æç¥æ
没有合适的资源?快使用搜索试试~ 我知道了~
机器学习实验 机器学习课设 紫金20级.zip
共35个文件
py:24个
pdf:4个
docx:3个
需积分: 5 0 下载量 108 浏览量
2024-04-09
20:33:48
上传
评论
收藏 3.25MB ZIP 举报
温馨提示
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。它专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径。 随着统计学的发展,统计学习在机器学习中占据了重要地位,支持向量机(SVM)、决策树和随机森林等算法的提出和发展,使得机器学习能够更好地处理分类、回归和聚类等任务。进入21世纪,深度学习成为机器学习领域的重要突破,采用多层神经网络模型,通过大量数据和强大的计算能力来训练模型,在计算机视觉、自然语言处理和语音识别等领域取得了显著的成果。 机器学习算法在各个领域都有广泛的应用,包括医疗保健、金融、零售和电子商务、智能交通、生产制造等。例如,在医疗领域,机器学习技术可以帮助医生识别医疗影像,辅助诊断疾病,预测病情发展趋势,并为患者提供个性化的治疗方案。在金融领域,机器学习模型可以分析金融数据,识别潜在风险,预测股票市场的走势等。 未来,随着传感器技术和计算能力的提升,机器学习将在自动驾驶、智能家居等领域发挥更大的作用。同时,随着物联网技术的普及,机器学习将助力智能家居设备实现更加智能化和个性化的功能。在工业制造领域,机器学习也将实现广泛应用,如智能制造、工艺优化和质量控制等。 总之,机器学习是一门具有广阔应用前景和深远影响的学科,它将持续推动人工智能技术的发展,为人类社会的进步做出重要贡献。
资源推荐
资源详情
资源评论
收起资源包目录
机器学习实验 机器学习课设 紫金20级.zip (35个子文件)
content
实验三
3.鸢尾花随机森林
实验3_3随机森林分类.py 2KB
实验3.py 0B
2.鸢尾花决策树可视化
实验3_2决策树可视化.py 1KB
1.ID3算法实现
实验3_1_1信息增益.py 3KB
实验3_1_2id3算法.py 7KB
my.ipynb 611B
实验二
2.利用K近邻法进行鸢尾花类别的预测
实验2_2_1knn构建和可视化.py 1KB
mytree.pdf 774B
实验2_2_3kd树.py 2KB
实验2_2_1手写实现knn.py 2KB
实验2_2_2调包.py 4KB
实验2.py 0B
1.利用鸢尾花数据集构建感知机模型
实验2_1_1预处理.py 1KB
实验2_1_2可视化.py 2KB
实验2_1_3调包.py 1KB
3.鸢尾花高斯朴素贝叶斯分类_调包
实验2_3调包实现.py 835B
实验2_3手写代码.py 3KB
LICENSE 11KB
实验1.py 3KB
课设
运营商流失用户分析(python).pdf 1.72MB
run.py 7KB
机器学习课程设计报告.docx 444KB
实验一
一次函数正则化示例代码.py 5KB
实验1最小二乘法_sin.py 3KB
数据集的获取测试.py 2KB
实验1最小二乘法加正则化.py 2KB
实验四
实验4.py 0B
1.调包支持向量机分类鸢尾花
实验4_1.py 1KB
2.习题7.2
实验4_2的7.2.py 743B
python 0B
《机器学习课程设计》实验指导书.pdf 289KB
学号 姓名 机器学习实验报告 - 副本.docx 62KB
学号 姓名 机器学习实验报告.docx 285KB
README.md 50KB
《机器学习》实验指导书.pdf 669KB
共 35 条
- 1
资源评论
生瓜蛋子
- 粉丝: 3794
- 资源: 4174
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功