Scikit-learn库的使用——机器学习

import matplotlib.pyplot as plt  #绘图库
import numpy as np               #科学计数库
from sklearn.linear_model import LinearRegression #导入回归库
#产生仿真数据
#设定直线(y=k*x+b)
k = 1
b = 5
#产生实验数据
N = 50 #数据量
X = np.linspace(0, 10, 50)
Y = k * X + b
mu = 0 #期望
sigma = 2#标准差
rand_data = np.random.normal(mu, sigma, len(X))#产生正态分布随机数
#产生带噪数据(Y值)
noisy_Y = Y + rand_data
#fit_intercept: 是否需要拟合截距项W0
#copy_X: 是否需要拷贝
#n_jobs:需要多少个processor(处理器)来完成拟合,减少运算时间(None(一般)/ -1)
#positive:拟合的系数是否限制为正数,一般来说我们都使用 False 选项。
L_model = LinearRegression(fit_intercept=True,copy_X=True,n_jobs=None,positive=False)#构造模型
#将X转化为二维矩阵
L_model.fit(X.reshape(-1, 1),noisy_Y)#训练模型
k = L_model.coef_[0]
b = L_model.intercept_
#显示结果
fitted_Y = k * X + b
plt.figure()
plt.xlabel('X');plt.ylabel('Y')
plt.plot(X, noisy_Y, color='red', linewidth=2.5, linestyle='None', marker='o', label='Noisy Points')
plt.plot(X, Y, color='green', linewidth=2.5, linestyle='-', label='True Line')
plt.plot(X, fitted_Y, color='blue', linewidth=2.5, linestyle='-', label='Fitted Line')
plt.legend(loc='upper left')
plt.grid(True)
plt.show()







 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值