SKlearn介绍

  • 一.Python科学计算环境Final
  • 二.SKlearn算法库的顶层设计
    • 1.SKlearn包含哪些模块
    • 2.SKlearn六大板块统一API
      • 2.1API
      • 2.2sklearn监督学习工作流程
      • 2.2sklearn无监督学习工作流程
      • 2.3sklearn数据预处理工作流程
      • 2.4SKlearn算法模块的学习顺序
  • 三.SKlearn数据集操作API
    • 1.自带小数据集
      • 1.1鸢尾花数据集
      • 1.2手写数字数据集:load_digits()
      • 1.3乳腺癌数据集:load_breast_cancer()
      • 1.4糖尿病数据集:load_diabetes()
      • 1.4波士顿房价数据集:load_boston()
      • 1.5体能训练数据集:load_linnerud()
      • 1.6图像数据集:load_sample_image(name)
    • 2.svmlight/libsvm格式的数据集
    • 3.可在线下载的数据集(Downloadable Dataset)
      • 3.1 20类新闻文本数据集
      • 3.2 野外带标记人脸数据集:fetch_lfw_people()/fetch_lfw_pairs()
      • 3.3Olivetti人脸数据集:fetch_olivetti_faces()
      • 3.4rcv1多标签数据集:fetch_rcv1()
      • 3.5Forest covertypes:预测森林表面植被类型
    • 4计算机生成的数据集
      • 4.1用于分类任务和聚类任务的
      • 4.2make_multilabel_classification,多标签随机样本
      • 4.3用于回归任务的
      • 4.4用于流形学习的
      • 4.4用于因子分解的

一.Python科学计算环境Final

Scikit-Image是专门用来处理图像的机器学习接口
处理图像的还有OpenCV,OpenCV使用c和c++写的,但是提供了python接口,可以用python去调用




二.SKlearn算法库的顶层设计

科学包是如何架构起来的

1.SKlearn包含哪些模块

SKlearn监督学习模块有15种

SKlearn无监督学习模块

SKlearn数据变换模块

管道流pipline严格来说不是数据变换模块,pipline负责输出重定向,sklearn通过pipline可以将train,test,得分估计连成一个一长串的,方便整理代码。

baseEstimator,基础估计器。sklearn把所有的分类器,聚类器都叫做Estimator。、
ClassifierMixin,所有分类器的顶级父类,有一个抽象函数score。所有继承了ClassifierMixin的子类都要继承score方法。专门让获得_estimator_type_的函数,_estimator_type_="classifier"表明,所有继承了ClassifierMixin的子类都是_estimator_type_="classifier"类。
RegressorMixin,所有回归算法的顶级父类,所有回归算法都要继承RegressorMixin。

举例说明,以SVM为例

ABCMeta是外部的,不属于SKlearn,因而这里用external来标注。SVM涉及到了baseEstimator,ClassifierMixin分类器的顶级父类,RegressorrMixin回归器的顶级父类。
SVM这个sklearn下的子包,svm里面有好多算法,
svm既可以进行分类,也可以回归
分类子类必然继承ClassifierMixin父类,回归子类必然继承RegressorrMixin父类,有的特殊算法比如SVM既可分类又可回归,就两者都继承。
BaseSVC()子类继承了三个父类。


举例说明,以cluster为例

举例说明,以feature_extraction为例

2.SKlearn六大板块统一API

2.1API

打了方括号[]的是可有可无的参数,在分类和回归中是必须有的,但是在聚类和维数约简中,数据预处理中可以不用传。

2.2sklearn监督学习工作流程

  1. 工作流程
  2. 举例说明
    在pycharm中运行jupyter notebook写的文件

点击run

The Jupyter Notebook is running at: ,Kernel started:启动了

运行每个部分
点中那个部分,然后run,和在jupyter notebook中一样
代码

np.bincount(),统计np.array中有几个数据类别,每个类别分别所占比例。


print(classifier),可打印出函数信息


这样就训练好了
然后开始做预测

预测完之后,预测正确率

np.sum(pred_y == test_y)/float(len(test_y)),判断预测值pred_y和真实值test_y是否相等,



