首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习编辑器的选择:Spyder

机器学习编辑器的选择:Spyder

作者头像
邓飞
发布2020-05-29 10:59:40
1.6K0
发布2020-05-29 10:59:40
举报

「个人感想」

❝看到Udemy中机器学习的教程,讲师用的是Rstudio操作的R,用的是Spyder操作的Python,惊艳了我。决定学习一下这个编辑器的操作,做一下记录。 ❞

1. Spyder编辑器介绍

Spyder是一个强大的科学环境是用Python编写编辑器,由科学家,工程师和数据分析师所设计。它具有一个综合开发工具的高级编辑、分析、调试和概要分析功能与科学包的数据探索、交互执行、深度检查和漂亮的可视化功能的独特组合。此外,Spyder还内置集成了许多流行的科学软件包,包括NumPy、SciPy、Pandas、IPython、QtConsole、Matplotlib、Sympy等等。

2. Spyder安装

推荐使用anaconda进行安装,安装完成之后,直接点击windows键输入Spyder就可以打开软件。

3. 测试代码

新建一个test.py文件

# test

print("hello world")

a = 1
b = 2
c = a + b

运行程序,可以选中,点击ctrl + return,会运行脚本。

「运行结果:」

4. 测试作图

test.py增加画图代码,anconda安装好之后,像常用的pandas, numpy, matplotlib都可以直接使用,默认都已经安装过了。

import matplotlib.pyplot as plt
import numpy as np
dat = np.random.rand(100)
plt.plot(dat)
plt.show()

点击图片,显示图片。

5. 做一个简单的回归分析

「代码:」

# regression
import numpy as np
import pandas as pd
from statsmodels.formula.api import ols

np.random.seed(123)
x = np.random.random(100)
y = 0.3*x + np.random.random(100)

dd = pd.DataFrame({"x":x,"y":y})
dd.head()

model = ols("y~x",dd).fit()
print(model.summary())

「结果:」

6. 使用感想

功能类似Rstudio,但是不是一行一行执行的,而是按照脚本执行。有变量名,有图片显示,有帮助文档,有文件路径,功能非常全。

❝这里,有一个感想,Spyder里面的代码补全功能很强大,不用考虑一行一行的执行,代码要成块的写。类似谷歌浏览器刚开始搜索直接在网址的地方,非常不习惯,想要找到类似浏览器搜索窗口的功能,一直没有找到。导致我用火狐很久,因为火狐有相关设置。工作后,用了这么长时间谷歌浏览器,为它的简洁和设计折服,浏览器就该这么使用!因为网址框的搜索设计非常友好,可以输入网址,可以键入关键词,自动匹配之前的记录。现在想起来,之前一心想找带搜索框的功能,是因为自己的思维没有打开,没有想到那一层,以前可能真的是执念太深……。用R语言的习惯去套用python,用Rstudio的思路去套用Spyder,都会有这种问题,学习一个东西,就用最地道的方式学习吧! ❞

7. 一个简单的机器学习示例

这是一个资料里面的数据和代码,刚开始先键入别人的代码,然后再自己键入代码,真的是需要键入1万行代码后,才会熟悉python常用的方法,常用的格式,常用的套路。

「数据格式:」

「数据描述:」这是一个工作经验年份和薪资待遇的数据,一般来说,年份越多,薪资越高。

「分析思路:」这里使用机器学习的思路,将数据分为:参考群和候选群,或者叫“训练群体”和“测试群体”,然后用回归分析建模,然后对测试群体进行预测,查看预测的准确性。

# 简单线性回归分析

# 载入需要的包
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

# 读取数据
dataset = pd.read_csv('Salary_Data.csv')
X = dataset.iloc[:, :-1].values
y = dataset.iloc[:, -1].values

# 把数据分为训练数据和测试数据,使用sklearn中的分割函数
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 1/3, random_state = 0)

# 载入回归分析
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
re1 = regressor.fit(X_train, y_train)


# 根据模型对测试数据进行预测
y_pred = regressor.predict(X_test)

# 对训练群体结果可视化
plt.scatter(X_train, y_train, color = 'red')
plt.plot(X_train, regressor.predict(X_train), color = 'blue')
plt.title('Salary vs Experience (Training set)')
plt.xlabel('Years of Experience')
plt.ylabel('Salary')
plt.show()

# 对测试数据的预测可视化
plt.scatter(X_test, y_test, color = 'red')
plt.plot(X_train, regressor.predict(X_train), color = 'blue')
plt.title('Salary vs Experience (Test set)')
plt.xlabel('Years of Experience')
plt.ylabel('Salary')
plt.show()

「结果:」

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 育种数据分析之放飞自我 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Spyder编辑器介绍
  • 2. Spyder安装
  • 3. 测试代码
  • 4. 测试作图
  • 5. 做一个简单的回归分析
  • 6. 使用感想
  • 7. 一个简单的机器学习示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档