动手学数据分析 :数据建模和评估Task05

1 建模建立和评估

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from IPython.display import Image
%matplotlib inline
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
plt.rcParams['figure.figsize'] = (10, 6)  # 设置输出图片大小

载入我们提供清洗之后的数据(clear_data.csv),大家也将原始数据载入(train.csv)

#加载数据clear_data.csv
data=pd.read_csv('clear_data.csv')
print(data.shape)
data.info()
(891, 11)
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 11 columns):
 #   Column       Non-Null Count  Dtype  
---  ------       --------------  -----  
 0   PassengerId  891 non-null    int64  
 1   Pclass       891 non-null    int64  
 2   Age          891 non-null    float64
 3   SibSp        891 non-null    int64  
 4   Parch        891 non-null    int64  
 5   Fare         891 non-null    float64
 6   Sex_female   891 non-null    int64  
 7   Sex_male     891 non-null    int64  
 8   Embarked_C   891 non-null    int64  
 9   Embarked_Q   891 non-null    int64  
 10  Embarked_S   891 non-null    int64  
dtypes: float64(2), int64(9)
memory usage: 76.7 KB
#加载数据train.csv
train=pd.read_csv('train.csv')
print(train.shape)
train.info()
(891, 12)
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):
 #   Column       Non-Null Count  Dtype  
---  ------       --------------  -----  
 0   PassengerId  891 non-null    int64  
 1   Survived     891 non-null    int64  
 2   Pclass       891 non-null    int64  
 3   Name         891 non-null    object 
 4   Sex          891 non-null    object 
 5   Age          714 non-null    float64
 6   SibSp        891 non-null    int64  
 7   Parch        891 non-null    int64  
 8   Ticket       891 non-null    object 
 9   Fare         891 non-null    float64
 10  Cabin        204 non-null    object 
 11  Embarked     889 non-null    object 
dtypes: float64(2), int64(5), object(5)
memory usage: 83.7+ KB

1.1模型搭建

下面给出sklearn的算法选择路径,供大家参考

# sklearn模型算法选择路径图
Image('sklearn.png')

在这里插入图片描述

切割训练集和测试集

这里使用留出法划分数据集

  • 将数据集分为自变量和因变量
  • 按比例切割训练集和测试集(一般测试集的比例有30%、25%、20%、15%和10%)
  • 使用分层抽样
  • 设置随机种子以便结果能复现

提示

  • 切割数据集是为了后续能评估模型泛化能力
  • sklearn中切割数据集的方法为train_test_split
  • 查看函数文档可以在jupyter noteboo里面使用train_test_split?后回车即可看到
  • 分层和随机种子在参数里寻找

要从clear_data.csv和train.csv中提取train_test_split()所需的参数

#导入库
from sklearn.model_selection import train_test_split
X=data               #数据
y=train['Survived']   #预测标签
#数据集切分

#stratify是为了保持split前类的分布,将stratify&
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python数据挖掘建模中的聚类是一种将数据集中的样本分成不同的簇或类别的技术。聚类算法可以帮助我们发现数据中的隐藏模式和结构,从而更好地理解数据。其中一种常用的聚类算法是K-Means算法。 在Python中实现K-Means聚类算法需要以下几个步骤: 1. 导入数据并进行标准化:首先,需要导入数据集并进行标准化处理。标准化可以使得不同特征之间的值具有相同的尺度,避免某些特征对聚类结果的影响过大。 2. 构建K-Means模型:使用sklearn库中的KMeans类,设置聚类的类别数k,并指定一些参数如最大循环次数和随机种子等。然后,使用.fit()方法拟合模型并进行聚类。 3. 分析聚类结果:根据聚类结果,可以进行一些进一步的分析,如查看每个簇的样本数量、簇的聚类中心等。可以使用聚类模型的属性和方法来获取这些信息。 需要注意的是,在聚类分析中,评估聚类模型结果的好坏是比较主观的,通常需要根据具体问题来判断。常用的评估指标有轮廓系数和内部评价指标等,可以根据需要选择适合的评估方法。 综上所述,Python数据挖掘建模中的聚类可以帮助我们发现数据集中的模式和结构,并根据聚类结果进行进一步的分析和应用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【Python数据分析】数据挖掘建模——聚类分析](https://blog.csdn.net/weixin_41168304/article/details/122747347)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [代码实操:Python聚类分析](https://download.csdn.net/download/weixin_44510615/88231861)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值