机器学习笔记(1.基础入门)

为什么要写博客

小编过去是一名Java微服务开发人员。由于最近项目组换成了机器学习相关的项目,所以临时学习Python语言以及数学算法等知识。领导说:“如果要知道你是否已经学会了这个知识点,就把它记下来,说明白”。所以小编会记录并分享学习过程中的没一点。所以请大家看清楚,我也是一名小白,希望可以跟着大家一起学习机器学习入行大数据行业吧。这里重点说明,这些只是我的学习总结,部分code也是参考别人的例子。

机器学习相关常用Python库

为什么要使用Python

机器学习一般依赖Python语言来完成。为什么要使用Python呢?因为Python提供很多非常方便的类库供我们使用。我们可以不需要过度的考虑代码的风格或者代码的规范等限制,而专注与我们的数据分析数据。
关于如何安装Python,大家可以去官网下载Python安装包。但是小编比较懒,所以我会选择安装Anaconda。主要因为Anaconda会自带比较多的Python类库不需要我们手动下载,对于开发学习其实非常友好。
关于Python的学习,网上面其实有很多的资料视频或者文档,大家对着敲打一遍其实就差不多了。这里我就不做学习记录了。下面讲大概列举一些常用类库,方便大家学习。但因为我不想过多的去讲解代码产品如何使用。所以这里只做列举,具体的更多用法,请大家去查看官方API文档。

关于IDE的选择

关于IDE,其实并没有非哪一个IDE不可的。但相对起PyCharm,我更推荐Jupyter。这里不是说PyCharm不好用。只是Jupyter可以让我们的python脚本分段运行,我们可以运行一下段,然后写下一个方法输出个图,然后再运行一小段。而PyCharm的话更适合在拥有具体项目的把控和管理的时候使用。所以我比较推荐Jupyter。
关于Jupyter创建的文件路径,他在C盘你的user目录下面。

常用类库之numpy

numpy在Python关于数据处理方面发挥着重大的功效。他提供这很多方便我们操作数据的方法。如利用numpy创建向量或者数组。

# 引入numupy类库
import numpy as np
# 创建向量
vector = np.array([1,2,3,4])
# 创建数组
matrix = np.array([[1,2,3],[4,5,6],[7,8,9]])
print(vector)
print(matrix)
# 打印维度
print('matirx 的维度为',matrix.shape)

常用类库之pandas

pandas是机器学习当中最常用的类库。同样的提供着各式各样的数据操作,但pandas部分功能比numpy更优越。而且他提供强大的读写文件功能。在机器学习方面,我们大多使用文件来存储我们的数据。Pandas可以简单的把数据读成dataframe(一个它定义的数据格式)。然后我们可以通过dataframe来玩我们的数据。

import pandas as pd
# 读取csv文件
food_info = pd.read_csv('food_info.csv')
# 打印前五行
food_info.head(5)
# 取第0行数据
print(food_info.loc[0])
# 取Shrt_Desc列数据
print(food_info['Shrt_Desc'])
# 排序
food_info.sort_values('Water_(g)',inplace=True,ascending=False)

常用类库之Matplotlib

Matplotlib是Python类库当中的画图工具。在机器学习算法研究的过程中,我们需要先对数据进行调研以构建适合我们的模型。而在数据调研的过程中,有时候我们需要绘制一些图表。这样我们可以更容易的分析我们的数据,或者评价我们的模型是否合适。

import pandas as pd
import matplotlib.pyplot as plt
unrate_df = pd.read_csv('UNRATE.csv')
# 把时间转化成date格式
unrate_df['DATE'] = pd.to_datetime(unrate_df['DATE'])
unrate_df.head(10)
firs_12 = unrate_df[0:12]
# 绘制图
plt.plot(firs_12['DATE'],firs_12['VALUE'])
# 展示图
plt.show()

在这里插入图片描述

常见类库之Seaborn

Seaborn同样是Python当中重要的绘图工具之一。他与Matplotlib对比,各有优缺点。但就我暂时学习情况来讲的话,似乎Seaborn更强大一些。也不知道到底是我更重学后者还是怎么回事。下面是一些样例code,图片有点多,大家自己运行查看吧。

