新浪博客数据集:预测及训练文件上传分享

1 下载量 10 浏览量 更新于2024-12-11 收藏 356.97MB ZIP 举报
资源摘要信息:"Weibo_Data-数据集是基于新浪博客的数据,用于预测任务的数据集。该数据集分为两个主要部分,即训练数据集(weibo_train_data.csv和weibo_train_data.txt)和预测数据集(weibo_predict_data.csv和weibo_predict_data.txt)。数据集的使用者需要注意的是,使用该数据集时必须确保不侵犯版权,如果存在任何侵权问题,应立即联系数据集发布者并采取相应的删除措施。 数据集的格式包括.csv和.txt两种,分别代表逗号分隔值(Comma-Separated Values)文件和纯文本文件。CSV文件是一种常见的电子表格格式,用于存储表格数据,其中的数据由逗号分隔,可以被大多数电子表格和数据库软件读取和解析。而.txt文件则是纯文本格式,通常用于存储文本信息,可被任何文本编辑器打开和处理。 在机器学习和数据分析的场景中,此类数据集通常用于训练模型和进行预测。对于从事数据科学、机器学习、人工智能或相关领域的专业人士而言,新浪博客数据集可能包含文本信息、用户行为数据、时间戳、评论、点赞数等信息,这些都可以作为特征变量来构建预测模型。通过分析这些数据,模型可以学习到用户行为的模式,进而对未知数据做出预测。 具体到该数据集的使用,用户首先需要根据所选用的工具或平台对数据进行导入。在Python中,可以使用pandas库轻松导入CSV文件,而对于.txt文件,导入过程可能会涉及对数据的预处理,以确保数据格式正确无误。在数据预处理阶段,可能需要进行数据清洗、缺失值处理、异常值分析、特征编码等操作,以便为后续的分析和建模打下良好的基础。 在分析阶段,可能会运用文本挖掘和自然语言处理技术,如情感分析、主题建模、关键词提取等方法,对文本数据进行深入分析。同时,可能还会结合时间序列分析来研究用户行为随时间的变化趋势。构建模型时,根据预测任务的不同,可能会用到分类算法、回归分析、聚类算法等机器学习模型。 最后,数据集的发布者在声明中提到的侵权问题,指出了使用该数据集时需要注意的法律问题。用户在使用数据集之前,应确保数据的来源合法,并且不侵犯任何第三方的版权或其他知识产权。在实际操作中,应该遵循相关法律法规,尊重数据提供者的隐私和版权声明,确保数据的合法合规使用。如果存在疑问,及时与数据集提供者沟通是解决这些问题的有效途径。"
2021-03-29 上传

import pandas as pd data = pd.read_csv(C:\Users\Administrator\Desktop\pythonsjwj\weibo_senti_100k.csv') data = data.dropna(); data.shape data.head() import jieba data['data_cut'] = data['review'].apply(lambda x: list(jieba.cut(x))) data.head() with open('stopword.txt','r',encoding = 'utf-8') as f: stop = f.readlines() import re stop = [re.sub(' |\n|\ufeff','',r) for r in stop] data['data_after'] = [[i for i in s if i not in stop] for s in data['data_cut']] data.head() w = [] for i in data['data_after']: w.extend(i) num_data = pd.DataFrame(pd.Series(w).value_counts()) num_data['id'] = list(range(1,len(num_data)+1)) a = lambda x:list(num_data['id'][x]) data['vec'] = data['data_after'].apply(a) data.head() from wordcloud import WordCloud import matplotlib.pyplot as plt num_words = [''.join(i) for i in data['data_after']] num_words = ''.join(num_words) num_words= re.sub(' ','',num_words) num = pd.Series(jieba.lcut(num_words)).value_counts() wc_pic = WordCloud(background_color='white',font_path=r'C:\Windows\Fonts\simhei.ttf').fit_words(num) plt.figure(figsize=(10,10)) plt.imshow(wc_pic) plt.axis('off') plt.show() from sklearn.model_selection import train_test_split from keras.preprocessing import sequence maxlen = 128 vec_data = list(sequence.pad_sequences(data['vec'],maxlen=maxlen)) x,xt,y,yt = train_test_split(vec_data,data['label'],test_size = 0.2,random_state = 123) import numpy as np x = np.array(list(x)) y = np.array(list(y)) xt = np.array(list(xt)) yt = np.array(list(yt)) x=x[:2000,:] y=y[:2000] xt=xt[:500,:] yt=yt[:500] from sklearn.svm import SVC clf = SVC(C=1, kernel = 'linear') clf.fit(x,y) from sklearn.metrics import classification_report test_pre = clf.predict(xt) report = classification_report(yt,test_pre) print(report) from keras.optimizers import SGD, RMSprop, Adagrad from keras.utils import np_utils from keras.models import Sequential from keras.layers.core import Dense, Dropout, Activation from keras.layers.embeddings import Embedding from keras.layers.recurrent import LSTM, GRU model = Sequential() model.add(Embedding(len(num_data['id'])+1,256)) model.add(Dense(32, activation='sigmoid', input_dim=100)) model.add(LSTM(128)) model.add(Dense(1)) model.add(Activation('sigmoid')) model.summary() import matplotlib.pyplot as plt import matplotlib.image as mpimg from keras.utils import plot_model plot_model(model,to_file='Lstm2.png',show_shapes=True) ls = mpimg.imread('Lstm2.png') plt.imshow(ls) plt.axis('off') plt.show() model.compile(loss='binary_crossentropy',optimizer='Adam',metrics=["accuracy"]) model.fit(x,y,validation_data=(x,y),epochs=15)

181 浏览量