Scikit-learn

python语言中专门针对机器学习应用而发展起来的一款开源框架(算法库),可以实现数据预处理、分类、回归、降维、模型选择等常用的机器学习算法
特点:
1.集成了机器学习中各类成熟的算法,容易安装和使用,样例丰富,教程和文档也非常详细
2.不支持Python之外的语言,不支持深度学习和强化学习

[http://scikit-learn.org/stable/index.html]
点击可进入网站学习

调用Sklearn求解线性回归问题

y=2x+5
在这里插入图片描述

寻找a、b(y=ax+b):
from sklean.linear_model import LinearRegression
Ir_modle=LinearRegression()
Ir_model.fit(x,y)
展示a、b:
a=Ir_model.coef_
b=Ir_model.intercept_
对新数据做预测:
predictions=Ir_model.predict(x.new)

评估模型表现

y与y’的均方误差(MSE):在这里插入图片描述
计算y与y’的均方误差(MSE)、R方值(R2_score):
from sklearn,metrics import mean_squared_error,r2_score
MSE=mean_squared_error(y,y_predict)
R2=r2_score(y,y_predict)
画图对比y与y’,可视化模型表现:
from matplotlib import pyplot as plt
plt.scatter(y,y’)
MSE越小越好,R2分数越接近1越好
y’ vs y 集中度越好越好(越接近直线分布)

在这里插入图片描述
画散点图
import matplotlib.pylot as plt
plt.scatter(x,y)
为了更加直观,我们用多张图同时展示,怎么实现呢?我们可以调用subpiot函数。
多张图同时展示
fig1=plt.sublot(211)
plt.scatter(x1,y1)
fig2=plt.subplot(212)
plt.scatter(x2,y2)

延伸阅读资料

使用sklearn求解线性回归问题
点击了解详细内容

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