集成学习
Bagging随机森林
Random-Forest 就是Bagging + Decisiontree
1234567891011121314151617181920212223242526272829303132333435import seaborn as snsimport pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_split,GridSearchCVfrom sklearn.feature_extraction import DictVectorizerfrom sklearn.ensemble import RandomForestClassifier# 1.获取数据集 - 加载 Titanic 数据集titanic = sns.load_dataset('titanic')missing_age_count = titanic['age'].isna().sum()# print(f"缺失的 age 数量: ...
决策树算法
C4.5C4.5 是一种用于生成决策树的算法,不再使用信息增益,而是使用信息增益比,来避免偏向于选择取值较多的特征。信息增益比是信息增益与特征的熵的比值。
ID3D3 是一种基于信息增益(Information Gain)的决策树算法
CartCART(分类与回归树)一种决策树算法,,CART 使用 二叉树结构,即每个节点只能有两个子节点。
cart剪枝CART 决策树的剪枝方法分为 预剪枝(Pre-pruning)和 后剪枝(Post-pruning)两种:
预剪枝:预剪枝是在构建决策树时就决定是否停止进一步划分某个节点。主要通过以下标准来控制:
当某个节点的样本数小于某个阈值时,不再继续划分。
当某个节点的 Gini 不纯度小于某个阈值时,不再继续划分。预剪枝的优点是能够减少计算量,但缺点是可能会导致模型不够复杂,从而产生欠拟合。
后剪枝:后剪枝是在决策树完全构建出来之后,对树进行修剪。具体过程如下:
构建完整的决策树。
从叶子节点开始,逐渐向上遍历树的每个节点。
对每个节点进行判断,是否合适剪去该节点及其子树。如果剪去该子树后,模型的性能没有显著下降,就可以剪枝。后剪枝通过 ...
逻辑回归
logistic regression code1234567891011121314151617181920212223242526272829303132333435import pandas as pdimport numpy as npfrom sklearn.datasets import load_breast_cancerfrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import StandardScalerfrom sklearn.linear_model import LogisticRegression# 1. 加载乳腺癌数据集data = load_breast_cancer()# 2.1 数据集基本处理df = pd.DataFrame(data.data, columns=data.feature_names)df['target'] = data.targetfor i in df.columns: # 检查列是否有缺失 ...
线性回归
线性回归简介
用于预测一个连续的目标变量(因变量),与一个或多个特征(自变量)之间存在线性关系。
假设函数:$$y = w_1x_1 + w_2x_2 + \cdot\cdot\cdot+w_nx_n$$
$y$ 是目标变量(因变量),即我们希望预测的值。
$x1,x2,…,xn$ 是特征变量(自变量),即输入的值。
损失函数为了找到最佳的线性模型,我们需要通过最小化损失函数来优化模型参数。在线性回归中,常用的损失函数是 均方误差(MSE):$$J(\theta) = \frac{1}{2N} \sum_{i=1}^{N} (y_i - f_\theta(x_i))^2$$
N 是样本的数量。
$y_i$ 是第 i 个样本的真实值。
$f_\theta(x_i)$ 是模型预测的第 i 个样本的值。
线性回归优化
梯度下降法
123456789101112131415161718192021222324252627282930from sklearn.datasets import fetch_california_housingfro ...
C lang
c lang在windows下的开发(VS code)WinLibs - GCC+MinGW-w64 compiler for Windows下载你需要的版本解压到D:\ProgramModule,并将 bin\加入环境变量PATH打开新的Terminal输入gcc -v,查看gcc是否安装成功在VS code 的插件管理下载Code Runner、C\C++这两个插件在*.c源文件的内容区,右键点击Run Code ,即可运行成功
数据类型
整数类型1234567891011 short a = 12; int b = 100; long c = 1000L; long long d = 1000000LL; unsigned int e = 10; printf("a: %hd\n",a); printf("b: %d\n",b); printf("c: %ld\n",c); printf("d: %lld\n",d); printf(&quo ...
k近邻算法(K-Nearest Neighbors)KNN
k近邻算法(K-Nearest Neighbors)KNN将当前样本的类别归类于距离最近的k个样本的类别
距离公式(2维)
欧式距离$$d = \sqrt{(x_1-y_1)^2 + (x_2 - y_2)^2}$$
曼哈顿距离$$d = |x_1 - x_2| + |y_1 - y_2|$$
切比雪夫距离$$d = \max\left(|x_1 - x_2|, |y_1 - y_2|\right)$$
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 ...
Hadoop集群Zookeeper配置
Zookeeper脚本配置
拷贝ips1cp ips ips_zookeeper
修改为123nn1nn2nn3
拷贝三个脚本123cp scp_all.sh scp_all_zookeeper.sh cp ssh_all.sh ssh_all_zookeeper.sh cp ssh_root.sh ssh_root_zookeeper.sh
修改脚本123vim scp_all_zookeeper.sh vim ssh_all_zookeeper.sh vim ssh_root_zookeeper.sh
将三个脚本中的ips改为ips_zookeeper
Zookeeper安装
上传到/tmp目录下,解压 12345sudo tar -zxvf /tmp/zookeeper-3.4.8.tar.gz -C /usr/local/scp -r /usr/local/zookeeper-3.4.8/ root@nn2:/usr/local/scp -r /usr/local/zookeeper-3.4.8/ root@nn3:/usr/local/ssh_root_zookeepe ...
Hadoop集群HDFS配置
上传hadoop-3.1.4.tar.gz到/tmp,解压
注意在六台机器均上传到/tmp
12345# 在6台机器执行sudo tar -zxvf /tmp/hadoop-3.1.4.tar.gz -C /usr/local/# 分发到其他主机ssh_root.sh chown -R hadoop:hadoop /usr/local/hadoop-3.1.4ssh_root.sh ln -s /usr/local/hadoop-3.1.4/ /usr/local/hadoop
配置环境变量123echo 'export HADOOP_HOME=/usr/local/hadoop' >> /etc/profile.d/myEnv.shecho 'export PATH=$PATH:$HADOOP_HOME/bin' >> /etc/profile.d/myEnv.shecho 'export PATH=$PATH:$HADOOP_HOME/sbin' >> /etc/profile.d/m ...
Hadoop集群搭建基础环境
防火墙关闭123# 在 6 台主机执行systemctl stop firewalldsystemctl disable firewalld
配置yum源
下载 repo 文件:Centos-7.repo并上传到/tmp,进入到/tmp
备份并且替换系统的repo文件1234 cp Centos-7.repo /etc/yum.repos.d/ cd /etc/yum.repos.d/ mv CentOS-Base.repo CentOS-Base.repo.bak mv Centos-7.repo CentOS-Base.repo
将nn1上的CentOS-Base.repo拷贝到其他主机12345scp /etc/yum.repos.d/CentOS-Base.repo root@nn2:/etc/yum.repos.dscp /etc/yum.repos.d/CentOS-Base.repo root@nn3:/etc/yum.repos.dscp /etc/yum.repos.d/CentOS-Base.repo root@s1:/etc/yum.repos.dscp /et ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment

