Pandas学习笔记

发布时间 : 2020-01-23
发布 : 2020-01-23 分类 : 数据科学 浏览 :

Pandas 方法

pd.read_csv(csv_path) 读入 csv 文件

读入 csv 文件,一般用于返回~

~head() 获取前五行数据

供快速参考。

~info() 迅速获取数据描述

获取总行数、每个属性的类型、非空值的数量。

NumPy学习笔记

发布时间 : 2020-01-23
发布 : 2020-01-23 分类 : 数据科学 浏览 :

本文是我在学习过程中收集的 numpy 方法,并做了记录。

NumPy 方法

np.ceil(x, y) 限制元素范围

  • x 输入的数据
  • y float 型,每个元素的上限
1
housing["income_cat"] = np.ceil(housing["median_income"] / 1.5)     # 每个元素都除1.5

sklearn调参与数据预处理

发布时间 : 2020-01-23
发布 : 2020-01-23 分类 : 数据科学 浏览 :

本文讲解一些常见处理数据的方法。

Grid Search 更适合微调,当超参数组合多、搜索空间大时更适合使用 Randomized Search。

GridSearchCV() 对估算器指定参数值进行详尽搜索

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from sklearn.model_selection import GridSearchCV

param_grid = [
# try 12 (3×4) combinations of hyperparameters
{'n_estimators': [3, 10, 30], 'max_features': [2, 4, 6, 8]},
# then try 6 (2×3) combinations with bootstrap set as False
{'bootstrap': [False], 'n_estimators': [3, 10], 'max_features': [2, 3, 4]},
]

forest_reg = RandomForestRegressor(random_state=42)
# train across 5 folds, that's a total of (12+6)*5=90 rounds of training
grid_search = GridSearchCV(forest_reg, param_grid, cv=5,
scoring='neg_mean_squared_error')
grid_search.fit(housing_prepared, housing_labels)

grid_search.best_params_
# Out:{'max_features': 8, 'n_estimators': 30}

grid_search.best_estimator_
# Out:
# RandomForestRegressor(bootstrap=True, criterion='mse', max_depth=None,
# max_features=8, max_leaf_nodes=None, min_impurity_decrease=0.0,
# min_impurity_split=None, min_samples_leaf=1,
# min_samples_split=2, min_weight_fraction_leaf=0.0,
# n_estimators=30, n_jobs=1, oob_score=False, random_state=42,
# verbose=0, warm_start=False)

Tensorflow 实现 Softmax Regression 识别手写数字

发布时间 : 2020-01-23
发布 : 2020-01-23 分类 : 机器学习 浏览 :
1
2
3
4
5
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data/",one_hot=True)
print(mnist.train.images.shape, mnist.train.labels.shape)
print(mnist.test.images.shape, mnist.test.labels.shape)
print(mnist.validation.images.shape, mnist.validation.labels.shape)

算法的乐趣

发布时间 : 2020-01-22
发布 : 2020-01-22 分类 : 算法 浏览 :

本系列文章是出自《算法的乐趣》课程的笔记。

算法的乐趣之迭代法

发布时间 : 2020-01-22
发布 : 2020-01-22 分类 : 算法 浏览 :

迭代法一般用于求解数学问题,比如求解一元高次方程、线性和非线性方程组和曲线拟合等问题。
迭代法作为很多数学问题的求解算法,是解决数学问题的一种常用的算法模式,可以独立构成解决问题的算法。递推法作为一种设计算法的常用思想,没有固定的算法实现模式,通常是与其他算法模式配合形成算法实现。比如线性动态规划问题,一般都有明确的子问题最优解递推公式,递推思想常常作为算法实现的一部分融入到动态规划算法的实现中。

算法的乐趣之动态规划法

发布时间 : 2020-01-22
发布 : 2020-01-22 分类 : 算法 浏览 :

动态规划(Dynamic Programming)是解决多阶段决策问题常用的最优化理论,动态规划和分治法一样,也是通过定义子问题,先求解子问题,然后在由子问题的解组合出原问题的解。它与分治法的区别是动态规划的子问题之间存在堆叠关系(递推关系式确定的递推关系)。

算法的乐趣之分治法

发布时间 : 2020-01-22
发布 : 2020-01-22 分类 : 算法 浏览 :

分治法的设计思想是将无法着手解决的大问题分解成一系列规模较小的相同问题,然后逐个解决小问题,即所谓分而治之。

算法的乐趣之常用技巧

发布时间 : 2020-01-22
发布 : 2020-01-22 分类 : 算法 浏览 :

技巧、常识、策略、原则。

算法的乐趣之枚举法

发布时间 : 2020-01-22
发布 : 2020-01-22 分类 : 算法 浏览 :

穷举法又称穷举搜索法,是一种在问题域的解空间中对所有可能的解穷举搜索,并根据条件选择最优解的方法的总称。

使用穷举法解决问题,基本上就是以下两个步骤:

  • 确定问题的解(或状态)的定义、解空间的范围以及正确解的判定条件;
  • 根据解空间的特点来选择搜索策略,逐个检验解空间中的候选解是否正确;