一、设置镜像源

conda
1
2
3
4
// 以清华镜像为例
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda config --set show_channel_urls yes

此时在当前用户的根目录下生成一个名为”.condarc”的配置文件,打开该文件。

将”.condarc”配置文件内容修改如下,此外可以添加更多的下载渠道。

1
2
3
4
5
6
7
8
channels:
- defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r

在上一节中的泰坦尼克号入门案例的数据预处理过程中,出现了数据不完整、数据的编码(数值转化),即将非结构化文本转化为结构化文本。本文主要用来记录在sklearn中常用的数据预处理基本方法。

数据预处理

从数据中检测,纠正或删除损坏,不准确或不适用于模型的记录的过程。

可能面对的问题有:数据类型不同,比如有的是文字,有的是数字,有的含时间序列,有的连续,有的间断。也可能,数据的质量不行,有噪声,有异常,有缺失,数据出错,量纲不一,有重复,数据是偏态,数据量太大或太小。

目的:让数据适应模型,匹配模型的需求。

在上一篇介绍JDBC基础使用的博文中,简单了解到JDBC的使用。但是,也看出了一定的弊端:重复代码量较大。在我们每次新建一个JDBC的类操作数据库时,都要不停的进行驱动的注册,数据库的连接,参数的输入等大量重复性的操作。所以,有没有什么方法简化这一类的操作呢?
其实,将这些重复的代码进行抽取,作为一个工具类,每次使用的时候进行调用即可,这样便能够达到代码的可复用性。
抽取JDBC工具类的思路:

  1. 将注册驱动进行抽取
  2. 抽取一个方法获取连接对象
    • 需求:不必传递参数,并且保证工具类的通用性。
    • 解决:配置文件。

一、Requests库的7个主要方法

方法 说明
requests.request() 构造一个请求,支撑一下各方法的基础方法
requests.get() 获取HTML网页的主要方法,对应于HTTP的GET
requests.head() 获取HTML网页头信息的方法,对应于HTTP的HEAD
requests.post() 向HTML网页提交POST请求的方法,对应于HTTP的POST
requests.put() 向HTML网页提交PUT请求的方法,对应于HTTP的PUT
requests.pathch() 向HTML网页提交局部修改请求,对应于HTTP的PATCH
requests.delete() 向HTML页面提交删除请求,对应于HTTP的DELETE
1.requests.get

r = requests.get(url)

  • 返回一个包含服务器资源的Response对象包含爬虫返回的全部内容(内容被封装,返回的是地址信息)
  • 构造一个向服务器请求资源的Request对象

requests.get(url,params=None,**kwargs)

  • url:拟获取网页的url链接
  • params:url中的额外参数,字典或字节流格式,可选
  • **kwargs:12个控制访问的参数

JDBC:Java DataBase Connectivity,即为Java数据库连接。

JDBC是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。即:定义的一套操作所有关系型数据库的规则,是为接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接(JDBC)编程,真正执行的代码是驱动jar包中的实现类。

本文用于记录机器学习中的一次入门练习,即:利用决策树进行简单的二分类。同时,结合Kaggle上的经典案例Titanic,来测试实际效果。

一、数据集

采用Kaggle中的Titanic的数据集。数据包含分为:

  • 训练集: training set (train.csv)
  • 测试集: test set (test.csv)
  • 提交标准: gender_submission.csv

由于Kaggle涉及到科学上网的操作,所以原始数据集已经下载好放在Gighub上了。

二、数据处理

首先导入训练集,查看数据的情况:

1
2
3
4
5
6
7
8
9
from sklearn.tree import DecisionTreeClassifier # 导入模型决策树分类器
from sklearn.model_selection import cross_val_score,train_test_split,GridSearchCV # 导入的模型作用分别为交叉验证、训练集与数据集的划分,网格搜索
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

data = pd.read_csv('/Users/liz/code/jupyter-notebook/sklearn/1- DecisionTree/Titanic_train.csv') # 导入数据集
data.head() # 显示数据集的前五行
[out]:

由于自己的阿里云账号申请不足6个月,能够享受新用户云服务器ECS89元一年的优惠政策,所以就购买了一台云服务器,作为日常学习的使用。本文用来记录此次装载云服务器所遇到的一些问题及MySQL的安装过程。

一、云服务器的选配及配置

此次我选购的服务器网址:http://aliyun.langsan.com/?bd_vid=8575091722087683835。下图为此次所购的云服务器配置: 服务器配置

近日换了电脑,想装一个Linux系统,但也不想在本机上装双系统,就选择了装起虚拟机。此次选择了安装Ubuntu 16.04.6版本,文章最后会附上常用16.04和18.04ubuntu镜像源下载的网址。本文,用来记录此次虚拟机的装载过程、后续配置。

一、VMWare Fusion的下载

VMware Fusion是VMware为Macintosh计算机开发的虚拟机管理程序。用来管理虚拟机环境。此次选择了11.5.1的版本-下载地址。序列号查询百度即可。

二、Ubuntu的安装

打开VMWare Fusion,点击创建新环境。选择创建自定义虚拟机安装。这里没有选择上方的镜像安装,是因为我在第一次用这种方法安装完以后,尝试了各种方法却不能安装VMware tools。
后续步骤1

在上周的Python科学计算课上,老师讲到了Python序列的浅拷贝以及深拷贝方面的知识,个人觉得说得比较言简意赅了,对于我这个刚入Python的新手来说,也基本可以避免今后变量的赋值使用错乱的问题。

这里我们简单的将Python中的标准数据类型分为两类:

  • 不可变数据类型:int、float、string、boolean
  • 可变(组合)数据类型:列表(list)、字典(dict)、集合(set)

先举几个例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
a = 1 # a为上述定义的不可变数据类型
b = a
print('b={}'.format(b)) # b = 1
--------
b = 2
print('a = {},b = {}'.format(a,b)) # a = 1,b = 2

========

c = [1,2,3] # b为上述定义的组合数据类型
d = c
print('c = {},d = {}'.format(c,d)) # c = [1, 2, 3],d = [1, 2, 3]
d.append(4)
print('c = {},d = {}'.format(c,d)) # c = [1, 2, 3, 4],d = [1, 2, 3, 4]

从上述的例子当中看出,在不可变数据类型中,所定义的变量的值在后来改变(这里是b),并不会引起原来赋给它值的那个量的改变(这里是a);而在组合数据类型中就发生了改变,我们只是将d的值进行了改变,并没有直接改变c的值,最后c的值却也发生了变化。