2.2sklearn无监督学习工作流程


2.3sklearn数据预处理工作流程

标准化之后,数据范围在(-1.4,1.4)之间
归一化之后,数据范围在(-1,1)之间

举例说明标准化



举例说明维数约简


2.4SKlearn算法模块的学习顺序


三.SKlearn数据集操作API

自带的小数据集是安装SKlern时候就自动给下载好的

1.自带小数据集

class Bunch(dict),这些数据集返回的都是dict类型的Bunch对象,继承了字典,所以这些数据都有键值对

1.1鸢尾花数据集

这个数据集是在UCI数据库中,UCI数据库是机器学习数据库

操作实例

keys有:target-目标值,鸢尾花种类的标签。data-鸢尾花的四个特征,样本特征向量矩阵。target_names-类别标签(数字)代表什么花。DESCR-对整个数据集的描述。feature_names-描述data中每一列是什么样的特征属性。




iris.data.shape,打印出来是一个元组,元组中包含两个值行(样本数量)和列(特征数量),也可以将其分别赋值给n_samples,n_features。
iris.data[0:2],默认表示对data数据集按行取值,即按照样本索引取值。
iris.target,目标数据集。

在pycharm中可以方便地看到函数的源代码,摁住ctrl键,再鼠标单击函数名称,就可以到达函数源代码中,以load_iris为例,关于这个数据集的描述都有


上面调用load_iris(return X,y=False),默认return X,y=False,则调用该数据集返回Bunch(dict)对象。如果return X,y=True,则只返回data,target数据。

np.bincount(),统计np.array中的不同数据类型出现的次数






zip()函数可以将iris.target_names对应的列表中包含的三个字符串和colors对应的列表的三个字符串拼成一个元组形式,且其中两者一一对应,共3组。取出来后第一个是label,第二个是color。更改x_index=0,1,2,3.可以画出不同特征的图,而单一特征难以区分出不同的花,
第2个和第3个特征在3种花之间有较好区分。通过图示,可以看到这些样本在每一个特征分量上的分布情况,这样对数据集有了一个整体的把握。
这是探索性的数据分析,在设计机器学习算法的前期是非常重要的。探索性分析是大数据分析中一个非常重要的步骤。也就是说,一开始我完全不知道数据会呈现出什么样的状态,但是将每个特征都打印出频率分布值,图示出来会带给我一些数据分析的灵感。

二维画图

直方图只有一个变量就可以,直方图本身就是一维的。但是散点图是二维的,必须有两个特征才能看到。第一个二维图中,setosa明显和其他两个区分开了。其他两个花交织在一起。
可以将不同特征组合起来去画图,通过变换特征组合,可以观察数据集在不同特征维度下的分布。
如果数据量很大,那么可以对数据随机采样,缩小数据,然后观察数据分布。做了探索性分析之后再去设计我的分类器。
比如在这里,探索性分析表明两个特征就可以将不同类别分开,如果我设计了一个非常复杂的神经网络那就完全没有必要。

代码如下

from sklearn.datasets import load_iris
iris = load_iris()
iris.keys()
n_samples,n_features=iris.data.shape
print(n_samples)
print(n_features)
print(iris.data)
print(iris.data.shape)
print(iris.target.shape)
print(iris.target)import numpy as np
print(iris.target_names)
np.bincount(iris.target)import matplotlib.pyplot as plt
# 查看第一个特征
x_index=3
colors=['blue','red','green']
for label,color in zip(range(len(iris.target_names)),colors):plt.hist(iris.data[iris.target==label,x_index],label=iris.target_names[label],color=color)
# 此处,label的值在0,1,2中依次循环,因而循环体中的函数是按照循环挨个执行。涉及到循环时,无论循环体中是什么内容,都
# 不要将循环的结果作为整体看,而应将循环的结果依次看,循环第一次,第二次,...。这样循环结束,循环的每一个结果就都运行了。
# 区分一下,之所以仅按照样本循环,而不将特征也循环,是因为每次画图仅能画一张,而不能讲所有特征都画到一张图上。
plt.xlabel(iris.feature_names[x_index])
plt.legend(loc='upper right')
plt.show()# 对上面代码的细分解释
colors=['blue','red','green']
for label,color in zip(range(len(iris.target_names)),colors):print(label,color)
iris.target==label
# 显示如下的原因:label是上面for label,color in zip(range(len(iris.target_names)),colors):中循环所得,循环时会
# 依次循环出0,1,2.但是如果直接打印label,不按照循环依次打印,则只打印循环的最后一个数据。而在循环中,会依次打印
# 出所有项,也就是0,1,2.
iris.data[iris.target==label]
iris.data[iris.target==label,x_index].shape# 二维画图
x_index=0
y_index=2
colors=['blue','red','green']
for label,color in zip(range(len(iris.target_names)),colors):   plt.scatter(iris.data[iris.target==label,x_index],iris.data[iris.target==label,y_index],label=iris.target_names[label],color=color)
plt.xlabel(iris.feature_names[x_index])
plt.ylabel(iris.feature_names[y_index])
plt.legend(loc='upper right')
plt.show()