import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import pandas as pd
from scipy import stats, integrate
#根据均值和协方差生成数据
mean,cov = [0,1],[(1,.5),(.5,1)]
data = np.random.multivariate_normal(mean,cov,200)
df = pd.DataFrame(data,columns=['x','y']) # 这里就使用到上述说的pandas.dataframe
#观测两个变量之间的关系,最好使用散点图
sns.jointplot(x='x',y='y',data=df)
# 绘制分布深度图,判断点出现得大小
x,y = np.random.multivariate_normal(mean,cov,1000).T
with sns.axes_style('white'):# 黑白风格
    sns.jointplot(x=x,y=y,kind='hex',color='k')
#绘制各属性之间的对比图
iris = sns.load_dataset('iris')
sns.pairplot(iris)

机器学习基本理解

在我看来,机器学习与数据挖掘具备着一定的相似性。它涉及着一定的数学知识。如:概率论、统计学、工程算法等。但不同的是机器学习更着重于建模,也就是算法的设计。我们需要不断的对数据进行分析从而设计出更好的算法去拟合实际需求。(一般不会有完全拟合)这样可以让我们的计算机从中学习到个中规律,并利用这些规律对新的数据进行预测。
或许你会问:要玩机器学习,我们是不是要拥有很强的数学知识?我问了一些老师们,其中得出的结果是:我们需要具备一定的数学知识,但其实不需要过于精通。所以我认为只要我们掌握基本的积分、求导等知识后。后面可以通过学习慢慢掌握。(仅仅是个人见解)

一般的流程是我们首先需要明确我们的需求,然后寻找相关的数据进行分析。接着使用各种算法或组合设计出我们的模型。然后去训练我们的模型,以此达到更好的拟合度。最后运行我们的模型。
机器学习大致可以分为以下五个大类:

  • 监督学习:从给定的训练数据集中学习出-一个函数,当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求是输人和输出,也可以说是特征和目标。训练集中的目标是由人标注的。常见的监督学习算法包括回归与分类。
  • 无监督学习:无监督学习与监督学习相比,训练集没有人为标注的结果。常见的无监督学习算法有聚类等。
  • 半监督学习:这是一"种介于监督学习与无监督学习之间的方法。
  • 迁移学习:将已经训练好的模型参数迁移到新的模型来帮助新模型训练数据集。
  • 增强学习:通过观察周围环境来学习。每个动作都会对环境有所影响,学习对象根据观察到的周围环境的反馈来做出判断。

当然,讲到机器学习少不了的是算法,这里稍微列举一下,以后学习复习中会细致描述:

  • 回归算法:所谓的回归算法就是通过我们的模型来预测一笔新数据的具体值。比如线性回归。
    这里列举线性回归的一个经典例子。如果我们想要预测放假,而放假是跟面积有关联的。假设房价为y,面积是x。我们可以得到一个算法:y=a*x+b。这里b是允许的误差值。假设我们通过训练之后我们知道a和b的具体值。那么我们就可以输入任意面积x来预测出我们的房价y
  • 分类算法:所谓的分类算法就是我们输入一个样本的时候,模型会帮我们对这个样本进行分类。比如决策树。假设我们现在有一棵决策树模型用于判断学生考试成绩是否及格。成绩<60为不及格,60<=成绩<=100是及格。假如小明的成绩为89分,那么模型会将小明该科成绩归为及格。
  • 聚类算法:聚类是一种无监督学习任务,该算法基于数据的内部结构寻找观察样本的集群。比如最常见的K-means算法。他可以将我们输入的各种样本进行分类,分出多个集合。如图所示,我们将样本分成3块
    在这里插入图片描述

好了,第一篇机器学习的知识回顾就先到这里。接下来我会更新我所学习到的知识内容,特别是算法以及实践。以后我会公开我学习的git仓库,里面有会有一些我将来学习各种算法以及实践的样例。假如各位看到这个文章又觉得我说的不好,欢迎大家做出指点。
点我阅读更多算法分享

