线性回归——尚学堂-人工智能开发课程

Posted xv-shilin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线性回归——尚学堂-人工智能开发课程相关的知识,希望对你有一定的参考价值。

传送门:人工智能视频列表-尚学堂,点开任意一个之后会发现他们会提供系列课程整合到一起的百度网盘下载,包括视频+代码+资料,都是免费的

这里:博客园小技巧我觉得这个很好玩,可以拿来用。

第一种方法:利用numpy使用常规等式的数学方法,类似解数学方程,并利用matplot实现可视化。

有用到概率学方面的知识,比如似然什么的,大概了解下就OK,下面是代码:

 1 import numpy as np
 2 import matplotlib.pyplot as plt
 3 
 4 # Create an array of the given shape and populate it with random samples from a uniform distribution over ``[0, 1)``
 5 X = 2 * np.random.rand(100, 1)
 6 # 认为设置Y值,np.random.randn(100, 1)是设置error,randn是标准正态分布
 7 y = 4 + 3 * X + np.random.randn(100, 1)
 8 # 整合X0和X1,拼接到一起了
 9 X_b = np.c_[np.ones((100, 1)), X]
10 print(X_b)
11 
12 # 常规等式法求解theta,求逆,转置,点乘
13 theta_best = np.linalg.inv(X_b.T.dot(X_b)).dot(X_b.T).dot(y)
14 print(theta_best)
15 
16 # 创建测试集里面的X1
17 X_new = np.array([[0], [2]])
18 X_new_b = np.c_[(np.ones((2, 1))), X_new]
19 print(X_new_b)
20 y_predict = X_new_b.dot(theta_best)
21 print(y_predict)
22 
23 plt.plot(X_new, y_predict, r-)    # 红色 线图
24 plt.plot(X, y, b.)                       # 蓝色 点图
25 plt.axis([0, 2, 0, 15])                # x轴,y轴区间
26 plt.show()

想说个小技巧,选中调用的函数,快捷键crtl+B,或者单击右键,Go To,Declaration;就可以快速转到调用的函数那儿,注:我用的是Pycharm + Anaconda3.

第二种方法:使用sklearn框架,看着很简单呢。主要用到的是fit,predict

import numpy as np
from sklearn.linear_model import LinearRegression

X = 2 * np.random.rand(100, 1)
y = 4 + 3 * X + np.random.randn(100, 1)

lin_reg = LinearRegression()
lin_reg.fit(X, y)
print(lin_reg.intercept_, lin_reg.coef_)

X_new = np.array([[0], [2]])
print(lin_reg.predict(X_new))

还有,我觉得动手写最重要,然后哪里不会找哪里,多看看相关的博客,总会用到的;而且博客很好玩,自己写下来可以随时再看,真的方便,也要多写写博客,完。

哎,这个该放到哪一类呢?

今天就是这些了,有些少,早上睡懒觉了,晚上有个考研讲座要去听(关于我们专业的,不是数学、英语,政治的),over

以上是关于线性回归——尚学堂-人工智能开发课程的主要内容,如果未能解决你的问题,请参考以下文章

北京尚学堂JAVASE课程

2018最新人工智能全套视频课程|内含机器学习

尚学堂高淇Java300集完整版正式发布啦!

知尚学堂移动 web 开发问题和优化小结

最新尚学堂Vue2全套学习视频

尚学堂白鹤翔架构师内部视频教程