Python 在机器学习中使用三种不同的标签

Python 在机器学习中使用三种不同的标签,python,pandas,machine-learning,sklearn-pandas,Python,Pandas,Machine Learning,Sklearn Pandas,我真的是机器学习的新手。我正在审阅在电子邮件中分离垃圾邮件或火腿值的代码。我在为另一个数据集设置代码时遇到问题。所以,我的数据集不仅仅有ham或spam值。我有两个不同的分类值(年龄和性别)。当我试图在下面的代码块中使用2个分类值时,我得到了一个错误,太多的值用于解包。我怎样才能把我的全部价值观付诸实践 from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_te

我真的是机器学习的新手。我正在审阅在电子邮件中分离垃圾邮件或火腿值的代码。我在为另一个数据集设置代码时遇到问题。所以,我的数据集不仅仅有ham或spam值。我有两个不同的分类值(年龄和性别)。当我试图在下面的代码块中使用2个分类值时,我得到了一个错误,太多的值用于解包。我怎样才能把我的全部价值观付诸实践

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test  = train_test_split(messages_bow, import_data['age'], import_data['gender'], test_size = 0.20, random_state = 0)
全部代码:

import numpy as np
import pandas
import nltk
from nltk.corpus import stopwords
import string

# Import Data.
import_data = pandas.read_csv('/root/Desktop/%20/%100.csv' , encoding='cp1252') 

# To See Columns Headers.
print(import_data.columns) 

# To Remove Duplications.
import_data.drop_duplicates(inplace = True) 

# To Find Data Size.
print(import_data.shape) 


#Tokenization (a list of tokens), will be used as the analyzer
#1.Punctuations are [!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~]
#2.Stop words in natural language processing, are useless words (data).
def process_text(text):
    '''
    What will be covered:
    1. Remove punctuation
    2. Remove stopwords
    3. Return list of clean text words
    '''

    #1
    nopunc = [char for char in text if char not in string.punctuation]
    nopunc = ''.join(nopunc)

    #2
    clean_words = [word for word in nopunc.split() if word.lower() not in stopwords.words('english')]

    #3
    return clean_words

#Show the Tokenization (a list of tokens )
print(import_data['text'].head().apply(process_text)) 

# Convert the text into a matrix of token counts.
from sklearn.feature_extraction.text import CountVectorizer 
messages_bow = CountVectorizer(analyzer=process_text).fit_transform(import_data['text']) 

#Split data into 80% training & 20% testing data sets

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test  = train_test_split(messages_bow, import_data['gender'], import_data['frequency'], test_size = 0.20, random_state = 0)

#Get the shape of messages_bow
print(messages_bow.shape)
将numpy导入为np
进口大熊猫
导入nltk
从nltk.corpus导入停止词
导入字符串
#导入数据。
import_data=pandas.read_csv('/root/Desktop/%20/%100.csv',encoding='cp1252')
#查看列标题。
打印(导入数据列)
#消除重复。
导入数据。删除重复项(就地=真)
#查找数据大小。
打印(导入数据.shape)
#令牌化(令牌列表)将用作分析器
#1.标点符号是[!“\$%&'()*+,-./:;?@[\]^{124;}]
#2.停止词在自然语言处理中,是无用词(数据)。
def过程_文本(文本):
'''
将涵盖的内容:
1.删除标点符号
2.删除停止字
3.返回干净文本词列表
'''
#1
nopunc=[如果字符不在字符串中,则在文本中字符对应字符。标点符号]
nopunc=''.join(nopunc)
#2
clean_words=[如果word.lower()不在stopwords.words('english')中,则nopunc.split()中的逐字逐句]
#3
返回干净的单词
#显示标记化(标记列表)
打印(导入数据['text'].head().apply(处理文本))
#将文本转换为令牌计数矩阵。
从sklearn.feature\u extraction.text导入countvectorier
messages\u bow=countvectorier(analyzer=process\u text).fit\u transform(导入数据['text'])
#将数据分成80%的培训数据集和20%的测试数据集
从sklearn.model\u选择导入列车\u测试\u拆分
X_序列、X_测试、y_序列、y_测试=序列测试分割(消息、导入数据['性别]、导入数据['频率]、测试大小=0.20、随机状态=0)
#获得消息的形状
打印(邮件形状)

train\u test\u split
将传递给它的每个参数拆分为train和test集。由于要拆分三种不同类型的数据,因此需要6个变量:

X_train, X_test, age_train, age_test, gender_train, gender_test = train_test_split(messages_bow, import_data['age'], import_data['gender'], test_size=0.20, random_state=0)

嘿,艾哈迈特,你在看哪个例子?你有链接吗?否则,你能插入一个样本数据吗?先生:)