机器学习(自然语言处理)—表的处理

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_基础版,每接口每天50万次
NLP自然语言处理_高级版,每接口累计50万次
简介: 机器学习(自然语言处理)—表的处理

数据处理项目经验:(数据处理时需要用到python中的pandas和numpy)

  1. 第一步,将项目所需表头所在的总表读入并赋值,代码如下:
data_info =  pd.read_csv('***********.csv(此处输入的是表头总表所在的绝对路径)')


2. 第二步,将所有表的相关表头信息分开从总表头表中提取出来并分别进行赋值

columns_info=data_info[data_info['文件名'] == '数据表名']['字段英文名']
columns_debit=data_info[data_info['文件名'] == '数据表名']['字段英文名']
columns_credit=data_info[data_info['文件名'] == '数据表名']['字段英文名']


  1. 第三步,将所需要处理的所有dat表进行读入训练集和测试集:
训练集:
df_basicinfo = pd.read_table('此处为dat表所在地址/表的名称.dat',sep='\|@\|',header = None,engine = 'python')
df_debit = pd.read_table('此处为dat表所在的地址/表的名称.dat',sep='\|@\|',header = None,engine = 'python')
df_credit = pd.read_table('此处为dat表所在的地址/表的名称.dat',sep='\|@\|',header = None,engine = 'python')
测试集:
test_a_basicinfo = pd.read_table('dat表所在的地址/表的名称.dat',sep='\|@\|',header = None,engine = 'python')
test_a_debit = pd.read_table('dat表所在的地址/表的名称.dat',sep='\|@\|',header = None,engine = 'python')
test_a_credit = pd.read_table('dat表所在的地址/表的名称.dat',sep='\|@\|',header = None,engine = 'python')


重要提示信息:

(可以讲dat表转化为csv表,转换方式为如下:)

import os
path_0 =r"此处为dat表所在的绝对路径"
path_1 = r"此处为转化为csv文件后所保存的路径"
filelist = os.listdir(path_0)
for files in filelist:
    dir_path = os.path.join(path_0, files)
    #分离文件名和文件类型
    file_name = os.path.splitext(files)[0] #文件名
    file_type = os.path.splitext(files)[1]  #文件类型
    print(dir_path)
    file_test = open(dir_path,'rb')
    #将.dat文件转为.csv文件
    new_dir = os.path.join(path_1,str(file_name)+'.csv')
    print(new_dir)
    file_test2 = open(new_dir,'w')
    for lines in file_test.readlines():
        #str_data = ",".join(lines.split('|@|'))
        #file_test2.write(str_data)
        str_lines=lines.decode('utf-8')
        file_test2.write(str_lines)
    file_test.close()
    file_test2.close()    
#if  file_type == '.dat':
#    file_test = open(dir_path,'rb')
#    #将.dat文件转为.csv文件
#    new_dir = os.path.join(path_1,str(file_name)+'.csv')
#    print(new_dir)
#    file_test2 = open(new_dir,'wb')
#    for lines in file_test.readlines():
#        lines=line.decode()
#        str_data = ",".join(lines.split('|@|'))
#        file_test2.write(str_data.encode("utf-8"))
#    file_test.close()
#    file_test2.close()


  1. 第四步,将表头分别在每张表中进行显示(以列表的形式)
df_basicinfo.columns = (list(columns_info))
df_credit.columns = (list(columns_credit))
df_debit.columns = (list(columns_debit))
test_a_basicinfo.columns = (list(columns_info_notarget))
test_a_credit.columns = (list(columns_credit))
test_a_debit.columns = (list(columns_debit))

注意:

1.删除列的时候为axis=0,删除行的时候axis=1 *.drop(,axis=0)

2.表名.describe()表示是查看表的信息

3.表名.shape表示的是查看表多少行和列 4.aa[‘cust_no’] == 85115,该句表示的是查找该表中值为85115 出现的次数

5.合并表的代码是pd.merge(表一,表二,on=“此处填写的是两张表之间通过哪个字段进行连 接,比如通过id”)

6.查看超过100列的表的所有列信息 m.info(verbose=True,null_counts=True) (m是表,该表大于100列)


第五步,对表中的数据进行处理,包括数字型以及类别型的特征,可以使用两种方式:

第一种方式:先将数字型和类别型的数据进行划分


numerical_fea = list(n.select_dtypes(exclude=['object']).columns)

category_fea = list(filter(lambda x: x not in numerical_fea,list(n.columns)))

然后对不同种类的数据进行处理


#按照中位数填充数值型特征


n[numerical_fea] = n[numerical_fea].fillna(n[numerical_fea].median())


#按照众数填充类别型特征


n[category_fea] = n[category_fea].fillna(n[category_fea].mode())


第二种方式: 通过字符编码函数对object对象进行处理

通过字符编码函数对object对象进行处理
  #字典编码函数
        def change_object_cols(se):
            value = se.unique().tolist()
            value. sort()
            return se.map(pd.Series(range(len(value)), index=value)).values
  通过调用函数来对所有的该类对象进行处理
  for col in ["此处书写的是表中的所有该类对象"]:
            data_train[col] = change_object_cols(data_train[col].astype(str))


  1. 第六步,数据集和测试集的划分以及模型的选取
