找回密码
 加入怎通
查看: 177|回复: 0

长尾词挖掘-如何在百万级的数据里找到别人正在赚钱的项目_查询1000条数据

[复制链接]
我来看看 发表于 2023-03-25 09:54:38 | 显示全部楼层 |阅读模式
% G9 Y. _% f5 g' J" u$ B( I/ _

长尾词挖掘思路来源:君言:如何在百万级的数据里找到别人正在赚钱的项目5290 赞同 · 236 评论文章

6 m1 q. b2 E8 p- ?5 F6 T

作为一名菜鸟算法工程师对里面的数据分析思路很感兴趣,趁着周末就实操了一遍期望也能挖掘点赚钱的项目,主要代码如下:importnumpyasnpfromnumpy.randomimportpermutation

5 ~" J5 c: t% Y; ]

importpandasaspdimportsklearnassklearnimportmatplotlib.pyplotaspltfromsklearn.feature_extraction.text

! {( k: \# k7 p1 L5 B; z* y+ x* O

importCountVectorizerfromsklearn.feature_extraction.textimportTfidfVectorizerimportjiebafromdatetimeimport

& e) N: {9 D8 \ F% {- J/ F! I1 L

datetime,date,timedeltaimportpickleimportsysimportosimportwarningswarnings.filterwarnings(ignore)%matplotlib

% n- t$ B% E# g

inlinepd.set_option(display.max_columns,None)pd.set_option(display.float_format,lambdax:%.6f%x)plt.rcParams

+ q1 H: N1 u" d+ L! g3 u

[font.sans-serif]=[SimHei]plt.rcParams[axes.unicode_minus]=False导入停用词停用词库来源:(https://github.com/goto456/stop

# D1 h9 f/ G: ]; J4 M) Q# H M5 n& b

words)stop_words_df=pd.read_csv(baidu_stopwords.csv)stop_words_df.head()导入从5118下载的怎么长尾词(需要开通VIP才能下载)长尾关键词挖掘_关键词挖掘工具_关键词查询 - 5118营销大数据

- q6 P+ g% x) H; e& f: C* T7 s

​ci.5118.com/?promote=pp2020how_df=pd.read_csv(怎么长尾词_1602384585.csv,encoding="gbk")how_df.info()

/ O' c! | C9 [8 j# a6 y

pandas.core.frame.DataFrame>RangeIndex:500000entries,0to499999Datacolumns(total12columns):关键词500000non

. R w$ \# x. W7 @6 ]6 @

-nullobject长尾词数量500000non-nullint64搜索结果500000non-nullobjectSEM点击价格(SVIP特权数据)0non-nullfloat64流量特点(SVIP特权数据

/ F a0 Y& G0 [' J3 J

)0non-nullfloat64流量指数(VIP特权数据)500000non-nullint64移动指数(VIP特权数据)500000non-nullobject360指数(VIP特权数据)500000

7 R7 J4 J: [) X7 X; q, A" m* n

non-nullobject竞价公司数量(VIP特权数据)500000non-nullobjectPC日检索量(VIP特权数据)500000non-nullobject移动日检索量(VIP特权数据)500000

# [3 m1 c& {3 s% `6 [; g

non-nullobject竞价竞争激烈程度(VIP特权数据)500000non-nullobjectdtypes:float64(2),int64(2),object(8)memoryusage:45.8

7 [. S: m" `3 M" v3 [

+MBhow_df.head()

% q4 x3 i( \! i5 `. e$ \9 \

5118导出的长尾词去除长度少于5和超过20的关键词words_df=how_df[(how_df[关键词].str.len()>5)&(how_df[关键词].str.len()<20)][[关键词]]

$ @" {. e1 b" Q) x

words_df.head()

3 s+ {3 c e k5 s1 Y( A9 l

长尾词示例words_df[wlen]=words_df[关键词].str.len()words_df.columns=[words,wlen]words_df.head()

+ g) z) _5 `' l; M* O* Z

使用jieba分词统计词频jieba官网:(https://github.com/fxsjy/jieba)importpdbdefcalc_word_freq(words,words_freq_dict

9 Y; D% `- c; g1 x+ L* t Q

,stop_words_set):

7 J/ U! u" L8 E7 I: j" z; r

训练模型用于统计词频和进行相似度计算words_df.head()

) H2 {! n% [' L: w T5 Y

分词示例# 训练模型长尾词分类fromsklearn.clusterimportKMeansimporttimeit# 假设分为100个类别# 无监督方法分类执行速度Mac 8G内存,50w个词7分钟跑完,看上去速度还行

- |0 {+ I8 {+ a( l

预测长尾词类别words_df[words_class]=kmeans.predict(cv_vec)输出每个分类的长尾词库foriinrange(1,101):words_df[words_df.words_class

7 w8 }( R2 @7 t% o

==i][[words]].sort_values(by=words).to_csv(class_+str(i)+.csv,index=None,columns=[words])class_1=pd.read_csv

6 m# Q8 W! W& r6 \- [+ K

(class_36.csv)class_1.head(10)

" V/ S. u, l! o0 q4 u% |) c

长尾词分类示例看上去分类结果还可以。

, E) m6 Q0 g% F( h& D; B# Q5 G 4 ?8 C5 o% r; G R- W) i4 f4 ^ 9 k, y& T; Y( [8 t- L0 Q* N- N5 p: G / B/ z8 N5 K9 m8 m Q! E0 @- G! h: w& U% ~* h" f9 V
回复

使用道具 举报

    您需要登录后才可以回帖 登录 | 加入怎通

    本版积分规则

    QQ|手机版|小黑屋|网站地图|真牛社区 ( 苏ICP备2023040716号-2 )

    GMT+8, 2026-4-3 23:29 , Processed in 0.051356 second(s), 23 queries , Gzip On.

    免责声明:本站信息来自互联网,本站不对其内容真实性负责,如有侵权等情况请联系420897364#qq.com(把#换成@)删除。

    Powered by Discuz! X3.5

    快速回复 返回顶部 返回列表