Python数据集预测

进行数据挖掘预测设计实验,数据集预测出现问题,不明白怎么回事,也不知道怎么改,求解决

img

你把报错发给我看看

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7622817
  • 这篇博客也不错, 你可以看下【Python数据预处理】 归一化(按列减均值,除方差),标准化(按列缩放到指定范围),正则化(范数)
  • 除此之外, 这篇博客: Python实现音乐推荐系统【跟着迪哥学python】中的 取其中一部分数(按大小排好序的了,这些应该是比较重要的数据),作为我们的实验数据 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • #10W名用户的播放量占总体的比例
    total_play_count = sum(song_count_df.play_count)
    print ((float(play_count_df.head(n=100000).play_count.sum())/total_play_count)*100)
    play_count_subset = play_count_df.head(n=100000)
    
    40.8807280500655
    
    (float(song_count_df.head(n=30000).play_count.sum())/total_play_count)*100
    
    78.39315366645269
    
    song_count_subset = song_count_df.head(n=30000)
    

    前3W首歌的播放量占到了总体的78.39%
    现在已经有了这10W名忠实用户和3W首经典歌曲,接下来我们就要对原始数据集进行过滤清洗,说白了就是在原始数据集中剔除掉不包含这些用户以及歌曲的数据。

    取10W个用户,3W首歌

    user_subset = list(play_count_subset.user)
    song_subset = list(song_count_subset.song)
    

    过滤掉其他用户数据

    #读取原始数据集
    triplet_dataset = pd.read_csv(filepath_or_buffer=data_home+'train_triplets.txt',sep='\t', 
                                  header=None, names=['user','song','play_count'])
    #只保留有这10W名用户的数据,其余过滤掉
    triplet_dataset_sub = triplet_dataset[triplet_dataset.user.isin(user_subset) ]
    del(triplet_dataset)
    #只保留有这3W首歌曲的数据,其余也过滤掉
    triplet_dataset_sub_song = triplet_dataset_sub[triplet_dataset_sub.song.isin(song_subset)]
    del(triplet_dataset_sub)
    
    triplet_dataset_sub_song.to_csv(path_or_buf=data_home+'triplet_dataset_sub_song.csv', index=False)
    

    当前我们的数据量

    triplet_dataset_sub_song.shape
    
    (10774558, 3)
    

    数据样本个数此时只有原来的1/4不到,但是我们过滤掉的样本都是稀疏数据不利于建模,所以当拿到了数据之后对数据进行清洗和预处理工作还是非常有必要的,不单单提升计算的速度,还会影响最终的结果。

    triplet_dataset_sub_song.head(n=10)
    
    usersongplay_count
    498d6589314c0a9bcbca4fee0c93b14bc402363afeaSOADQPP12A67020C8212
    499d6589314c0a9bcbca4fee0c93b14bc402363afeaSOAFTRR12AF72A8D4D1
    500d6589314c0a9bcbca4fee0c93b14bc402363afeaSOANQFY12AB01832391
    501d6589314c0a9bcbca4fee0c93b14bc402363afeaSOAYATB12A6701FD501
    502d6589314c0a9bcbca4fee0c93b14bc402363afeaSOBOAFP12A8C131F367
    503d6589314c0a9bcbca4fee0c93b14bc402363afeaSOBONKR12A58A7A7E026
    504d6589314c0a9bcbca4fee0c93b14bc402363afeaSOBZZDU12A6310D8A37
    505d6589314c0a9bcbca4fee0c93b14bc402363afeaSOCAHRT12A8C13A1A45
    506d6589314c0a9bcbca4fee0c93b14bc402363afeaSODASIJ12A6D4F5D891
    507d6589314c0a9bcbca4fee0c93b14bc402363afeaSODEAWL12AB01870328
  • 您还可以看一下 刘顺祥老师的Python数据分析与挖掘课程中的 如何预测糖尿病治疗的效果?小节, 巩固相关知识点

看看你的数据集里面是否有sample列,是不是列名写错了。
或者数据加载有问题。