m0_63533842 2023-01-04 20:38 采纳率: 100%
浏览 27
已结题

机器学习有关特征处理的问题

刚接触机器学习,想问下对于预测一个应用的评分问题(0或者1),想用逻辑回归模型,但是模型准确度一直不高。有几个特征不知道怎么处理,一个是应用的评论数量,小的有个位数大的有几十万;一个是应用的大小,有几百k的也有几十M的;还有一个是应用的安装次数,小的有几十次大的有几千万。对于这种量级差别特别大的数字一般该怎么处理能提高准确度呀?或者有没有可能可行的方案我先去试试,谢谢!
还有就是一般f1score达到多少就算一个不错的模型了呢?

  • 写回答

3条回答 默认 最新

  • ??^0^???? 2023-01-04 22:01
    关注

    当数据特征的量级差别很大的时候,通常会使用归一化来解决这个问题。归一化的方法有很多,比如将数值缩放到固定范围内,比如 [-1, 1];或者将数值缩放到 [0, 1] 区间内。这种方法可以让所有的特征在相同的尺度下处理,从而解决数据的量级差别的问题。
    Python中的sklearn 库的 preprocessing 模块提供了很多常用的数据预处理方法,包括归一化的方法。你可以使用 sklearn.preprocessing.MinMaxScaler 方法进行归一化,这个方法可以将数据缩放到固定范围内,例如 [0, 1]。

    具体使用方法如下:
    from sklearn.preprocessing import MinMaxScaler
    scaler = MinMaxScaler()
    X_scaled = scaler.fit_transform(X)

    得到的X_scaled 是一个归一化后的数据矩阵,你可以使用这个数据矩阵来训练逻辑回归模型。当然,在实际应用中,你还需要关注模型的超参数调优、特征工程等方面,才能使模型的表现得到进一步提升。

    对于 F1 Score,通常会根据具体的应用场景来确定合理的 F1 Score 值。一般来说,F1 Score 在 0.5~0.7 之间的模型就比较优秀了。但是,F1 Score 是一种平衡精确率和召回率的指标,在实际应用中,精确率和召回率的权衡是需要根据具体场景来决定的。因此,有时候 F1 Score 不够高,但是精确率或召回率较高的模型也是可以被接受的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月25日
  • 已采纳回答 3月17日
  • 创建了问题 1月4日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分