RFC20:网络交换的ASCII格式标准

需积分: 0 0 下载量 32 浏览量 更新于2024-09-09 收藏 71KB DOC 举报
"RFC20 是一个关于网络交换中使用的 ASCII 格式的文档,由 Vint Cerf 在 1969 年发布。该文档旨在定义和标准化 ASCII(美国标准信息交换代码)在网络通信中的应用,以确保不同主机间的数据交换能够顺利进行。文档包含了字符的表示方式、代码的确定方法、控制符和图形符号的图例,以及相关定义和共识。" 在 RFC20 中,重点讲述了以下几个关键知识点: 1. **使用范围**:ASCII 格式被应用于信息处理系统、通信系统和相关设备之间的信息交换,确保不同系统的兼容性和数据的一致性。 2. **标准代码**:ASCII 代码是基于7位的二进制系统,但 RFC20 提出在网络交换中使用8位码,其中最高位为0,其余7位对应标准7位ASCII码。这样的设计允许直接使用 USAS X3.4-1968 中定义的编码,同时提供了识别不同主机间行结束字符的方法。例如,SRI 使用 ASCII 的 "." (X'2E') 作为行结束,而 UCLA 使用 CR (X'OD' 或 0/13)。 3. **字符表述与代码确定**:ASCII 代码通过特定的二进制排列来表示不同的字符,如文档中展示的表格,显示了不同位(b1 到 b7)如何组合成特定的字符代码。 4. **图例**:分为控制符和图形符号两个部分,详细列举了各种字符的ASCII代码,如控制符用于终端控制和文本格式化,图形符号则包括常用的字母、数字和标点符号等。 5. **定义**:文档对“概述”、“控制符”和“图形字符”进行了定义,解释了它们在网络通信中的作用和使用规则。控制符通常用于设备控制,比如换行、回车,而图形字符则是用户可见的文字和符号。 6. **共识**:RFC20 强调了在行业内达成的共识,即采用统一的 ASCII 格式,以促进网络间的互操作性。 RFC20 是网络通信领域的基础性规范,它确保了不同系统和设备之间的信息交换能够以一种标准化的方式进行,为后来的互联网发展奠定了基础。通过这个文档,开发者和工程师可以理解如何正确地使用 ASCII 编码来传输和解析数据。
2023-06-09 上传
2023-05-29 上传

import matplotlib.pyplot as plt import pandas as pd import seaborn as sns from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import accuracy_score from sklearn.model_selection import train_test_split # 读取训练集和测试集数据 train_data = pd.read_csv(r'C:\ADULT\Titanic\train.csv') test_data = pd.read_csv(r'C:\ADULT\Titanic\test.csv') # 统计训练集和测试集缺失值数目 print(train_data.isnull().sum()) print(test_data.isnull().sum()) # 处理 Age, Fare 和 Embarked 缺失值 most_lists = ['Age', 'Fare', 'Embarked'] for col in most_lists: train_data[col] = train_data[col].fillna(train_data[col].mode()[0]) test_data[col] = test_data[col].fillna(test_data[col].mode()[0]) # 拆分 X, Y 数据并将分类变量 one-hot 编码 y_train_data = train_data['Survived'] features = ['Pclass', 'Age', 'SibSp', 'Parch', 'Fare', 'Sex', 'Embarked'] X_train_data = pd.get_dummies(train_data[features]) X_test_data = pd.get_dummies(test_data[features]) # 合并训练集 Y 和 X 数据,并创建乘客信息分类变量 train_data_selected = pd.concat([y_train_data, X_train_data], axis=1) print(train_data_selected) cate_features = ['Pclass', 'SibSp', 'Parch', 'Sex', 'Embarked', 'Age_category', 'Fare_category'] train_data['Age_category'] = pd.cut(train_data.Fare, bins=range(0, 100, 10)).astype(str) train_data['Fare_category'] = pd.cut(train_data.Fare, bins=list(range(-20, 110, 20)) + [800]).astype(str) print(train_data) # 统计各分类变量的分布并作出可视化呈现 plt.figure(figsize=(18, 16)) plt.subplots_adjust(hspace=0.3, wspace=0.3) for i, cate_feature in enumerate(cate_features): plt.subplot(7, 2, 2 * i + 1) sns.histplot(x=cate_feature, data=train_data, stat="density") plt.xlabel(cate_feature) plt.ylabel('Density') plt.subplot(7, 2, 2 * i + 2) sns.lineplot(x=cate_feature, y='Survived', data=train_data) plt.xlabel(cate_feature) plt.ylabel('Survived') plt.show() # 绘制点状的相关系数热图 plt.figure(figsize=(12, 8)) sns.heatmap(train_data_selected.corr(), vmin=-1, vmax=1, annot=True) plt.show() sourceRow = 891 output = pd.DataFrame({'PassengerId': test_data.PassengerId, 'Survived': predictions}) output.head() # 保存结果 output.to_csv('gender_submission.csv', index=False) print(output) train_X, test_X, train_y, test_y = train_test_split(X_train_data, y_train_data, train_size=0.8, random_state=42) print("随机森林分类结果") y_pred_train1 = train_data.predict(train_X) y_pred_test1 = train_data.predict(test_X) accuracy_train1 = accuracy_score(train_y, y_pred_train1) accuracy_test1 = accuracy_score(test_y, y_pred_test1) print("训练集——随机森林分类器准确率为:", accuracy_train1) print("测试集——随机森林分类器准确率为:", accuracy_train1)

2023-06-07 上传

# 导入相关库 import pandas as pd import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score,roc_auc_score,roc_curve # 读取数据 df = pd.read_csv('C:/Users/E15/Desktop/机器学习作业/第一次作业/第一次作业/三个数据集/Titanic泰坦尼克号.csv') # 数据预处理 df = df.drop(["Name", "Ticket", "Cabin"], axis=1) # 删除无用特征 df = pd.get_dummies(df, columns=["Sex", "Embarked"]) # 将分类特征转换成独热编码 df = df.fillna(df.mean()) # 使用平均值填充缺失值 # 划分数据集 X = df.drop(["Survived"], axis=1) y = df["Survived"] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 决策树 dtc = DecisionTreeClassifier(random_state=42) dtc.fit(X_train, y_train) y_pred_dtc = dtc.predict(X_test) # 剪枝决策树 pruned_dtc = DecisionTreeClassifier(random_state=42, ccp_alpha=0.015) pruned_dtc.fit(X_train, y_train) y_pred_pruned_dtc = pruned_dtc.predict(X_test) # 随机森林 rfc = RandomForestClassifier(n_estimators=100, random_state=42) rfc.fit(X_train, y_train) y_pred_rfc = rfc.predict(X_test) # 计算评价指标 metrics = {"Accuracy": accuracy_score, "Precision": precision_score, "Recall": recall_score, "F1-Score": f1_score, "AUC": roc_auc_score} results = {} for key in metrics.keys(): if key == "AUC": results[key] = {"Decision Tree": roc_auc_score(y_test, y_pred_dtc), "Pruned Decision Tree": roc_auc_score(y_test, y_pred_pruned_dtc), "Random Forest": roc_auc_score(y_test, y_pred_rfc)} else: results[key] = {"Decision Tree": metrics[key](y_test, y_pred_dtc), "Pruned Decision Tree": metrics[key](y_test, y_pred_pruned_dtc), "Random Forest": metrics[key](y_test, y_pred_rfc)} # 打印评价指标的表格 results_df = pd.DataFrame(results) print(results_df)怎么打印auv图

2023-06-09 上传