$ hexo new "My New Post" |
More info: Writing
$ hexo server |
More info: Server
$ hexo generate |
More info: Generating
$ hexo deploy |
More info: Deployment
]]>WinLibs - GCC+MinGW-w64 compiler for Windows下载你需要的版本
解压到D:\ProgramModule,并将 bin\加入环境变量PATH
打开新的Terminal输入gcc -v,查看gcc是否安装成功
在VS code 的插件管理下载Code Runner、C\C++这两个插件
在*.c源文件的内容区,右键点击Run Code ,即可运行成功
short a = 12; |
float f = 3.14F; |
char h = 'x'; |
int b = 23; |
|
// swap the value of a and b |
|
保存脚本到/usr/local/bin目录下
mv usage.sh /usr/local/bin/usage |
|
Random-Forest就是Bagging + Decisiontree
import seaborn as sns |

import pandas as pd |

将当前样本的类别归类于距离最近的k个样本的类别
| k值 | 影响 |
|---|---|
| 越大 | 模型过拟合,准确率波动较大 |
| 越小 | 模型欠拟合,准确率趋于稳定但可能较低 |
通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程
归一化
将数据变换到指定区间(默认是[0,1])
$$ x’ = \frac{x- x_{\text {min}}}{x_{\text{max}} - x_{\text{min}}} $$
若需要缩放到任意区间 ([a, b]),公式为: $$ x’ = a + \frac{(x - x_{\text{min}}) \cdot (b - a)}{x_{\text{max}} - x_{\text{min}}} $$
其中:( [a, b] ):目标区间的范围
归一化受到数据集的异常值的影响,需要进行标准化处理(更加合理)
from sklearn.preprocessing import MinMaxScaler # 归一化 |
标准化
将数据调整为均值为 0,标准差为 1 的标准正态分布
$$ z = \frac{x - \mu}{\sigma} $$
( z ):标准化后的值 ( x ):原始数据值 ( $\mu$ ):数据的均值 ( $\sigma$):数据的标准差
from sklearn.preprocessing import StandardScaler # 标准化 |
import seaborn as sns |

import seaborn as sns |

from sklearn.model_selection import KFold,StratifiedKFold |

C4.5 是一种用于生成决策树的算法,不再使用信息增益,而是使用信息增益比,来避免偏向于选择取值较多的特征。信息增益比是信息增益与特征的熵的比值。
D3 是一种基于信息增益(Information Gain)的决策树算法
CART(分类与回归树)一种决策树算法,,CART 使用 二叉树结构,即每个节点只能有两个子节点。
CART 决策树的剪枝方法分为 预剪枝(Pre-pruning)和 后剪枝(Post-pruning)两种:
预剪枝是在构建决策树时就决定是否停止进一步划分某个节点。主要通过以下标准来控制:
后剪枝是在决策树完全构建出来之后,对树进行修剪。具体过程如下:
from sklearn.feature_extraction import DictVectorizer |
from sklearn.feature_extraction.text import CountVectorizer |
from sklearn.feature_extraction.text import CountVectorizer |
词频 * 逆文档频率
# tfi-df |
import seaborn as sns |
生成对应的图
from sklearn.tree import export_graphviz |
Webgraphviz,这个网站可以将tree.dot文件的内容生成对应的可视化树
import numpy as np |
import pandas as pd |
准确率
准确率是所有预测正确的样本占总样本的比例
$$Accuracy = \frac{TP+TN}{TP+FN+FP+TN}$$
精准率
精准率(又称查准率)是指所有被预测为正类的样本中,真正为正类的比例
$$Precision = \frac{TP}{TP+FP}$$
召回率
召回率(又称查全率)是指所有实际为正类的样本中,被正确预测为正类的比例
$$Recall = \frac{TP}{TP+FN}$$
F1-score
F1 值(F1 Score)是精准率和召回率的调和平均数,综合考虑了精准率和召回率的影响。
$$ F1 = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}} $$
roc曲线
tpr、fpr来衡量不平衡的二分类问题
import pandas as pd |
先准备类别不平衡的数据
from imblearn.over_sampling import RandomOverSampler,SMOTE |
ros = RandomOverSampler() |

SMOTE过采样(SMOTE)smote = SMOTE() |

rus = RandomUnderSampler(random_state=0) |

用于预测一个连续的目标变量(因变量),与一个或多个特征(自变量)之间存在线性关系。
假设函数:
$$y = w_1x_1 + w_2x_2 + \cdot\cdot\cdot+w_nx_n$$
为了找到最佳的线性模型,我们需要通过最小化损失函数来优化模型参数。在线性回归中,常用的损失函数是 均方误差(MSE):
$$J(\theta) = \frac{1}{2N} \sum_{i=1}^{N} (y_i - f_\theta(x_i))^2$$
梯度下降法
from sklearn.datasets import fetch_california_housing |
正规方程
from sklearn.datasets import fetch_california_housing |
岭回归
from sklearn.datasets import fetch_california_housing |
这样每个代码块的缩进保持一致,便于阅读和理解。如果有其他优化需求,随时告诉我!


