成都创新互联网站制作重庆分公司

python学习之机器学习-创新互联

线性回归 第一个机器学习算法 - 单变量线性回归
python学习之机器学习
python学习之机器学习
python学习之机器学习

专注于为中小企业提供网站设计、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业青神免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
"""
使用sklearn实现线性回归
"""

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()
#fit方法就是训练模型的方法
lin_reg.fit(X, y)
#intercept 是截距 coef是参数
print(lin_reg.intercept_, lin_reg.coef_)

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

python学习之机器学习

python学习之机器学习

python学习之机器学习

python学习之机器学习

python学习之机器学习

python学习之机器学习

python学习之机器学习
python学习之机器学习

python学习之机器学习

#encoding=utf-8
"""
线性回归实现梯度下降的批处理(batch_gradient_descent )
"""
import numpy as np

X = 2 * np.random.rand(100, 1)
y = 4 + 3 * X + np.random.randn(100, 1)
X_b = np.c_[np.ones((100, 1)), X]
#print(X_b)

learning_rate = 0.1
#通常在做机器学习的时候,一般不会等到他收敛,因为太浪费时间,所以会设置一个收敛次数
n_iterations = 1000
m = 100

#1.初始化theta, w0...wn
theta = np.random.randn(2, 1)
count = 0

#4. 不会设置阈值,之间设置超参数,迭代次数,迭代次数到了,我们就认为收敛了
for iteration in range(n_iterations):
    count += 1
    #2. 接着求梯度gradient
    gradients = 1.0/m * X_b.T.dot(X_b.dot(theta)-y)
    #3. 应用公式调整theta值, theta_t + 1 = theta_t - grad * learning_rate
    theta = theta - learning_rate * gradients

print(count)
print(theta)
import numpy as np
import time

a = np.array([1,2,3,4])

a = np.random.rand(1000000)
b = np.random.rand(1000000)

tic = time.time()
c = np.dot(a,b)
toc = time.time()

print("Vectorized version:" + str(1000*(toc-tic)) + 'ms')

c = 0
tic = time.time()
for i in range(1000000):
    c += a[i]*b[i]
toc = time.time()

print("for loop:" + str(1000*(toc-tic)) + 'ms')

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章标题:python学习之机器学习-创新互联
转载来源:http://cxhlcq.com/article/dipdid.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部