1.2手写数字数据集:load_digits()

from sklearn.datasets import load_digits
digits=load_digits()
digits.keys() # 这个数据集是图像数据集,所有有images

n_samples,n_features=digits.data.shape
print(n_samples,n_features)

print(digits.data.shape)#1797个样本,64个特征,即64维数据
print(digits.images.shape)# data里面是把8*8的图像块一行一行的展开了,image中的图像数据是没有展开的。
print(digits.target.shape)

import numpy as np
# 数组元素的比对,用“==”比较.用all(),比对a矩阵和b矩阵的所有对应的元素是否相等.
# any()查看两矩阵是否有一个对应元素相等
# all()是对两个矩阵的比对结果做一次与运算,而any()是做一次或运算
print(np.all(digits.images.reshape(1797,64)==digits.data))
# 结果为True
print(digits.images.shape)
digits.images # 结果表明,1797个数组,每个数组中又包含8个数组,每个数组中又包含8个元素

digits.data # 结果为,1797个数组,每个数组中包含64个元素

# np..reshape()在不改变数据内容的情况下,改变一个数组的格式,参数及返回值
# np..reshape(a,newshape,order='c'),a:数组--需要处理的数据,order : 可选范围为{'C','F','A'}。
# 使用索引顺序读取a的元素,并按照索引顺序将元素放到变换后的的数组中。如果不进行order参数
# 的设置,默认参数为C.“C”,按行顺序,“F”,按列顺序.
digits.images.reshape(1797,64)

import matplotlib.pyplot as plt
# 设置画布
fig=plt.figure(figsize=(6,6)) #画布尺寸
fig.subplots_adjust(left=0,right=1,bottom=0,top=1,hspace=0.05,wspace=0.05)# 绘制数字:每张图像8*8像素
for i in range(64):# add_subplot(nrows,ncols,index,**kwargs),nrows,ncols表示画出几行几列的网格,index表示#在网格中第几个格中画图。ax=fig.add_subplot(8,8,i+1,xticks=[],yticks=[])# digits.images.shape是(1797,8,8),这里只列出其中64个样本。ax.imshow(digits.images[i],cmap=plt.cm.binary,interpolation='nearest')# 用目标值标记图像# 添加文本信息,ax.text(x, y, s),x,y:表示坐标,s:字符串文本.ax.text(0,7,str(digits.target[i]))plt.show()

1.3乳腺癌数据集:load_breast_cancer()

简单经典的用于二分类任务的数据集

1.4糖尿病数据集:load_diabetes()

经典的用于回归任务的数据集

1.4波士顿房价数据集:load_boston()

经典的用于回归任务的数据集

categorical,绝对的,无条件的,分类的。就是指:非数值型变量,分类型变量,比如男/女。对应numerical数值型,numerical/categorical

1.5体能训练数据集:load_linnerud()

经典的用于多变量回归任务的数据集

1.6图像数据集:load_sample_image(name)

加载一张指定名称的数据集,构成如下

可以看到,china.jpg是一张427*640分辨率图像,同时还是RGB彩色图像。
是numpy类型

2.svmlight/libsvm格式的数据集

