机器学习教程 一.初识机器学习与数据认识

这篇博客是本人学习机器学习系列教程时候做的笔记,虽然有点简陋,但也是对我自己知识总结,希望能对像我一样的行业萌新有所帮助,也许排版有些简陋(第一次写博客),我会在接下来的博客中慢慢改进。

接下来这系列博客让你对机器学习有一个整体的理解,包括理论,应用,以及监督、无监督和深度学习算法的内部工作。 我将介绍线性回归、K近邻、支持向量机(SVM)、层次聚类和神经网络等。对于我们所讨论的每一个算法,我们将讨论它们在逻辑上是如何工作的,然后,我们将使用真实世界的数据集和一个模块(比如Scikit-Learn)在代码中应用这些算法。最后,我们将深入研究每一种算法的内部工作方式,从代码中重新创建它们,包括从头到尾,包括所有涉及到的数学运算。这应该能让你完全了解这些算法是如何工作的,它们是如何被调整的,它们的优势是什么,以及它们的缺点是什么。 为了遵循这个系列,我建议您至少对Python有一个基本的理解。如果您不这样做,我建议您至少在使用pip教程的模块安装之前遵循Python 3基础教程。如果你对Python有基本的了解,并且愿意学习和思考问题,那你将在机器学习的海洋中玩的很嗨咯。大多数机器学习算法实际上都很简单,因为它们需要是为了扩展到大型数据集。它所涉及的数学是典型的线性代数,但我将尽我最大的努力来解释,您应该已经安装了scikit- learn。在这里大家可以装Anaconda(教程),里面包含numpy, scipy, scikit-learn, matplotlib, and pandas 等库。 如果没有你可以用做如下操作:


 pip install numpy
 pip install scipy
 pip install scikit-learn
 pip install matplotlib
 pip install pandas


 我们还将在这里使用Quandl,您可能需要单独安装这个Quandl:


 pip install quandl


首先,我们要知道机器学习中回归是什么?它的目标是获取连续的数据,找到最适合数据的方程,并能预测出一个特定的值。 通过简单的线性回归,你可以通过创建一个最佳拟合线来实现这一点。例如我们生活中应用 回归的常用例子是预测股票价格。这样做是因为我们考虑了价格随时间的变化,并试图使用连续数据集预测未来的价格。 回归属于机器学习的监督学习,我们通过“喂”数据的特征来训练机器,然后反复地告诉机器正确的答案是什么。 一旦机器被训练完成后,人们就会在一些看不见的数据上(验证集)进行测试,虽然人们知道正确答案是什么,但机器是不知道的。机器测出的答案与我们已知的答案相比较,机器的准确性是可以测量的。如果准确度足够高,科学家可能会考虑在现实世界中使用这种算法。由于回归普遍地用于股票价格,我们可以从一个例子开始。首先,我们需要数据。这时候我们可以从Quandl获取简单股票价格和数量信息开始。

#导入需要的库
import pandas as pd
import quandl
# 获取数据
df = quandl.get("WIKI/GOOGL")
print(df.head())


机器学习教程 一.初识机器学习与数据认识_第1张图片

非常棒,不过有些列是多余的,因为我们需要一些有意义的数据,这样才能突出机器学习的价值,那么我们如何知道哪些是有意义的数据呢?考虑到每日股票是变化的,你是否会考虑那些仅仅是开盘价、最高价、最低价、收盘价等?或许考虑每日变化率会更好?我认为后者更理想。前者是所有非常相似的数据点。 后者是基于来自前者的相同数据创建的,但是它带来了更有价值的信息。 因此,并不是所有的数据都是有用的,有时候您需要对数据进行进一步的操作,使其在通过机器学习算法进行输入之前更有价值。让我们继续下面的数据转换:

df['HL_PCT'] = (df['Adj. High'] - df['Adj. Low']) / df['Adj. Low'] * 100.0

# 基于收盘价的波动率,是我们衡量波动率的粗略指标

df['PCT_change'] = (df['Adj. Close'] - df['Adj. Open']) / df['Adj. Open'] * 100.0
df = df[['Adj. Close', 'HL_PCT', 'PCT_change', 'Adj. Volume']]
print(df.head())

机器学习教程 一.初识机器学习与数据认识_第2张图片

看上去是不是很完美?也许你对里面的数据或者数据的变化不是很了解,不要担心,接下来的博客我会慢慢和大家一起学习。。。

你可能感兴趣的:(机器学习,机器学习,数据挖掘,python,入门教程)