需要去测试的值称为标签值,除去标签值以外的所有值称为特征值
   下面对标签值和特征值进行分割:
    feature = 表名.drop(columns=['target'])
    feature.head()
    target = 表名['target']
                target.head()
相关文章
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习中的自然语言处理
在这篇文章中,我们将深入探讨自然语言处理(NLP)在机器学习中的应用。NLP是人工智能的一个分支,它使计算机能够理解、解释和生成人类语言。我们将通过Python编程语言和一些流行的库如NLTK和spaCy来实现一些基本的NLP任务。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息。
|
2月前
|
机器学习/深度学习 自然语言处理 语音技术
探索机器学习中的自然语言处理技术
【10月更文挑战第38天】在本文中,我们将深入探讨自然语言处理(NLP)技术及其在机器学习领域的应用。通过浅显易懂的语言和生动的比喻,我们将揭示NLP技术的奥秘,包括其工作原理、主要任务以及面临的挑战。此外,我们还将分享一些实用的代码示例,帮助您更好地理解和掌握这一技术。无论您是初学者还是有经验的开发者,相信您都能从本文中获得宝贵的知识和启示。
42 3
|
5月前
|
机器学习/深度学习 自然语言处理 算法
【数据挖掘】百度机器学习-数据挖掘-自然语言处理工程师 历史笔试详解
文章汇总并解析了百度机器学习/数据挖掘工程师/自然语言处理工程师历史笔试题目,覆盖了多分类任务激活函数、TCP首部确认号字段、GMM-HMM模型、朴素贝叶斯模型、SGD随机梯度下降法、随机森林算法、强连通图、红黑树和完全二叉树的高度、最长公共前后缀、冒泡排序比较次数、C4.5属性划分标准、语言模型类型、分词算法、贝叶斯决策理论、样本信息熵、数据降维方法、分箱方法、物理地址计算、分时系统响应时间分析、小顶堆删除调整等多个知识点。
49 1
【数据挖掘】百度机器学习-数据挖掘-自然语言处理工程师 历史笔试详解
|
5月前
|
机器学习/深度学习 数据采集 自然语言处理
打造个性化新闻推荐系统:机器学习与自然语言处理的结合Java中的异常处理:从基础到高级
【8月更文挑战第27天】在信息过载的时代,个性化新闻推荐系统成为解决信息筛选难题的关键工具。本文将深入探讨如何利用机器学习和自然语言处理技术构建一个高效的新闻推荐系统。我们将从理论基础出发,逐步介绍数据预处理、模型选择、特征工程,以及推荐算法的实现,最终通过实际代码示例来展示如何将这些理论应用于实践,以实现精准的个性化内容推荐。
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习在自然语言处理中的应用
【8月更文挑战第22天】本文将深入探讨机器学习技术如何革新自然语言处理领域,从基础概念到高级应用,揭示其背后的原理和未来趋势。通过分析机器学习模型如何处理、理解和生成人类语言,我们将展示这一技术如何塑造我们的沟通方式,并讨论它带来的挑战与机遇。
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习中的自然语言处理技术
【7月更文挑战第40天】 随着人工智能的迅猛发展,自然语言处理(NLP)作为机器学习领域的重要分支,正逐渐改变我们与机器的互动方式。本文将深入探讨NLP的核心概念、关键技术以及在现实世界中的应用案例。我们将从基础原理出发,解析NLP如何处理和理解人类语言,并讨论最新的模型和算法如何提升NLP的性能。最后,通过几个实际应用场景的分析,展望NLP在未来可能带来的变革。
|
6月前
|
机器学习/深度学习 自然语言处理 数据挖掘
探索机器学习中的自然语言处理技术
【7月更文挑战第31天】本文深入探讨了自然语言处理(NLP)在机器学习领域的应用,包括其定义、重要性以及面临的挑战。文章进一步介绍了NLP的基本任务和常用技术,并通过实例展示了如何利用这些技术解决实际问题。最后,本文展望了NLP的未来发展方向和潜在影响。
|
5月前
|
机器学习/深度学习 自然语言处理 算法
【数据挖掘】百度机器学习-数据挖掘-自然语言处理工程师 2023届校招笔试详解
百度2023届校招机器学习/数据挖掘/自然语言处理工程师笔试的题目详解
90 1
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习中的自然语言处理技术
【7月更文挑战第25天】自然语言处理(NLP)是机器学习领域的一个重要分支,它致力于让计算机能够理解、解释和生成人类语言。本文将深入探讨NLP的基本原理、关键技术以及在现实世界中的应用实例,旨在为读者提供一个全面的NLP技术概览,并展示其在现代科技中的重要性和应用前景。
|
5月前
|
机器学习/深度学习 数据采集 自然语言处理
【NLP】讯飞英文学术论文分类挑战赛Top10开源多方案–4 机器学习LGB 方案
在讯飞英文学术论文分类挑战赛中使用LightGBM模型进行文本分类的方案,包括数据预处理、特征提取、模型训练及多折交叉验证等步骤,并提供了相关的代码实现。
60 0

热门文章

最新文章