上面两种加载方式,后一种加载方式可以保证X_train,X_test,两者有同样多的特征,即两者数据维数一样。

3.可在线下载的数据集(Downloadable Dataset)

sklean.datasets.fetch_<name>

3.1 20类新闻文本数据集


操作实例

# 20组新闻文本数据集API用法详解
from sklearn.datasets import get_data_home #get_data_home()返回默认路径
print(get_data_home())from sklearn.datasets import fetch_20newsgroups
# 两个参数。
# data_home,指定文件路径。"./scikit_learn_data"表示当前运行路径下的scikit_learn_data文件夹
# '~/scikit_learn_data',是操作系统用户目录
# subset='all',加载所有数据集,'train'加载训练数据集,'test'加载测试数据集
# 这里加载了所有数据集,但是指定名称写成了newsgroups_train
newsgroups_train=fetch_20newsgroups(data_home="./scikit_learn_data",subset='all')
newsgroups_train.keys()
# 输出目标变量target的names
# print()输出结果都在一行,不方便查看,而pprint()采用分行打印输出
from pprint import pprint
pprint(list(newsgroups_train.target_names))
# 真正的数据存放在'filenames'和'target'中。'filenames'里面是新闻文本文件名,'target'里面是
# 新闻类别的标签(用正整数来表示)
print(newsgroups_train.filenames.shape)
print(newsgroups_train.target.shape)
print(newsgroups_train.target[:10]) #结果,数据集顺序打乱了。这里关系到载入数据集时,
# fetch_20newsgroups()中参数shuffle=True,shuffle洗牌。
# 也可以为'fetch_20newsgroups'函数指定加载的新闻类别,给它传入一个新闻类别名称的list变量就可以了
cats=['alt.atheism','sci.space']
newsgroups_train=fetch_20newsgroups(data_home="./scikit_learn_data",subset='train',categories=cats)
print(newsgroups_train.keys())
print(list(newsgroups_train.target_names))
print(newsgroups_train.filenames.shape)
print(newsgroups_train.target.shape)
print(newsgroups_train.target[:10])# 只有两个类,所以下面就只有0,1#上面加载出来的data中还是文本内容,想让计算机处理就得是数字内容,所以把文本内容转换为特征向量
为了把文本内容传递到学习器学习,我们首先要把文本内容转换成计算机理解的数字向量,然后用统计机器机器学习的方法去发现其内部隐藏的规律。这个特征提取的任务可以通过'sklearn.feature_extraction.text'来实现。最后文本内容就变成了一种'TF-IDF'的一元语言模型向量
TF-IDF(term frequency-inverse document frequency)词频-逆向文件频率,将文字转化为模型可以处理的向量,字词的重要性与其在文本中出现的频率成正比(TF),与其在语料库中出现的频率成反比(IDF).
TF:词频。TF(w)=(词w在文档中出现的次数)/(文档的总词数),IDF:逆向文件频率。有些词可能在文本中频繁出现,但并不重要,也即信息量小,如is,of,that这些单词,这些单词在语料库中出现的频率也非常大,我们就可以利用这点,降低其权重。IDF(w)=log_e(语料库的总文档数)/(语料库中词w出现的文档数)
将上面的TF-IDF相乘就得到了综合参数:TF-IDF=TF*IDF
from sklearn.feature_extraction.text import TfidfVectorizer
categories=['alt.atheism','talk.religion.misc','comp.graphics','sci.space']
newsgroups_train=fetch_20newsgroups(data_home="./scikit_learn_data",subset='train',categories=categories)
vectorizer=TfidfVectorizer()
# data中是原始数据,文本内容。文本内容通过fit_transform转换成计算机可处理的数字特征向量
# 数据预处理,特征向量提取都有fit_transform()
vectors=vectorizer.fit_transform(newsgroups_train.data)
print(vectors.shape)
print(vectors)
# 抽取得到的TF-IDF向量是非常稀疏的,平均有159个特征分量,在超过30000维空间里面采样得到。
vectors.nnz/float(vectors.shape[0])
# sklearn.datasets.fetch_20newsgroups_vectorized函数可以直接返回文本的特征分量,不用再去抽取了
from sklearn.datasets import fetch_20newsgroups_vectorized
# Load the 20 newsgroups dataset and vectorize it into token counts (classification).

