机器学习第一段代码学习笔记

线性回归,体重预测

from sklearn import datasets, linear_model # 引用 sklearn库,主要为了使用其中的线性回归模块

# 创建数据集,把数据写入到numpy数组
import numpy as np  # 引用numpy库,主要用来做科学计算
import matplotlib.pyplot as plt   # 引用matplotlib库,主要用来画图
data = np.array([[152,51],[156,53],[160,54],[164,55],
                 [168,57],[172,60],[176,62],[180,65],
                 [184,69],[188,72]])

# 打印出数组的大小
print(data.shape)
x,y = data[:,0].reshape(-1,1), data[:,1]

# TODO 1. 实例化一个线性回归的模型
regr = linear_model.LinearRegression()

# TODO 2. 在x,y上训练一个线性回归模型。 如果训练顺利,则regr会存储训练完成之后的结果模型
regr.fit(x, y)

# TODO 3. 画出身高与体重之间的关系
plt.scatter(x, y, color='red')

# 画出已训练好的线条
plt.plot(x, regr.predict(x), color='blue')

# 画x,y轴的标题
plt.xlabel('height (cm)')
plt.ylabel('weight (kg)')
plt.show() # 展示

# 利用已经训练好的模型去预测身高为163的人的体重
print ("Standard weight for person with 163 is %.2f"% regr.predict([[163]]))

注:
x=data[:,0].reshape(-1,1) :转换成二维数据

reshape(m,-1) 改变维度为m行、1列
reshape(-1,m) 改变维度为1行、m列

data[:,0] 行的切片 每行的第一列的所有数据
data[:,1] 列的切片 每行的第二列的所有数据

冒号左边是行范围(全取),冒号右边是列范围(取第0列和第1列)

data[:,m:n] 取从m:n-1列的所有数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值