ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

机器学习python入门

2022-07-21 22:33:19  阅读:210  来源: 互联网

标签:机器 入门 python 数值 train pd test import data


机器学习Python实战

库导入

python三大件

np : 数据计算 pd : 数据库 plt : 画图

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

图形可视化库:sns

import seaborn as sns

教程链接:https://zhuanlan.zhihu.com/p/49035741

算法模型库:sklearn

from sklearn.ensemble import RandomForestClassifier

数据导入

  • pandas库用于读入原始数据

    path = 'LogiReg_data.txt'
    pdData=pd.read_csv(path, header=None,names=['Exam1','Exam2','Admitted'])
    pdData.head()
    

数据命名

  • 训练集 train_data
  • 测试集 test_data
  • 处理过后 通常将train_data赋值给X, test_data赋值给X_test
  • 目标结果集 target
训练集 测试集 目标值
train_data test_data target
X X_test y

随机划分数据集

sklearn库中的 train_test_split()函数随机划分训练集和测试集

X_train,x_test = train_test_split(x)
X_train, X_test, y_train, y_test = train(X,y, random_state = 0)
  • random_state: 随机数的编号,在需要重复试验的时候,保证得到一组一样的随机数。
    • 每次都填1,其他参数一样的情况下得到的随机数组是一样的。
    • 填0或不填,每次都会不一样。

数据预处理

缺失值处理

  1. 使用pandas中的fillna()函数填充NaN空缺值

    • 通常情况下,可以填充为0
    • 但比如年龄这类数值不建议填充为0时,将其填充为一个无意义数值,如:-1
    X = pd.get_dummies(train_data[features].fillna(-1))
    X_test = pd.get_dummies(test_data[features].fillna(-1))
    
  1. 使用Pandas中dropna(axis=0)函数直接去除缺失值所在记录

    • 比如训练数据的目标值值缺失时,y为NaN, 可以直接扔掉该记录
    • axis:轴。
      • 0或'index',表示按行删除;
      • 1或'columns',表示按列删除。
    filtered_data = origin_data.dropna(axis=0)
    

非数值型属性处理

  • 将分类型字符串转换为数值

  • 离散化独热编码one-hot

    pd.get_dummies(train_data[])
    

    有几种属性状态就生成几列0-1判别值,是该类为1,其他列全为0,实现以数字分类

    如:Sex属性状态有:male、female

    ​ 分别分为两列:Sex_male、Sex_female

    ​ 通过列内0-1取值实现数值化字符串

标签:机器,入门,python,数值,train,pd,test,import,data
来源: https://www.cnblogs.com/tow1/p/16503822.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有