机器学习1

 

第一次和机器学习打照面,还没学过python呢。除了领略到了机器学习的神奇之处,也在这个门槛上跌跌撞撞,结结实实地摔了跤吃了苦。往事开头难。

首先是安装,花了大半天,总是报错,哼,我已经截图保存制服它的证据了

 

 

 

 

 

 

初步了解了何为特征、标签、样本、模型、回归与分类(参考博客:https://blog.csdn.net/weixin_41445387/article/details/96024886

 

身高体重问题

数据可视化可以更直观地观察数据特征

#创建数据集,写入numpy数组
import
numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model 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] plt.scatter(x,y,color='black') plt.xlabel('height (cm)') plt.ylabel('weight (kg)') plt.show()

print(data.shape)  数组大小:10行,2列

x,y=data[:,0].reshape(-1,1),data[:,1]    即   x=data[:,0].reshape(-1,1)     y=data[:,1]

x=data[:,0].reshape(-1,1)      //reshape(m,-1) :   改变维度为m行、1列         reshape(-1,m) :    改变维度为1行、m列

 

print(data[:,0]) #行的切片 每行的第一列的所有数据

print(data[:,1]) #列的切片 每行的第二列的所有数据

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

参考:https://www.jianshu.com/p/1db7c606a936

 

 

然后,plt.show()  显示图片,//我简直刘姥姥进大观园,看啥都神奇,居然它就画出图了,虽然云里雾里,不知道发生了啥,反正很厉害的样子

plt.xlabel('height (cm)')     //横轴显示 height (cm)

plt.ylabel('weight (kg)')     //纵轴显示 weight (kg)

用一个线性回归模型来拟合身高-体重的数据

regr = linear_model.LinearRegression()
regr.fit(x,y)
plt.plot(x,regr.predict(x),color='blue')
plt.xlabel('height (cm)')
plt.ylabel('weight (kg)')
plt.show()
print("Standard weight for person with 163 is %.2f"%regr.predict([[165]]))

 

调用sklearn的线性模型,通过sklearn中的fit(x,y)来实现模型的训练

regr.predict([[165]])  用模型预测 [165] 的对应标签

%f 表示输出浮点型数    %.2f 表示小数点后保留两位

plt.plot()函数画出一条线

 输出结果是 56.92   //这个AI代码告诉我一件事,我还不胖,哈哈哈

KNN    一个样本与数据集中的k个样本最相似, 如果这k个样本中的大多数属于某一个类别, 则该样本也属于这个类别

距离的度量方法:常用的有:欧几里得距离、余弦值(cos), 相关度 (correlation), 曼哈顿距离 (Manhattan distance)或其他。

只有两种类别时,k一般取奇数

 

 len() 方法返回对象(字符、列表、元组等)长度或项目个数

No,pain. No gain. 加油呀

posted @ 2019-11-10 16:56  小蔡不能菜  阅读(156)  评论(0编辑  收藏  举报