03-08-应用拓展:薪资数据相关性分析_第1页
03-08-应用拓展:薪资数据相关性分析_第2页
03-08-应用拓展:薪资数据相关性分析_第3页
03-08-应用拓展:薪资数据相关性分析_第4页
03-08-应用拓展:薪资数据相关性分析_第5页
已阅读5页,还剩11页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目背景|项目概述|学习目标|任务实施步骤拓展实训薪资数据相关性分析【数据挖掘应用】课程负责人:陈清华01101111011010111101010000101101010100111101

熟练使用read_csv()从本地CSV文件读取数据;

熟练使用sklearn对数据进行回归分析;熟练使用matplotlib工具包展现回归分析结果。技能学习目标项目总体要求原始数据结果输出#coding:utf-8importpandas

aspdimportmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=Falseplt.figure(figsize=(4,3))#获取工龄及薪资数据salary=pd.read_csv("salary.csv",delimiter=",")#画散点图plt.scatter(salary['Year'],salary['Salary'],color='red',marker='.')#设置柱状图的标题、轴标签plt.title("工龄与工资散点图")plt.xlabel('工龄/年')plt.ylabel('薪资/元')一、数据获取二、数据清洗#coding:utf-8salary=salary.dropna()salary=salary.drop_duplicates()plt.figure(figsize=(4,3))plt.scatter(salary['Year'],salary['Salary'],color='red')plt.title("工龄与工资图")plt.xlabel('工龄/年')plt.ylabel('薪资/元')plt.show()salary.head()三、数据筛选salary=salary[(

salary["Year"]<12

)&(

salary["Salary"]<120000

)]plt.figure(figsize=(4,3))plt.scatter(salary['Year'],salary['Salary'],color='red')plt.title("工龄与工资图")plt.xlabel('工龄/年')plt.ylabel('薪资/元')plt.show()salary.head()四、数据分布plt.boxplot(salary["Year"])plt.boxplot(salary["Salary"])五、数据统计#以int类型的变量来统计工龄salary["Year"]=salary["Year"].round()#统计每个工龄的平均工资avg=salary.groupby(["Year"],as_index=False)["Salary"].mean()avg.head()五、数据统计x=salary[["Year"]]y=salary[["Salary"]]#初始化线性回归模型regr=linear_model.LinearRegression()#拟合regr.fit(x,y)x_min=x.values.min()-0.1x_max=x.values.max()+0.1x_new=np.arange(x_min,x_max,0.05).reshape(-1,1)x_new_df=?plt.scatter(x,y,color="blue",linewidths=1,edgecolor='k',label="原始值")plt.scatter(x_new,regr.predict(x_new_df),s=2,color="red",linewidths=1,label="一元线性回归")六、线性回归分析poly=PolynomialFeatures(degree=3)#3次多项式特征生成器xt=poly.fit_transform(x)polymodel=linear_model.LinearRegression()polymodel.fit(xt,y)xt_new=poly.fit_transform(x_new)xt_new_df=?plt.scatter(x,y,color="blue")plt.scatter(x_new,regr.predict(x_new),s=2,color="red",linewidths=1,label="线性回归")plt.scatter(x_new,polymodel.predict(xt_new_df),s=2,color="black",label="多项式回归")

六、多项式回归分析degree=2六、多项式回归分析degree=4六、多项式回归分析六、数据集切分fromsklearn.model_selectionimporttrain_test_splitx_train,x_test,y_train,y_test=train_test_split(sa[['Year']],sa[['Salary']],train_size=0.7,test_size=0.3)regr=linear_model.LinearRegression()regr.fit(x_train,y_train)y_pred1=regr.predict(x_test)poly=PolynomialFeatures(degree=3)xt_train=poly.fit_transform(x_train)polymodel=linear_model.LinearRegression()polymodel.fit(xt_train,y_train)xt_test=poly.fit_transform(x_test)y_pred2=polymodel.predict(xt_test)plt.plot(range(len(y_pred1)),y_pred1,'blue',label="线性回归预测值",linestyle='--')plt.plot(range(len(y_pred2)),y_pred2,'red',label="多项式回归预测值",linestyle='-.')plt.plot(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论