3.2 野外带标记人脸数据集:fetch_lfw_people()/fetch_lfw_pairs()


操作示例

#用于野外人脸识别的带标记人脸数据集(the labeled face in the wild) 该数据集总共有两个API操作函数,一个是"fetch_lfw_people()"用于人脸识别任务(多类分类任务),另一个是"fetch_lfw_pairs()"用于人脸验证任务
# fetch_lfw_people()函数用法from sklearn.datasets import fetch_lfw_people
lfw_people=fetch_lfw_people(data_home="./scikit_learn_data",min_faces_per_person=70,resize=0.4)
lfw_people.keys()
lfw_people.target_names
#输出数据集中人脸的人名
for name in lfw_people.target_names:print(name)
#默认的切片是一个矩形包围人脸,去掉了大多数的背景
print(lfw_people.data.dtype)
print(lfw_people.data.shape)
print(lfw_people.images.shape)
#1140个人脸图片中的每一张图片都被分配了一个单独的id在目录target中
lfw_people.target.shape
print(list(lfw_people.target[:10]))
#看fetch_lfw_pairs()函数的用法
这个函数加载的数据集用于人脸验证(face verification)任务,没一个样本是一对人脸图片,可能是同一个人,也可能不是
from sklearn.datasets import fetch_lfw_pairs
lfw_pairs_train=fetch_lfw_pairs(data_home="./scikit_learn_data",subset='train')
lfw_pairs_train.keys()
print(list(lfw_pairs_train.target_names)) # 两类
print(lfw_pairs_train.pairs.shape) #pairs,220个样本,每个样本中2张图像,每个图像都是62*47
print(lfw_pairs_train.data.shape) #data是将上面的pairs数据展开了,2*62*47=5828
print(lfw_pairs_train.target.shape)
#sklearn.datasets.fetch_lfw_people和sklearn.datasets.fetch_lfw_pairs函数都可以获得RGB彩色图像,只是在参数里面指明color=True,这种情况下,矩阵的大小为(2200,2,62,47,3),后面的3说明是3通道的。否则就只是灰度图像
#sklearn.datasets.fetch_lfw_pairs函数加载的数据集被划分成3个子集,训练集,测试集,还有一个10-folds评估集(使用10折交叉验证来评估性能)

3.3Olivetti人脸数据集:fetch_olivetti_faces()

3.4rcv1多标签数据集:fetch_rcv1()

3.5Forest covertypes:预测森林表面植被类型

4计算机生成的数据集

4.1用于分类任务和聚类任务的

之所以把分类任务和聚类任务数据放在一起,是因为分类和聚类都需要离散的类别标签,

  1. make_blobs操作示例
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets.samples_generator import make_blobs
centers=[[1,1],[-1,-1],[1,-1]]#指定每个cluster的中心
cluster_std=0.3 # 每个cluster的标准差,cluster_std越大,cluster中的点分布越散。clusters之间不好区分。centers不指定位置
# 仅指定个数的话,cluster的位置就是随机的。
X,labels=make_blobs(n_samples=200,centers=centers,n_features=2,cluster_std=cluster_std,random_state=0)
print('X.shape:',X.shape)
print('labels:',set(labels)) # set()函数创建一个无序不重复元素集,可进行关系测试,删除重复数据
# labels是类别标签,但是类别标签是有限的,lebels本身是一个重复数据的集合#查看X的数据构成
X
# 获取X的第一列
X[:,0]
#np.linspace的用法
print(np.linspace(0,1,len(unique_labels)))# 将二维点集绘制出来
unique_labels=set(labels) #获取重复标签数据的唯一值
# 为每个类标签指定颜色,plt.cm.Spectral(parameters)中的parameters来指定生成的颜色种类,
# 例如plt.cm.Spectral(np.arange(5))将生成5中不同的颜色
colors=plt.cm.Spectral(np.linspace(0,1,len(unique_labels)))
# zip()将2个相同长度list封装为一个元组。
for k,col in zip(unique_labels,colors):X_k=X[labels==k]plt.plot(X_k[:,0],X_k[:,1],'o',markerfacecolor=col,markeredgecolor='k',markersize=14)#np.array中,X_k[:,0]表示按列索引,第1列,X_k[:,1],按列索引,第二列。marker,标记。edge,边缘。
plt.title('dataset by make_blob()')
plt.show()
  1. make_classification
