机器学习100天-Day2

基于github上的一个学习项目进行https://github.com/Avik-Jain/100-Days-Of-ML-Code

由浅入深,省去前期手工推导,练习中引入库来完成。

一般一天更新一次练习,我会将里面的英文引导翻译成中文。

完整代码:https://github.com/jwc19890114/-02-learning-file-100days/blob/master/02.ipynb

原文的英文说明

简单的线性回归

使用一个单一特征预测

线性回归是一个基于自变量X(independent variable)预测因变量Y(dependent variable)的方法。假设两个变量有线性相关性,通过X预测Y

如何发现最合适的线。在这个回归模型中,通过最小化预测的错误来发现最佳拟合

ipython中我使用了公式编辑器,这里就用截图了

第一步:数据预处理

引入库

引入数据集

检查丢失数据

分割数据集

特征缩放

注意:在答案里面没有进行特征缩放

data=pd.read_excel(r'.studentscores.xlsx')

X=data.iloc[:,:1].values

Y=data.iloc[:,1].values

X_train, X_test, Y_train, Y_test = train_test_split( X , Y , test_size = 1/4, random_state = 0)

sc_X = StandardScaler()

第二步:使用训练集拟合简单线性回归模型

为了让模型拟合数据集,使用sklearn.linear_model中的LinearRegression;构建一个LinearRegression类的regressor。

这时可以使用LinearRegression类的fit()方法对数据进行拟合。

from sklearn.linear_model import LinearRegression

regressor=LinearRegression()

regressor=regressor.fit(X_train,Y_train)

第三步:预测结果

现在可以预测test集中的观测数据。保存输出向量Y_pred。使用LinearRegression类中的预测方法。

Y_pred=regressor.predict(X_test)

第四步:可视化

可视化结果,使用matplotlib.pyplot库构建散点图和模型图示。

import matplotlib.pyplot as plt

plt.scatter(X_train , Y_train, color = 'red')

plt.plot(X_train , regressor.predict(X_train), color ='blue')

最后生成的拟合图

最后生成的拟合图,其中蓝线就是我们这次生成的一个线性模型,可以看到红色的散点是数据,蓝线是模型拟合的线。

这一节的重点应该是在模型的使用,sklearn中有写好的LinearRegression方法,通过fit()方法对训练集进行拟合即可。

根据昨天的反馈,有小伙伴说想知道编译环境,我这里用的是anaconda,直接在官网下载安装就可以,我正常的开发IDE是pycharm,在里面同样调用anaconda的库,晚点我会发一个anaconda安装教程,主要是针对第三方库的安装(虽然网上已经有很多教程了,但是新手期还是充充数量吧)。我也是新手,目前方向是NLP,python之前是拿来做爬虫的,大家也可以多留言交流,随意转载谢谢。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181219A105M500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券