Note : python机器学习笔记(一)

2019/12/23

  • 对于机器学习,我们选择了Python

原因就是巴拉巴拉的一大堆。Python 已经成为许多数据科学应用的通用语言。它既有通用编程语言的强大功能,也有特 定领域脚本语言(比如 MATLAB 或 R)的易用性。Python 有用于数据加载、可视化、统 计、自然语言处理、图像处理等各种功能的库。


  • 然后我们要了解一个东西——scikit-learn。

scikit-learn 是一个开源项目,包含许多目前最先进的机器学习算法,每个算法都有详细的文档。建议浏览 scikit-learn 用户指南

了解 scikit-learn 及其用法是很重要的,scikit-learn 是基于NumPy 和 SciPy 科学计算库的。如果不熟悉 NumPy 和 SciPy 科学计算库,推荐阅读SciPy 讲稿

什么是NumPy?——创建和处理数值数据

什么是Matplotlib?——绘图 ( 参考博客1 、参考博客2参考博文3都是一些参数什么含义,在官方文档中没搞懂)

####下面是一些简单的绘图设置

import numpy as np
import matplotlib.pyplot as plt

# Create a figure of size 8x6 inches, 80 dots per inch
#创建一个大小8*6英寸,每英寸80个点的图形
plt.figure(figsize=(8, 6), dpi=80)

# Create a new subplot from a grid of 1x1
#创建一个1*1网格的新图形窗口
plt.subplot(1, 1, 1)

X = np.linspace(-np.pi, np.pi, 256, endpoint=True)
C, S = np.cos(X), np.sin(X)

# Plot cosine with a blue continuous line of width 1 (pixels)
#绘制余弦,其连续线宽为1(像素),颜色为蓝色。
plt.plot(X, C, color="blue", linewidth=1.0, linestyle="-")

# Plot sine with a green continuous line of width 1 (pixels)
#绘制正弦,其连续线宽为1(像素),颜色为绿色。
plt.plot(X, S, color="green", linewidth=1.0, linestyle="-")

# Set x limits
#设置x轴范围
plt.xlim(-4.0, 4.0)

# Set x ticks
#设置x轴刻度
plt.xticks(np.linspace(-4, 4, 9, endpoint=True))

# Set y limits
#设置y轴范围
plt.ylim(-1.0, 1.0)

# Set y ticks
#设置y轴刻度
plt.yticks(np.linspace(-1, 1, 5, endpoint=True))

# Save figure using 72 dots per inch
#保存一个每英寸72个像素点的图像
plt.savefig("exercise_2.png", dpi=72)

# Show result on screen
#在屏幕上显示结果图
plt.show()

关于scipy?——高级科学计算

 File input/output: scipy.io

 Special functions: scipy.special

 Linear algebra operations: scipy.linalg

 Interpolation: scipy.interpolate

 Optimization and fit: scipy.optimize

 Statistics and random numbers: scipy.stats

 Numerical integration: scipy.integrate

 Fast Fourier transforms: scipy.fftpack

 Signal processing: scipy.signal

 Image manipulation: scipy.ndimage


  • 简要了解一下Jupyter Notebook

使用过pycharm,也用过VS,后来换电脑懒的下载一堆软件,下载Anaconda之后就直接用它自带的Spyder。因为总感觉在网页中打开Jupyter Notebook,单纯的不太习惯不是客户端的感觉。但是本书推荐使用Jupyter Notebook。便于测试用例。

接下来学习本书中第一个应用。


2019/12/25

  • 第一个应用:鸢尾花分类

看了两天上面提到的python库,简单的了解了一下,接着通过k近邻算法实现鸢尾花分类。

from sklearn.datasets import load_iris
iris_dataset = load_iris()
# print("Keys of iris_dataset:\n{}".format(iris_dataset.keys()))
 
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(
iris_dataset['data'],iris_dataset['target'],random_state=0) 
#print("X_train shape: {}".format(X_train.shape)) 
#print("y_train shape: {}".format(y_train.shape))
 
import numpy as np 
import pandas as pd
# 利用X_train中的数据创建DataFrame 
# 利用iris_dataset.feature_names中的字符串对数据列进行标记 
#iris_dataframe = pd.DataFrame(X_train, columns=iris_dataset.feature_names) 
# 利用DataFrame创建散点图矩阵,按y_train着色 
#grr = pd.plotting.scatter_matrix(iris_dataframe, c=y_train, figsize=(15, 15), marker='o', 
                       # hist_kwds={'bins': 20}, s=60, alpha=.8)
 
    
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=1)
knn.fit(X_train,y_train)
 
 
                            ###做出预测###
    
X_new = np.array([[5,2.9,1,0.2]])
#print(X_new.shape)
#print("X_new.shape:{}".format(X_new.shape))
 
prediction = knn.predict(X_new)
#print("Prediction:{}".format(prediction))
#print("Predicted target name:{}".format(
       #iris_dataset['target_names'][prediction]))
 
                           ###评估模型###
    
#estimate
 
#y_pred = knn.predict(X_test)
#print("Test set predictions:\n{}".format(y_pred))
 
#print("Test set score:{:.2f}".format(np.mean(y_pred == y_test)))
print("Test set score:{:.2f}".format(knn.score(X_test,y_test)))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

璃墟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值