### 回答1: 《机器学习学习笔记.pdf》是一本关于机器学习的学习笔记的电子书,其内容涵盖了机器学习的基本概念、算法原理和实践应用等方面。 该电子书的主要内容包括但不限于以下几个方面: 1. 机器学习基础:介绍了机器学习的基本概念、发展历史和核心原理,帮助读者建立起对机器学习的整体认识和理解。 2. 机器学习算法:详细介绍了常见的机器学习算法,包括监督学习算法(如线性回归、逻辑回归、决策树、支持向量机等)、无监督学习算法(如聚类算法、降维算法等)和强化学习算法等,使读者能够了解和掌握不同类型的机器学习算法及其应用场景。 3. 机器学习实践:讲解了机器学习的实践方法和流程,涵盖了数据预处理、特征工程、模型选择和评估等方面的内容,帮助读者掌握如何在实际问题中应用机器学习技术。 4. 应用案例:通过实际案例的介绍和分析,展示了机器学习在自然语言处理、计算机视觉、推荐系统等领域的应用,激发读者对机器学习在实际问题中的应用的兴趣和思考能力。 通过阅读《机器学习学习笔记.pdf》,读者可以系统地学习机器学习基础知识和算法原理,了解机器学习的应用场景和实践方法,并通过实际案例的分析加深对机器学习技术的理解。这本电子书可以作为机器学习初学者的入门学习资料,也适合有一定机器学习基础的读者作为参考和进一步学习的资料。希望通过这本电子书的阅读,读者能够理解和掌握机器学习的相关知识,为未来在机器学习领域的学习和研究打下坚实的基础。 ### 回答2: 《机器学习学习笔记.pdf》是一本介绍机器学习的学习资料。机器学习是一种通过利用数据来训练计算机算法的方法,使其能够自动地从数据中学习和提高性能。这本学习笔记涵盖了机器学习的基本概念、原理和方法,适合初学者和对机器学习感兴趣的读者。 首先,学习笔记机器学习的基本概念入手,包括机器学习的定义、应用领域以及机器学习的三个主要任务:监督学习、无监督学习和强化学习。然后,详细介绍了机器学习的基本原理,如训练集、测试集、特征选择和模型评估等。此外,学习笔记还介绍了几种常见的机器学习算法,如决策树、支持向量机和深度学习等。 除了理论知识,学习笔记还提供了实践案例和代码示例,帮助读者更好地理解和应用机器学习算法。读者可以通过实践案例来掌握机器学习算法的具体应用,并且可以利用代码示例进行实际编程实践。同时,学习笔记还讨论了机器学习的一些挑战和未来的发展方向,如数据质量、模型解释性和自动化机器学习等。 总的来说,《机器学习学习笔记.pdf》是一本全面介绍机器学习的学习资料。它结合理论和实践,旨在帮助读者建立对机器学习的基本理解,并具备在实际问题中应用机器学习算法的能力。无论是初学者还是有一定机器学习基础的读者,都可以从中获得有益的知识和经验。 ### 回答3: 《机器学习学习笔记.pdf》是一本关于机器学习的学习笔记文档。机器学习是人工智能领域的重要分支,它研究如何使计算机系统自动从数据中学习和改进,以完成特定任务。这本学习笔记以简洁明了的方式介绍了机器学习的基本概念、算法和实践应用。 笔记中首先介绍了机器学习基础知识,包括监督学习、无监督学习和强化学习等不同的学习类型。然后详细讲解了常用的机器学习算法,如线性回归、逻辑回归、决策树、支持向量机等。每种算法都给出了清晰的定义和示例,并详细解释了算法的原理和应用场景。 此外,《机器学习学习笔记.pdf》还包括了机器学习的实践应用和案例分析。它介绍了如何通过Python等编程语言和机器学习库进行实际的机器学习项目开发,包括数据预处理、特征工程、模型训练和评估等环节。对于初学者来说,这部分内容非常有价值,可以帮助他们快速进入实际应用的阶段。 总结来说,《机器学习学习笔记.pdf》是一本很好的机器学习入门教材,它详细介绍了机器学习的基本概念和常用算法,并提供了实际项目的实践指导。无论是对于想要了解机器学习基础知识的初学者,还是对于已经有一定机器学习经验的开发者来说,这本学习笔记都是一本值得阅读和参考的资料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值