import numpy as np
from sklearn.datasets.samples_generator import make_classification
X,labels=make_classification(n_samples=200,n_features=2,n_redundant=0,n_informative=2,random_state=1,n_clusters_per_class=1)
# n_redundant,冗余。n_informative,对分类有用的特征。n_clusters_per_class,每个类有几个点集,可以有2个。
# 最终返回的是样本特征向量和标签
# 给特征向量X加噪声
# np.random.RandomState(),随机数生成器
rng=np.random.RandomState(2)
# numpy.random.uniform(low,high,size),从一个均匀分布[low,high)中随机采样.
X += 2*rng.uniform(size=X.shape)
# 将二维点集绘制出来
import matplotlib.pyplot as plt
unique_labels=set(labels)
colors=plt.cm.Spectral(np.linspace(0,1,len(unique_labels)))
for k,col in zip(unique_labels,colors):X_k=X[labels==k]plt.plot(X_k[:,0],X_k[:,1],'o',markerfacecolor=col,markeredgecolor='r',markersize=14)
plt.title('dataset by make_classification()')
plt.show()
  1. make_moons
from sklearn.datasets.samples_generator import make_moons
X,labels=make_moons(n_samples=200,shuffle=True,noise=0.3,random_state=0)
# shuffle=True,乱序。noise=0.3,噪声。
print('X.shape:',X.shape)
print('labels:',set(labels))
# 将二维点集绘制出来
import matplotlib.pyplot as plt
unique_labels=set(labels)
colors=plt.cm.Spectral(np.linspace(0,1,len(unique_labels)))
for k,col in zip(unique_labels,colors):X_k=X[labels==k]plt.plot(X_k[:,0],X_k[:,1],'o',markerfacecolor=col,markeredgecolor='k',markersize=14)
plt.title('dataset by make_moons()')
plt.show()
# 结果显示为月亮形的,常用来测试分类器的非线性分类问题,要把这个分开就要用s形判决界面,
# 可以规定两个数据集之间的胶结程度,将他们紧凑一些/拉开一些,就可以测量分类器的分类性能
  1. make_circles
from sklearn.datasets.samples_generator import make_circles
X,labels=make_circles(n_samples=200,noise=0.2,factor=0.2,random_state=1)
# factor=0.2,外圆和内圆半径的比例
print('X.shape:',X.shape)
print('labels:',set(labels))
# 将二维点集绘制出来
import matplotlib.pyplot as plt
unique_labels=set(labels)
colors=plt.cm.Spectral(np.linspace(0,1,len(unique_labels)))
for k,col in zip(unique_labels,colors):X_k=X[labels==k]plt.plot(X_k[:,0],X_k[:,1],'o',markerfacecolor=col,markeredgecolor='k',markersize=14)
plt.title('dataset by make_circles()')
plt.show()
# 现在图上看上去是扁图,其实就是圆的,是在这里显示的问题,可以弹出来看。

4.2make_multilabel_classification,多标签随机样本

4.3用于回归任务的

4.4用于流形学习的

s形曲线:make_s_curve().瑞士卷,make_swiss_roll()

4.4用于因子分解的

产生的是稀疏矩阵,

