头歌(第五章 机器学习基本模型与算法在线实验闯关)

头歌(第五章 机器学习基本模型与算法在线实验闯关)

第1关:缺失值填充

任务描述
本关任务:读取“银行贷款审批数据.xlsx”表,自变量为x1-x15,决策变量为y(1-同意贷款,0-不同意贷款),其中x1-x6为数值变量,x7-x15为名义变量,请对x1-x6中存在的缺失值用均值策略填充,x7-x15用最频繁值策略填充。

#********** Begin **********#
# 读取“银行贷款审批数据.xlsx”表,自变量为x1~x15,决策变量为y(1-同意贷款,0-不同意贷款)
# 其中x1~x6为数值变量,x7~x15为名义变量
# 请对x1~x6中存在的缺失值用均值策略填充,x7~x15用最频繁值策略填充
# 最后返回填充处理后的X(即x1~x15),以及决策变量Y(即y)
import pandas as pd
def return_values():
    df = pd.read_excel("银行贷款审批数据.xlsx")
    df.fillna(df.mean(), inplace=True)
    for col in df.columns[6:]: 
        df[col].fillna(df[col].mode()[0], inplace=True)
    X = df.drop(columns=['y']) 
    Y = df['y'] 
    
    return X, Y
#********** End **********#

第2关:数据标准化

任务描述
本关任务:在第一关的基础上,对x1 ~ x6数值型变量作均值-方差标准化处理,需要注意的是x7~x15名义变量不需要作标准化处理。

#********** Begin **********#
#在上一关的基础上,对自变量X中的数值变量(x1~x6)作均值-方差标准化处理
# 需要注意的是x7~x15名义变量不需要作标准化处理
# 返回结果X1,数据结构为数组形式
# X1中含有标准化后的x1~x6和未标准化的x7~x15
import pandas as pd
from sklearn.preprocessing import StandardScaler
import numpy as np
def return_values():
    df = pd.read_excel("银行贷款审批数据.xlsx")
    df.fillna(df.mean(), inplace=True)
    for col in df.columns[6:]:
        df[col].fillna(df[col].mode()[0], inplace=True)
    numerical_cols = ['x1', 'x2', 'x3', 'x4', 'x5', 'x6']
    categorical_cols = ['x7', 'x8', 'x9', 'x10', 'x11', 'x12', 'x13', 'x14', 'x15']
    scaler = StandardScaler()
    df[numerical_cols] = scaler.fit_transform(df[numerical_cols])
    X1 = df[numerical_cols + categorical_cols].values
    return X1
#********** End **********#

第3关:支持向量机分类模型及其应用

任务描述
本关任务:基于关卡2基础上,取数据集前600条记录作为训练数据,后90条记录作为测试数据,构建支持向量机模型,输出其模型准确率和预测准确率。

#********** Begin **********#
#在上一关基础,对经过缺失值填充、数值变量标准化后的数据集,取前600条记录作为训练数据,后90条记录作为测试数据
#构建支持向量机模型,返回计算结果模型准确率rv和预测准确率r
def return_values():
    import numpy as np
    X1=np.load('X1.npy') #经过缺失值填充、数值变量标准化后的数据集,numpy数组690*15
    Y=np.load('Y.npy')   #因变量,numpy数组,690个元素
    from sklearn.svm import SVC
    x1 = X1[:600, :]
    y1 = Y[:600]
    x2 = X1[600:, :]
    y2 = Y[600:]
    clf = SVC(kernel='rbf')
    clf.fit(x1, y1)
    rv = clf.score(x1, y1)
    r = clf.score(x2, y2)
    return(rv,r)
#********** End **********#

第4关:逻辑回归模型及其应用

任务描述
本关任务:以澳大利亚信贷批准数据集为本关数据集,划分前600为训练数据集,后90数据为测试数据集,利用逻辑回归模型预测及输出准确率。

### 关于机器学习基本模型算法在线实验闯关指南 在探索机器学习领域时,掌握基础模型算法至关重要。以下是针对平台第五章机器学习 基本模型算法》的相关资源和建议: #### 一、基础知识回顾 机器学习的核心在于数据预处理和算法选择。不同的数据特征可能适合不同类型的算法,因此需要灵活运用多种技术来提升性能[^1]。 #### 二、实践平台推荐 对于初学者来说,在线实验平台提供了丰富的练习机会。例如,平台上的章节设计通常围绕以下几个方面展开: - **数据集准备**:熟悉如何加载并清理数据。 - **模型训练**:尝试使用经典算法如线性回归、决策树和支持向量机等。 - **评估指标计算**:了解准确率、召回率、F1分数的意义及其应用场景。 #### 三、具体操作流程说明 下面是一个简单的Python脚本示例用于演示如何构建一个完整的机器学习工作流: ```python import pandas as pd from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score # 加载数据 data = pd.read_csv('example.csv') X = data.drop(columns=['target']) y = data['target'] # 划分训练集测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2) # 初始化分类器 clf = DecisionTreeClassifier() # 训练模型 clf.fit(X_train, y_train) # 预测结果 predictions = clf.predict(X_test) # 输出精度得分 print(f'Accuracy: {accuracy_score(y_test, predictions)}') ``` 此代码片段展示了从读取文件到最终打印出模型表现的过程。 #### 四、高级功能拓展 随着技能的增长,可以考虑引入更复杂的机制比如根因分析或者利用图数据库存储复杂网络结构的信息][^[^23]。另外,如果涉及强化学习,则需注意理解背后涉及到的一些数学原理,像信息熵之类的概念可能会频繁出现[^4]。 #### 五、注意事项 当执行任何数值运算时务必小心浮点误差的影响;即使看似简单的小数也可能因为计算机内部表示方式而引发意外情况[^5]。 ---
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值