[读书笔记]机器学习:实用案例解析(2)

第2章  数据分析

#machine learing for heckers
#chapter 2

library(ggplot2)

heights.weights <- read.csv("ML_for_Hackers/02-Exploration/data/01_heights_weights_genders.csv",
                            header = TRUE, sep = ",")

  

#不同区间宽度的直方图

ggplot(heights.weights, aes(x = Height)) + geom_histogram(binwidth = 1)
ggplot(heights.weights, aes(x = Height)) + geom_histogram(binwidth = 5)
ggplot(heights.weights, aes(x = Height)) + geom_histogram(binwidth = 0.001)

  

      

#密度曲线图

ggplot(heights.weights, aes(x = Height)) + geom_density()

  

#峰值处平坦,考虑图像有结构缺失,根据性别分别绘制密度曲线图

ggplot(heights.weights, aes(x = Height, fill = Gender)) + geom_density()
ggplot(heights.weights, aes(x = Weight, fill = Gender)) + geom_density()
ggplot(heights.weights, aes(x = Weight, fill = Gender)) + geom_density() + facet_grid(Gender ~ .)

  

           

#正态分布:钟形的窄尾分布,单峰对称
#柯西分布:钟形的重尾分布,单峰对称

set.seed(1)
normal.values <- rnorm(250, 0, 1)
cauchy.values <- rcauchy(250, 0, 1)
ggplot(data.frame(X = normal.values), aes(x = X)) + geom_density()
ggplot(data.frame(X = cauchy.values), aes(x = X)) + geom_density()

  

        

#gamma分布
#gamma分布只有正值

gamma.values <- rgamma(100000, 1, 0.001)
ggplot(data.frame(X = gamma.values), aes(x = X)) + geom_density()

  

#从身高体重预测性别(分类器)

#书中代码画图命令有"stat_abline"完成添加直线操作,而package: ggplot2(version 2.1.0)中"stat"族函数已经没有"abline",只能用"geom"族完成

heights.weights <- transform(heights.weights, Male = ifelse(Gender == ‘Male‘, 1, 0))
logit.model <- glm(Male ~ Weight + Height, data = heights.weights,
                   family = binomial(link = ‘logit‘))
ggplot(heights.weights, aes(x = Height, y = Weight, color = Gender)) + geom_point() +
  geom_abline(intercept = -coef(logit.model)[1]/coef(logit.model)[2],
              slope = -coef(logit.model)[3]/coef(logit.model)[2],
              color = ‘black‘)

  

时间: 2024-12-19 15:25:06

[读书笔记]机器学习:实用案例解析(2)的相关文章

分享《机器学习:实用案例解析》中文版PDF+英文版PDF+源代码

下载:https://pan.baidu.com/s/1-TzAIfMvJosL9-vk5Ft5kQ 更多资料分享:http://blog.51cto.com/3215120 <机器学习:实用案例解析>中文版PDF+英文版PDF+源代码R语言版的机器学习:中文版PDF,302页,带目录和书签:英文版PDF,322页,带目录和书签:配套源代码. 中文版如图所示: 原文地址:http://blog.51cto.com/3215120/2313183

[读书笔记]机器学习:实用案例解析(4)

第4章  排序:智能收件箱 有监督学习与无监督学习:有监督学习已有明确的输出实例:无监督学习在开始处理数据时预先并没有已知的输出实例. 理论上邮件的优先级特征: 社交特征:收件人与发件人之间的交互程度 内容特征:收件人对邮件采取行为(回复.标记等)与某些特征词之间相关 线程特征:记录用户在当前线程下的交互行为 标签特征:检查用户通过过滤器给邮件赋予的标签(标记) 由于数据量不足,本文用于替代的优先级特征:(需要抽取的元素) 社交特征:来自某一发件人的邮件量(发件人地址) 时间量度:(接受时间日期

[读书笔记]机器学习:实用案例解析(5)

第5章  回归模型:预测网页访问量 回归模型:用已知数据集预测另外一个数据集,已知数据集称为输入,也叫预测变量或特征,想要预测的数据称为输出.回归模型与分类模型的不同之处在于回归模型的输出是有意义的数值. 基准模型:用均值作为预测 #machine learing for heckers #chapter 5 library(ggplot2) ages <- read.csv('ML_for_Hackers/05-Regression/data/longevity.csv') #密度图 ggpl

[读书笔记]机器学习:实用案例解析(7)

第7章  优化:密码破译 优化简介:最优点(optimum),优化(optimization) 本章研究的问题:构建一个简单的密码破译系统,把解密一串密文当做一个优化问题. 优化方法:网格搜索(grid search),主要问题是1.步长的选择:2.维度灾难(Curse of Dimensionality):问题规模过大 optim函数:比网格搜索更快,可以通过已经计算出的信息推断出下一步的方向,同时对所有变量一起优化.(根据书中后文,可能的原理是根据导数得出下一步的进行方向,因为该函数对于不可

[读书笔记]机器学习:实用案例解析(1)

第1章  使用R语言 #machine learing for heckers #chapter 1 library(ggplot2) library(plyr) #.tsv文件用制表符进行分割#字符串默认为factor类型,因此stringsAsFactors置FALSE防止转换#header置FALSE防止将第一行当做表头#定义空字符串为NA:na.strings = "" ufo <- read.delim("ML_for_Hackers/01-Introduct

[读书笔记]机器学习:实用案例解析(3)

第3章  分类:垃圾过滤 #machine learing for heckers #chapter 3 library(tm) library(ggplot2) #设置路径变量 spam.path <- "ML_for_Hackers/03-Classification/data/spam/" spam2.path <- "ML_for_Hackers/03-Classification/data/spam_2/" easyham.path <-

[读书笔记]机器学习:实用案例解析(9)

第9章 MDS:可视化地研究参议员相似性 基于相似性聚类:本章的主旨是,对不同的观测记录,如何理解用距离的概念来阐明它们之间的相似性和相异性. 多维定标技术(multidimensional scaling, MDS),目的是基于观察值之间的距离度量进行聚类.只通过所有点之间的距离度量对数据进行可视化. MDS处理过程:输入一个包含数据集中任意两点之间距离的距离矩阵,返回一个坐标集合,这个集合可以近似反映每对数据点之间的距离(维度低时信息会有缺失,只能说近似) 下面是一个简单的例子: #距离度量

[读书笔记]机器学习:实用案例解析(8)

第8章 PCA:构建股票市场指数 有监督学习:发掘数据中的结构,并使用一个信号量评价我们在探索真实情况这项工作是否进行得很好. 无监督学习:发掘数据中的结构,但没有任何已知答案指导 主成分分析(Principle Components Analysis, PCA):根据每一列包含原始数据信息的多少,对源数据进行排序,排在第一列的成为第一主成分(主成分),总是包含了整个数据集的绝大部分结构. 本章通过构建股市指数来讨论主成分分析问题. prices <- read.csv('ML_for_Hack

数据挖掘与运营化实战读书笔记-机器学习案例技巧实战