Sklearn_工具--2SKlearn介绍相关推荐

  1. Docker编排工具Fig介绍

    本文讲的是Docker编排工具Fig介绍,[编者的话]Fig是一个基于Docker的用于快速搭建开发环境的工具,目前Fig团队已经加入Docker公司.Fig通过一个配置文件来管理多个Docker容器 ...

  2. Java XML解析工具 dom4j介绍及使用实例

    Java XML解析工具 dom4j介绍及使用实例 dom4j介绍 dom4j的项目地址:http://sourceforge.net/projects/dom4j/?source=directory ...

  3. python机器学习可视化工具Yellowbrick介绍及平行坐标图实战示例

    python机器学习可视化工具Yellowbrick介绍及平行坐标图实战示例 目录 python机器学习可视化工具Yellowbrick介绍及平行坐标图实战示例 yellowbrick简介及安装

  4. Windows系统内存分析工具的介绍

    Windows系统内存分析工具的介绍(进程管理器,资源管理器,性能监视器, VMMap, RamMap,PoolMon) 微软官方提供多种工具来分析Windows 的内存使用情况,除了系统自带的任务管 ...

  5. 10款屏幕取色器/颜色拾取工具软件介绍及下载地址[转]

    10款屏幕取色器/颜色拾取工具软件介绍及下载地址(附截图) 2009年12月07日 14:13 在做网页设计和程序界面的时候,看到比较喜欢的图片颜色,总是要拾取下来应用到自己的网页或图片的颜色中,但是 ...

  6. MySQL自带工具使用介绍

    MySQL自带工具使用介绍: 1)mysql命令:mysql命令事是使用最多的命令工具了,为用户提供了一个命令行接口来操作管理MySQL的服务器. 命令格式: Usage:mysql [OPTIONS ...

  7. Linux下压力测试工具Webbench介绍

    1 安装操作步骤: #tar zxvf webbench-1.5.tar.gz #cd webbench-1.5 #make && make install [root@localho ...

  8. [原创]Paros工具培训介绍

    [原创]Paros工具培训介绍 Paros Proxy工具介绍 Paros proxy是一个对Web应用程序的漏洞进行评估的代理程序,它支持动态地查看/编辑 HTTP/HTTPS信息,可以改变cook ...

  9. Linux网络常用工具分类介绍

    Linux网络命令较多,单纯的介绍网络命令的用法也没什么意思.本文将常见的网络命令进行分类,并做出思维导图,对每个分类的命令选择性的介绍其作用.常见选项和用法举例.BTW,不建议记住所有命令,了解一下 ...

最新文章

  1. 【COCOS2D-X(2.X) 游戏开发系列之一】COCOS2DX(V2.X)与(V1.X)的一些常用函数区别讲解!在2.X版CCFILEDATA类被去除等...
  2. 从0到1走进 Kaggle
  3. python 语言教程(3)变量之字典
  4. js插件 ajax跨域,ajax跨域问题
  5. 计算机二级web题目(1)--web基础
  6. SQL 查询--日期条件(今日、昨日、本周、本月。。。) (转)
  7. Android 驱动开发(1)---Hello 实例
  8. 集合字典序(优先队列)
  9. 令人蛋疼的错误提示 0xcdcdcdcd ,0xdddddddd ,0xfeeefeee ,0xcccccccc ,0xabababab
  10. 初探前端微服务——single-spa
  11. Qt 使用一张图片实现转圈的动画效果
  12. 市面上有哪几种门_市面上的木门分类常识
  13. 海量CAD图纸哪里获取呢?
  14. python12306源码_春运了,Python大神分享爬取12306车票信息的例子,附抢票源码
  15. 基于Axure的跑步软件的界面原型化系统
  16. 牛客--2019快手--获得最多的奖金
  17. 人工智能程序可1秒检测出肠癌 准确率86% | 医疗
  18. 【多线程并发编程】十一 生产者和消费者问题(面试必问)
  19. ShardingSphere5学习笔记
  20. HTC U11 EYEs刷机包 HTC U11 EYEs原厂系统维修线刷包msm8976含教程

热门文章

  1. 空间索引格网大小无效
  2. iOS 通讯录操作 删除联系人 以及联系人多个号码 如何删除其中一个号码
  3. Php套件,php套件包,php服务器套件,php环境整合套件,汇总对比分析
  4. Windows10环境gradle安装与配置
  5. Could not find com.github.hackware1993:MagicIndicator:1.7.0.
  6. 2021年安全员-C证新版试题及安全员-C证找解析
  7. Linux内核架构和工作原理详解
  8. JS—截取数组(slice/splice)
  9. Android基于图像语义分割实现人物背景更换
  10. react 使用 dropzone-ui