「个人感想」 ❝看到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()
「结果:」
|