萌新求问用什么做大数据处理比较好 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
amoy
V2EX    问与答

萌新求问用什么做大数据处理比较好

  •  
      amoy 2019-06-19 19:20:52 +08:00 2688 次点击
    这是一个创建于 2316 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景:小学期选的选修课,最后的大作业要做一些基础的大数据处理,比如老师会给一个英文文章摘要的训练集,让我们做分类,然后老师会用测试集去测试我们的结果,按准确率给分。 lz 不是学计算机的,有一个月的时间去做这个,每天至少有一个上午或下午的时间能去自学,求问用什么工具或语言能在一个月类做出比较好的结果,求求大噶指点一下方向。

    19 条回复    2019-07-11 18:47:09 +08:00
    CrabAss
        1
    CrabAss  
       2019-06-19 20:07:47 +08:00
    Anaconda + NumPy + PyTorch
    简单一点的话把 PyTorch 换成 sklearn 也行
    CrabAss
        2
    CrabAss  
       2019-06-19 20:10:33 +08:00
    如果是学生的话可以用 PyCharm Pro 作为 IDE 跟 Anaconda 搭配使用
    CrabAss
        3
    CrabAss  
       2019-06-19 20:14:54 +08:00   1
    如何快速选择合适的 estimator:
    https://scikit-learn.org/stable/_static/ml_map.png
    amoy
        4
    amoy  
    OP
       2019-06-19 20:36:50 +08:00
    我的表述
    @CrabAss 谢谢大佬的指点,因为真的是零基础,所以可能理解有偏差,我的理解是:Anaconda 是 python 的一个工具包,PyCharm Pro 是一个编译环境(刚查的)。先去熟悉 python 然后用 PyCharm Pro 写算法可以调用 Anaconda 的模块来做数据处理。请问大概是这个思路吗?
    amoy
        5
    amoy  
    OP
       2019-06-19 21:04:32 +08:00
    还有就是是否具有通用性?我自己写出来的代码自己运行的结果和最后我发给老师,老师运行的结果和我是否会一致?
    srlp
        6
    srlp  
       2019-06-19 21:14:30 +08:00 via iPhone   1
    1. anaconda 是一个发行版,别的不用管,安装这个完整版,并设置好 path 即可。
    2. pycharm 是开发环境,简单地说是你敲入代码的地方,记事本的超级升级版,非必需。如果你主要是机器学习开发,建议使用 jupyter notebook 来运行,或 /和 vscode 写代码。
    3. 抛弃算法本身的随机性,同一份代码,老师和你运行结果应该相差不大。
    4. 就你的描述而言,应该更偏向“机器习”来形容,而不是“大数据处理”。
    0x000007b
        7
    0x000007b  
       2019-06-19 21:23:41 +08:00 via Android
    Sk learn 掉包侠,可以的
    amoy
        8
    amoy  
    OP
       2019-06-19 21:59:37 +08:00
    @srlp 真的谢谢各位的指导,老师上课只讲了文本自动分类,数据挖掘等入门理论知识,但没有讲实现的相关技术细节,之前只有 C 语言的基础,真的是拿到大作业也没有头绪和方向 /(ㄒoㄒ)/~~
    amoy
        9
    amoy  
    OP
       2019-06-19 22:06:08 +08:00
    我举的那个例子只是大作业其中的一种类型,一共有四类,最后是抽签来决定做哪个。
    还有一个是做数据挖掘的,老师有给医疗保险相关的训练集,找出其中存在医疗诈骗的行为,并可以预测测试集中的诈骗行为。目前只知道这两个题目。
    amoy
        10
    amoy  
    OP
       2019-06-19 22:09:56 +08:00
    有好心的大哥指出更像是机器学习。我自己暂时还不是能理解这些区别,我再去了解一下。
    CrabAss
        11
    CrabAss  
       2019-06-19 23:42:22 +08:00 via Android
    @amoy 你可以把 Anaconda 理解成加强版的 Python 环境,本质还是 Python。NumPy 是用来处理数据的 Python 库,从文件导入的数据必须转换成 NumPy 数组才能被进一步处理。sklearn/PyTorch 是负责机器学习的 Python 库,选择一个 estimator,然后导入数据进行训练,就可以生成一个预测模型。
    CrabAss
        12
    CrabAss  
       2019-06-19 23:49:08 +08:00 via Android
    @amoy 值得一提的是机器学习不等于神经网络,神经网络只是机器学习算法中的一种。如果你不想构建一个复杂的神经网络的话 sklearn 就够用了
    amoy
        13
    amoy  
    OP
       2019-06-20 12:36:12 +08:00
    @CrabAss 多谢兄台不吝赐教
    kcirtap
        14
    kcirtap  
       2019-06-20 18:37:58 +08:00 via iPhone
    这个不叫大数据,更接近机器学习 /自然语言处理。文本聚类的话,传统机器学习的贝叶斯或者深度学习都可以试试,调包就完事了 XD
    amoy
        15
    amoy  
    OP
       2019-06-21 09:56:41 +08:00
    @CrabAss
    大佬,这是我抽到的那个题目,可否帮忙看下之前您讲的那个思路是否还可用。多次叨扰,还请见谅。
    目标:
    建立机器学习模型来判断点播客户端播放过程中是否存在卡顿。
    模型的输入:
    特征:从网络传输过程中获取的各种特征信息。如 rtt-往返时延、rto-超时重传、mdev-网络波动情况、wnd-客户端接收窗口、cwnd-拥塞窗口等(共 35 个特征,必要时需进行特征选择)。
    模型的输出:
    类标:播放中是否卡顿( buffer|卡顿、play|正常播放)。
    模型衡量标准:
    准确率、召回率等指标。

    注:数据集为非平衡数据集,共约 300 万条数据,两类比大致 97:3 ( play:buffer ),可能由于特征不充分,样本存在交叉,较难提升准确率。
    CrabAss
        16
    CrabAss  
       2019-06-21 14:55:31 +08:00   1
    @amoy 可用,你可以重点看一下 3 楼那张图里的 classification 区域里涵盖的那些算法
    CrabAss
        17
    CrabAss  
       2019-06-21 14:58:36 +08:00   1
    @amoy 一个模型的准确率不仅跟选择的算法有关,也和算法参数和输入数据的预处理有关。题里提到了是非平衡数据集,所以要视情况对输入的数据进行筛选和标准化
    amoy
        18
    amoy  
    OP
       2019-07-11 17:54:15 +08:00
    @CrabAss 大佬,我又来打扰您了,我现在做到那个模型评估那里,其中有两个指标
    print('准确率:', accuracy_score(Y_test, y_pred))
    print('精确率:', precision_score(Y_test, y_pred))

    第一条可以运行出来,第二条会报错
    准确率: 0.900968992248062
    F:\anaconda\envs\scikit-learn\lib\site-packages\sklearn\metrics\classification.py:1243: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison
    if pos_label not in present_labels:
    Traceback (most recent call last):
    File "F:/bigdata/scikit-learn/Dataset.py", line 97, in <module>
    print('正确率:', precision_score(Y_test, y_pred))
    File "F:\anaconda\envs\scikit-learn\lib\site-packages\sklearn\metrics\classification.py", line 1569, in precision_score
    sample_weight=sample_weight)
    File "F:\anaconda\envs\scikit-learn\lib\site-packages\sklearn\metrics\classification.py", line 1415, in precision_recall_fscore_support
    pos_label)
    File "F:\anaconda\envs\scikit-learn\lib\site-packages\sklearn\metrics\classification.py", line 1246, in _check_set_wise_labels
    "%r" % (pos_label, present_labels))
    ValueError: pos_label=1 is not a valid label: array(['buffer', 'play'], dtype='<U6')

    进程已结束,退出代码 1
    请问这是为什么?
    amoy
        19
    amoy  
    OP
       2019-07-11 18:47:09 +08:00
    在里面添加一个 average=None 参数就没有报错了,虽然不知其所以然
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2948 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 13:29 PVG 21:29 LAX 06:29 JFK 09:29
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86