最近在看唐宇迪机器学习视频,这个视频我觉得很不错,可是我资源有限,有的视频没有配套的资料、数据集或者是代码,但还是可以看视频了解其中的一些知识点。

项目介绍

该项目是通过员工对公司的满意程度、公司对员工的评估、员工薪资水平、员工岗位、员工工作时长等特征来推断员工是否会离职。

知识点

  1. 通过 df.info( ) 可以看到特征的数据类型,对于int64、float64这样的数据类型来说放入机器学习算法是没有问题的,但是对于object(可理解为str)这样的数据类型是需要进一步处理的。
    eg: 在本项目中是利用pd.get_dummies()直接将其转为one-hot编码。部分代码如下:

    salary_dummy = pd.get_dummies(df['salary'])
    department_dummy = pd.get_dummies(df['depratment'])
    X = pd.concat([X, salary_dummy], axis = 1)
    X = pd.concat([X, department_dummy], axis = 1)
    

    ps: 一般来说如果离散的取值之间没有大小的意义,就用one-hot,如果离散的取值之间有大小的意义就直接映射。

  2. 修改DataFrame中列的名字:

    df.rename(columns = {'修改前的名字':'修改后的名字'}, inplace = True)
    
  3. 特征、标签之间的相关系数:

    df.corr()
    
  4. 柱状图表示属性与标签之间的关系:
    部分代码如下:

    import matplotlib.pyplot as plt
    import seaborn as sns
    % matplotlib inline
    plot = sns.factorplot(x = 'department', y = 'left', kind = 'bar',data = df)
    plot.set_xticklabels(rotation = 45,horizontalalignment = 'right')
    


    ps: sns.factorplot()默认画的是折线图,通过添加kind参数可以把折线图改柱形图。

  5. 饼状图表示某职位工资分布情况:
    部分代码如下:

    df[df['department'] == 'management']['salary'].value_counts().plot(kind = 'pie', title = 'Management Salary level distribution')
    
  6. 柱状图表示属性与标签之间的关系:
    部分代码如下:

    bins = np.linspace(0.0001,1.0001,21)
    plt.hist(df['left'] == 1]['satisfaction_level'],bins = bins,alpha=0.7,label = 'Employees Left')
    plt.hist(df['left'] == 0]['satisfaction_level'],bins = bins,alpha=0.5,label = 'Employees Stayed')
    plt.xlabel('satisfaction_level')
    plt.xlim(0,1.05)
    plt.legend(loc = 'best')
    

  7. 将训练数据划分为训练集和测试集:

    from sklearn.model_selection import train_test_split
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.3)
    
  8. 数据标准化:
    数据标准化主要是排除数据大小值对分类器的干扰,这对于数据集中特征之间取值范围较大时很有意义。部分代码如下:

    from sklearn.preprocessing import StandardScaler
    stdsc = StandardScaler()
    X_train_std =  stdsc.fit_transform(X_train)
    X_test_std =  stdsc.fit_transform(X_train)
    

    ps: 它是针对每一个特征维度来做的,而不是针对样本。

  9. 训练集交叉验证:

    from sklearn.model_selection import ShuffleSplit
    cv = ShuffleSplit(n_splits = 20,test_size = 0.3)
    