from sklearn.datasets import fetch_california_housing |
初,郑武公娶于申【申国】,曰武姜【武为武公谥号,姜为其宗族之性】。生庄公及共叔段【共表示其曾出逃到共,叔为老三,段为名】。庄公寤生【出生时头先出,难产】,惊姜氏,故名曰“寤生”, 遂恶之,爱【喜爱】共叔段,欲立【立为储君】之,亟(qì)【多次】请于武公,及庄公即位,为之【共叔段】请制【一个叫制的封地,虎牢关所在】。公曰:“制,岩邑【险要的城邑】也,虢叔死焉,佗【通“他”,其他】邑唯命(是听)。”请京,使居之,谓之“京城大叔”。
]]># 在 6 台主机执行 |
/tmp,进入到/tmpcp Centos-7.repo /etc/yum.repos.d/ |
nn1上的CentOS-Base.repo拷贝到其他主机scp /etc/yum.repos.d/CentOS-Base.repo root@nn2:/etc/yum.repos.d |
yum clean all |
yum install -y openssh-server vim gcc gcc-c++ glibc-headers bzip2-devel lzo-devel curl wget openssh-clients zlib-devel autoconf automake cmake libtool openssl-devel fuse-devel snappy-devel telnet unzip zip net-tools.x86_64 firewalld systemd ntp unrar bzip2 |
注意需要在六台机器依次执行
/tmp目录下,安装 cd /tmp |
ln -s /usr/java/jdk1.8.0_144/ /usr/java/jdk1.8 |
vim /etc/hostname |
6台机器分别为nn1、nn2、nn3、s1、s2、s3
vim /etc/hosts |
修改为
192.168.1.30 nn1 |
#创建hadoop用户 |
sed -i 's/#auth\t\trequired\tpam_wheel.so/auth\t\trequired\tpam_wheel.so/g' '/etc/pam.d/su' |
echo "SU_WHEEL_ONLY yes" >> /etc/login.defs |
#把hadoop用户加到wheel组里 |
nn1执行这段脚本命令即可su - hadoop , mkdir ~/.ssh 需要在其他主机执行一下 #切换到hadoop用户 |
ssh-copy-id root@nn1 |
ips
vim /home/hadoop/bin/ips |
nn1 |
ssh_all.sh
vim /home/hadoop/bin/ssh_all.sh |
|
ssh_root.sh
|
scp_all.sh
|
exe.sh
#切换到root用户执行cmd命令 |
赋予执行权限
chmod +x ssh_all.sh |
分发到其他主机
./ssh_all.sh mkdir /home/hadoop/bin |
将 /home/hadoop/bin添加到hadoop用户的环境变量,需要切换到hadoop用户
echo 'export PATH=$PATH:/home/hadoop/bin' >> ~/.bashrc && source ~/.bashrc |
hadoop-3.1.4.tar.gz到/tmp,解压注意在六台机器均上传到
/tmp
# 在6台机器执行 |
echo 'export HADOOP_HOME=/usr/local/hadoop' >> /etc/profile.d/myEnv.sh |
# 分发到nn2、nn3、s1、s2、s3 |
还需要创建
/data这个目录,由于nn1、nn2、nn3已经创建/data,其他三台需要创建一下
### 在s1、s2、s3执行 |
vim /usr/local/hadoop/etc/hadoop/core-site.xml |
<configuration> |
hdfs-site.xmlvim /usr/local/hadoop/etc/hadoop/hdfs-site.xml |
<configuration> |
hadoop-env.shvim /usr/local/hadoop/etc/hadoop/hadoop-env.sh |
# 添加这两行 |
scp_all.sh /usr/local/hadoop/etc/hadoop/core-site.xml /usr/local/hadoop/etc/hadoop/ |
需要先启动zookeeper集群
ssh_all_zookeeper.sh /usr/local/zookeeper/bin/zkServer.sh start |
# 第一次启动先启动journalnode,便于3个namenode的元数据同步 |
zkfc搭建
#在nn1节点执行 |
初始化nn1的namenode,在nn1执行
hdfs namenode -format |
格式化第二台和第三台namenode,并且启动namenode,在nn2、nn3执行
hdfs namenode -bootstrapStandby |
修改workers
vim /usr/local/hadoop/etc/hadoop/workers |
修改为
s1 |
分发给其他机器
scp_all.sh /usr/local/hadoop/etc/hadoop/workers /usr/local/hadoop/etc/hadoop |
启动datanode节点,在s1、s2、s3执行
#启动各个节点的datanode |
start-dfs.sh |
自从docker官方仓库在中国大陆被墙后,docker的部署方式也发生了改变。
解决docker安装问题:https://github.com/shenjianZ/docker_installer
安装docker
sudo curl -fsSL https://gitee.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh| bash -s docker --mirror Aliyun |
启动docker
sudo systemctl start docker |
设置开机自启
sudo systemctl enable docker |
Docker pull images
将image下载到阿里云镜像仓库中
解决docker pull 镜像问题:https://github.com/shenjianZ/docker_image_pusher
登录阿里云镜像服务 https://cr.console.aliyun.com/,
启用个人实例,创建一个命名空间(ALIYUN_NAME_SPACE)
在访问凭证 可以看到账号 用户名(ALIYUN_REGISTRY_USER)
密码(ALIYUN_REGISTRY_PASSWORD)
仓库地址(ALIYUN_REGISTRY)
启动Action
进入您自己的项目,点击Action,启用Github Action功能
配置环境变量
进入Settings->Secret and variables->Actions->New Repository secret
将上一步的四个值
ALIYUN_NAME_SPACE,
ALIYUN_REGISTRY_USER,
ALIYUN_REGISTRY_PASSWORD,
ALIYUN_REGISTRY
配置成环境变量
添加镜像
打开images.txt文件,添加你想要的镜像 可以加tag
使用镜像
回到阿里云,镜像仓库,点击任意镜像,可查看镜像状态。(可以改成公开,拉取镜像免登录)
"easycom":{ |
tui-sticky 吸顶容器包含 以下
tui组件 :
- tui-sticky
- tui-list-view
- tui-list-cell
<tui-sticky :scrollTop="scrollTop" stickyHeight="104rpx" container> |
cp ips ips_zookeeper |
nn1 |
cp scp_all.sh scp_all_zookeeper.sh |
vim scp_all_zookeeper.sh |
/tmp目录下,解压 sudo tar -zxvf /tmp/zookeeper-3.4.8.tar.gz -C /usr/local/ |
zoo.cfg配置
cd /usr/local/zookeeper/conf/ |
然后vim zoo.cfg,修改如下:
# 修改dataDir |
分发给nn2、nn3
scp_all_zookeeper.sh /usr/local/zookeeper/conf/zoo.cfg /usr/local/zookeeper/conf/
zkEnv.sh配置vim /usr/local/zookeeper/bin/zkEnv.sh
分发到nn2、nn3
scp_all_zookeeper.sh /usr/local/zookeeper/bin/zkEnv.sh /usr/local/zookeeper/bin/ |
创建zookeeper数据目录
ssh_root_zookeeper.sh mkdir -p /data/zookeeper |
创建myid文件
ssh nn1 'echo "1" > /data/zookeeper/myid' |
配置Zookeeper环境变量
# 在其他所有主机也执行 |
echo 'export ZOOKEEPER_HOME=/usr/local/zookeeper' >> /etc/profile.d/myEnv.sh |
# 分发到nn2、nn3 |
#启动zk服务 |
启动zookeeper客户端,并连接zookeeper集群 |
由于中国大陆的GFW(防火墙)限制,无法访问外网网络,因此需要访问像GitHub、YouTube这样的
的网站将被屏蔽拦截,接下来我将给出一种使用VPN服务的可行的方案来保证服务的可靠性。
根据测试,许多提供服务的提供商所在的网站需要使用
外部网络才能打开,仅有少部分的网站(比较贵)可以直接使用
国内网络环境打开直接购买订阅服务。
那么你现在可以有两个选择:
外部网络便能开通订阅服务的VPN,费用高,如果你选择此方案,那么你可自行搜索解决,此处仅仅讨论方案二。采用方案二方式
这是一些订阅服务推广的链接: https://9.234456.xyz/abc.html?t=638586217737356738 (此链接打开无需使用VPN,但进入对应的机场页面却仍无法打开)
此教程中我们使用的机场是
一元机场
可以看到
12元/年,每月50GB的可用额度,下个月重置流量额度15元/季,即为60元/年,每月有4000GB的可用额度,下个月重置流量额度7元/月,即为84元/年,每个月8000GB的可用额度,下个月重置流量额度12元/年,否则可以选择15元/季,这意味着每月将有4000GB的可用额度赔钱机场

赔钱机场的订阅共有9种方案,这里我仅显示自己正在使用的,个人认为十分优惠:
34.99元/年,每月500GB的可用额度,根据我观察和使用,这个订阅方案比一元机场的性价比更高,且流量使用额度也不用担心由于需要外部网络才能完成订阅服务的购买,你可以向我的邮箱15202078626@163.com发送你的订阅计划方案,
扫描付款二维码,我将为你开通订阅(您只需要付款对应的订阅金额即可)
]]>你可以在
Windows、Mac、Android等平台使用此服务
使用订阅的对应链接: https://flowus.cn/shenjian/22f76d4f-e7b3-4b8a-8a89-561566f6eb60