赞
踩
个人感想
看到Udemy中机器学习的教程,讲师用的是Rstudio操作的R,用的是Spyder操作的Python,惊艳了我。决定学习一下这个编辑器的操作,做一下记录。
Spyder是一个强大的科学环境是用Python编写编辑器,由科学家,工程师和数据分析师所设计。它具有一个综合开发工具的高级编辑、分析、调试和概要分析功能与科学包的数据探索、交互执行、深度检查和漂亮的可视化功能的独特组合。此外,Spyder还内置集成了许多流行的科学软件包,包括NumPy、SciPy、Pandas、IPython、QtConsole、Matplotlib、Sympy等等。
推荐使用anaconda进行安装,安装完成之后,直接点击windows键输入Spyder
就可以打开软件。
新建一个test.py文件
# test
print("hello world")
a = 1
b = 2
c = a + b
运行程序,可以选中,点击ctrl + return
,会运行脚本。
运行结果:
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()
点击图片,显示图片。
代码:
# 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())
结果:
功能类似Rstudio,但是不是一行一行执行的,而是按照脚本执行。有变量名,有图片显示,有帮助文档,有文件路径,功能非常全。
这里,有一个感想,Spyder里面的代码补全功能很强大,不用考虑一行一行的执行,代码要成块的写。类似谷歌浏览器刚开始搜索直接在输入网址的地方书写,非常不习惯,想要找到类似浏览器搜索窗口的功能,一直没有找到。导致我用火狐很久,因为火狐有相关设置。工作后,用了这么长时间谷歌浏览器,为它的简洁和设计折服,浏览器就该这么使用!因为网址框的搜索设计非常友好,可以输入网址,可以键入关键词,自动匹配之前的记录。现在想起来,之前一心想找带搜索框的功能,是因为自己的思维没有打开,没有想到那一层,以前可能真的是执念太深……。用R语言的习惯去套用python,用Rstudio的思路去套用Spyder,都会有这种问题,学习一个东西,就用最地道的方式学习吧!
这是一个资料里面的数据和代码,刚开始先键入别人的代码,然后再自己键入代码,真的是需要键入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()
结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。