唐宇迪机器学习之离职预测相关推荐

  1. 唐宇迪机器学习课程笔记:逻辑回归之信用卡检测任务

    信用卡欺诈检测 基于信用卡交易记录数据建立分类模型来预测哪些交易记录是异常的哪些是正常的. 任务流程: 加载数据,观察问题 针对问题给出解决方案 数据集切分 评估方法对比 逻辑回归模型 建模结果分析 ...

  2. 唐宇迪机器学习课程数据集_最受欢迎的数据科学和机器学习课程-2020年8月

    唐宇迪机器学习课程数据集 There are a lot of great online resources and websites on data science and machine lear ...

  3. 唐宇迪机器学习实战课程笔记(全)

    1. 线性回归 1.1线性回归理论 1.2线性回归实战 2.训练调参基本功(线性回归.岭回归.Lasso回归) 2.1 线性回归模型实现 2.2不同GD策略对比 2.3多项式曲线回归 2.4过拟合和欠 ...

  4. 唐宇迪​​机器学习实战——梯度下降求解逻辑回归(理论基础+源代码实现)

    问题的提出 符号问题,这里的lg就是指log2,你的理解是正确的!在计算机科学中有些符号的使用跟我们在数学中使用的有区别.比如有时候log用来表示自然对数(以e为底数).希望对你有帮助! 首先计算机科 ...

  5. 23神经网络 :唐宇迪《python数据分析与机器学习实战》学习笔记

    唐宇迪<python数据分析与机器学习实战>学习笔记 23神经网络 1.初识神经网络 百度深度学习研究院的图,当数据规模较小时差异较小,但当数据规模较大时深度学习算法的效率明显增加,目前大 ...

  6. 免费技术直播:唐宇迪带你一节课了解机器学习经典算法

    常常有小伙伴在后台反馈:机器学习经典算法有哪些? 自学难度大又没有效果,该怎么办? CSDN为了解决这个难题,联合唐宇迪老师为大家带来了一场精彩的直播[一节课掌握机器学习经典算法-线性回归模型].本次 ...

  7. 唐宇迪资源-机器学习与深度学习

    本人看了很多教学视频,觉得唐宇迪老师的机器学习课程,能够使用通俗易懂的原理讲解与实例代码结合带大家快速熟练掌握机器学习的经典算法.对于有基础和没基础的同学,都能让你轻易入门,但是得一边看一遍敲,实践才 ...

  8. 自然语言处理Word2Vec视频学习教程-唐宇迪-专题视频课程

    自然语言处理Word2Vec视频学习教程-7870人已学习 课程介绍         自然语言处理Word2Vec视频培训课程:自然语言处理中重要的算法,word2vec原理,词向量模型.教程从语言模 ...

  9. Python数据分析(统计分析)视频教程-唐宇迪-专题视频课程

    Python数据分析(统计分析)视频教程-708人已学习 课程介绍         Python数据分析(统计分析)视频培训课程概述:Python统计分析系列课程以Python为核心工具,结合其工具包 ...

最新文章

  1. eval解析json注意点
  2. 2021年河北高考生成绩排名查询,2021年河北高考成绩查询网站查分网址:http://www.hebeea.edu.cn/...
  3. mq3.8.9版本有什么不同_Python3.9版本新特性:字典合并操作的详细解读
  4. C++ 多态之纯虚函数和抽象类01
  5. 小毛驴走呀走的openeim001
  6. java高级语言特性_Java语言高级特性——注解
  7. RabbitMQ 线上事故!慌的一批,脑袋一片空白……
  8. 编译OpenJDK12:运行提示缺少freetype
  9. 新媒体活动策划方案要点
  10. matlab和origin的区别,Matlab与Origin的区别
  11. 抖音直播视频下载保存到本地地瓜网络技术
  12. QT简单实验——计算器
  13. 手机视频如何投屏到电脑 手机投屏电脑
  14. BlockQueue
  15. 怎样隐藏计算机中的文件夹,电脑上的文件夹不想被别人看到怎么办?如何隐藏电脑文件夹?-电脑文件夹怎么加密...
  16. 简单实现B/S服务器
  17. 传智播客成都Java培训中心
  18. autodesk(欧特克)CAD发展简史
  19. Linux设备驱动开发详解【三】_Linux 内核及内核编程
  20. 集合4:方法-仅适用于set

热门文章

  1. ubuntu16重启redis
  2. SQL 如何查询连续上涨 N 次的记录
  3. mac配置autojump
  4. QQ、微信可以上网,浏览器无法上网,提示代理服务器拒绝连接;
  5. Spring源码分析之——getBean细节
  6. 最全Python绘制条形图(柱状图)
  7. Partition Magic无法在Windows NT/Windows 2000 Server上运行的解决办法
  8. css中的单位换算_css绝对长度单位主要有哪些?绝对长度单位之间如何换算?
  9. 图片素材管理软件:Inboard for Mac
  10. 端到端OCR算法:Towards Accurate Scene Text Recognition with Semantic Reasoning Networks(SRN)