作家
登录

如何在你的iPhone上建立第一个机器学习模型

作者: 来源: 2017-10-13 17:05:39 阅读 我要评论

  • //Get prediction on the text  
  • let prediction = try SpamMessageClassifier().prediction(message: vec).spam_or_not  
  • print (prediction)  
  • if (prediction == "spam"){  
  • spamLabel.text = "SPAM!" 
  •   
  • else if(prediction == "ham"){  
  • spamLabel.text = "NOT SPAM"  
  •  
  •  
  • catch{  
  • spamLabel.text = "No Prediction"  
  • 以上代码检查取户是否向框内输入了任何信息。如不雅有,调用tfidf()函数计算文本的tfidf值。然后生成一个SpamMessageClassifier 对象实例,再调用.prediction() 函数。这与sklearn中的 .predict() 函数雷同。然后基于猜测展示恰当的信息。

    但为什么须要tfidf()?

    记住我们基于文本的tf-idf表征来练习模型,是以我们的模型须要雷同情势的输入。一旦获得键入的文本框的信息,就调入tfidf()函数来做同样的事。来写这一步的代码吧,复制下列代码放在predictSpam()函数后:

    1. //MARK: Functionality code  
    2. func tfidf(sms: String) -> MLMultiArray{  
    3. //get path for files  
    4. let wordsFile = Bundle.main.path(forResource: "wordlist", ofType: "txt" 
    5. let smsFile = Bundle.main.path(forResource: "SMSSpamCollection", ofType: "txt" 
    6. do {  
    7. //read words file  
    8. let wordsFileText = try String(contentsOfFile: wordsFile!, encoding: String.Encoding.utf8)  
    9. var wordsData = wordsFileText.components(separatedBy: .newlines)  
    10. wordsData.removeLast() // Trailing newline.  
    11. //read spam collection file  
    12. let smsFileText = try String(contentsOfFile: smsFile!, encoding: String.Encoding.utf8)  
    13. var smsData = smsFileText.components(separatedBy: .newlines)  
    14. smsData.removeLast() // Trailing newline.  
    15. let wordsInMessage = sms.split(separator: " "
    16.  //create a multi-dimensional array  
    17. let vectorized = try MLMultiArray(shape: [NSNumber(integerLiteral: wordsData.count)], dataType: MLMultiArrayDataType.double 
    18. for i in 0..  
    19. let word = wordsData[i] 

        推荐阅读

        告诉你安全领域 云计算“做得了”和“做不了”的事

      如今的┞封个IT时代,有一些用户对于安然问题并不是太关怀,切实其实,安排安然办法并不克不及带来营业的增长,只能是当做对于营业风险的防备,为了防止出问题才必不得已去应用。很多的企>>>详细阅读


      本文标题:如何在你的iPhone上建立第一个机器学习模型

      地址:http://www.17bianji.com/lsqh/37900.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)