import pandas as pd data = pd.read_csv('adult.data', header=None) # 数据预处理 # 去除缺失值 data = data.dropna() # 数据类型转换 data[[0, 2, 4, 10, 11, 12]] = data[[0, 2, 4, 10, 11, 12]].apply(pd.to_numeric) # 特征选择 selected_features = [0, 2, 4, 10, 11, 12, 1, 3, 5, 6, 7, 8, 9] data = data[selected_features] # 数据标准化 from sklearn.preprocessing import StandardScaler scaler = StandardScaler() data[[0, 2, 10, 11, 12]] = scaler.fit_transform(data[[0, 2, 10, 11, 12]]) # 数据编码 data = pd.get_dummies(data) # 将数据集分为训练集和测试集 from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(data.drop(['<=50K', '>50K'], axis=1), data['<=50K'], test_size=0.2, random_state=42) # 使用决策树算法对训练集进行训练 from sklearn.tree import DecisionTreeClassifier clf = DecisionTreeClassifier() clf.fit(X_train, y_train) # 对测试集进行预测,计算准确率和召回率 from sklearn.metrics import accuracy_score, recall_score y_pred = clf.predict(X_test) accuracy = accuracy_score(y_test, y_pred) recall = recall_score(y_test, y_pred) # 输出分类结果 print('Accuracy:', accuracy) print('Recall:', recall)
时间: 2024-01-14 21:02:51 浏览: 73
快速解决pandas.read_csv()乱码的问题
5星 · 资源好评率100%
这段代码使用了机器学习中的决策树算法来对成年人收入进行分类,将数据集分为训练集和测试集后,使用训练集进行模型训练,然后使用测试集进行预测,并计算准确率和召回率。其中,数据预处理包括去除缺失值、数据类型转换、特征选择、数据标准化和数据编码。准确率和召回率是评估分类模型效果的指标,准确率反映了分类器正确分类的样本数占总样本数的比例,召回率反映了分类器正确预测为正例的样本数占所有正例样本数的比例。
阅读全文