第六周ARTS

A

题意:中序遍历

Given a binary tree, return the inorder traversal of its nodes' values.

For example:

Given binary tree {1,#,2,3},

  1

    \

    2

    /

  3

return [1,3,2].


思路:采用递归实现。因为函数声明是返回一个vector,所以每个子树返回的是该子树的中序遍历的结果

按照 左、根、右的次序把根和左右子树的vector合并起来就可以了

代码:

/**

* Definition for binary tree

* struct TreeNode {

*    int val;

*    TreeNode *left;

*    TreeNode *right;

*    TreeNode(int x) : val(x), left(NULL), right(NULL) {}

* };

*/

class Solution {

public:

    vector inorderTraversal(TreeNode *root) {

    vector in;

    if(root == NULL) return in;

    TreeNode *left = root->left;

    TreeNode *right = root->right;


    if(left) {

    vector left_vector = inorderTraversal(left);

    in.insert(in.end(), left_vector.begin(), left_vector.end());

    }


    in.push_back(root->val);


    if(right){

    vector right_vector = inorderTraversal(right);

    in.insert(in.end(), right_vector.begin(), right_vector.end());

    }


    return in;

    }

};



R

本周阅读了一篇德国慕尼黑技术大学的博士论文,名为基于递归神经网络的监督序列标记

递归神经网络是强大的序列学习者,它们能够以灵活的方式合并上下文信息,并且对输入数据的局部失真具有鲁棒性。这些特性使它们非常适合序列标记,在序列标记中,输入序列用标签流进行转录。长短期记忆(LSTM)是一种特别有前途的递归体系结构,能够在相关的输入和输出事件之间架起长时间延迟的桥梁,从而访问较大范围的上下文。

这篇论文论文着重于在长短期记忆的情况下,提高监督序列标记的技术水平。它的两个主要贡献是:(1)一种新型的输出层,允许递归网络直接接受序列标记任务的训练,其中输入和标记之间的对齐方式未知;(2)将长短期记忆扩展到多维数据,如图像和视频序列。在语音识别、在线和离线手写识别、关键词定位、图像分割和图像分类等方面进行了实验研究,证明了先进递归网络相比其他序列算法(如隐马尔可夫模型)的优势。


T

Pandas库之DataFrame

1 简介

DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表

或许说它可能有点像matlab的矩阵,但是matlab的矩阵只能放数值型值(当然matlab也可以用cell存放多类型数据),DataFrame的单元格可以存放数值、字符串等,这和excel表很像。

同时DataFrame可以设置列名columns与行名index,可以通过像matlab一样通过位置获取数据也可以通过列名和行名定位,具体方法在后面细说。

2 创建DataFrame

以Python 3.6.5版本为例

在所有操作之前先import必要的pandas库,因为pandas常与numpy一起配合使用,所以也一起import。

import pandas as pd 

import numpy as np

3 常用函数

1.查看DataFrame前xx行或后xx行

a=DataFrame(data);

a.head(6)表示显示前6行数据,若head()中不带参数则会显示全部数据。

a.tail(6)表示显示后6行数据,若tail()中不带参数则也会显示全部数据。

2.查看DataFrame的index,columns以及values

a.index ;    a.columns ;    a.values  即可

3.describe()函数对于数据的快速统计汇总

a.describe()对每一列数据进行统计,包括计数,均值,std,各个分位数等。

4.对数据的转置

a.T

5.对轴进行排序

a.sort_index(axis=1,ascending=False);

其中axis=1表示对所有的columns进行排序,下面的数也跟着发生移动。后面的ascending=False表示按降序排列,参数缺失时默认升序。

6.对DataFrame中的值排序

a.sort(columns='x')

即对a中的x这一列,从小到大进行排序。注意仅仅是x这一列,而上面的按轴进行排序时会对所有的columns进行操作。

参照链接https://www.jianshu.com/p/682c24aef525

4 数据清洗

数据清洗:缺失值、异常值和重复值的处理-2代码实操 - sinat_22510827的博客 - CSDN博客



S

数据分析日常学习week3_4.27 -

你可能感兴趣的:(第六周ARTS)