楼主: 时光永痕
1274 0

[数据挖掘新闻] 使用Scala编写CSV文件并使用它创建机器学习模型 [推广有奖]

  • 0关注
  • 14粉丝

svip3

学术权威

12%

(VIP/贵宾)三级

55%

威望
0
论坛币
26 个
通用积分
49.7576
学术水平
4 点
热心指数
4 点
信用等级
4 点
经验
34070 点
帖子
2731
精华
0
在线时间
316 小时
注册时间
2020-7-21
最后登录
2024-4-28

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
使用Scala编写CSV文件并使用它创建机器学习模型
确实,Scala很难学习,但是值得努力。Scala具有更简单的语法,并且更具表现力。Scala代码比Java的代码简洁得多,工程师可以编写简短而富有表现力的代码,同时使其成为类型安全且高性能的应用程序,这被认为是有价值的。
在我作为大学项目完成的这个项目中,我们将看到如何使用Scala在.csv文件中进行编写,然后将其用于创建基本的水果检测机器学习模型。
数据集
我们将使用的数据集可以在这里找到。
数据集包含4种水果-苹果,普通话,橘子和柠檬。我们将
仅根据给定的高度,宽度,质量和颜色得分对它们进行分类。
CSV Scala-数据
尽管我们的数据集已经清理过,但如果您希望使用其他数据集,请确保在训练模型时使用python或其他任何方式清理和预处理数据,以最大程度地利用数据。
写入CSV文件
为了编写CSV文件,我们将使用Scala的BufferedWriter,
FileWriter和csvWriter。
写入CSV文件
我们需要导入上述所有文件,然后再确定路径并为文件指定列标题。
导入以上文件
我们将几行数据作为训练数据集的输入,并用于编写CSV文件。
1. val out = new BufferedWriter(new FileWriter(“ D:/Academic/Assignments/Scala/Fruits.csv”))//此行将在上述目录中找到文件
2.  val writer = new CSVWriter(out) / /这将为我们的文件
3创建一个csvWriter对象。val FruitSchema = Array(“ fruit_label”,“ fruit_name”,“ fruit_subtype”,“ mass”,“ width”,“ height”,“ color_score”) //这些是架构csv文件的/ headings
然后,根据架构计划,创建数据集的数组。
数据集数组
要将这些数据写入csv文件,我们需要添加以下代码段,
记录清单
1. var listOfRecords = List() //创建一个保存我们数据的列表
2. writer.writeAll(listOfRecords) //将我们的数据添加到csv文件中
3. out.close()//关闭文件
ew,我们说对了,
CSV Scala
使用随机数据创建文件
我们已经使用Scala创建了CSV文件。虽然,还有另一种方法可以执行此操作,即使用范围然后可以将其转换为列表来随机生成数据。
首先,我们导入所有必需的库。
CSV Scala
然后,我们现在将创建列表和范围,其中将包含我们在CSV文件中所需的数据。
CSV Scala
1. val widthList = Range.BigDecimal(5.8
2. val random = new Random() //此函数用于随机生成数据
现在,我们将所有这些数据放入CSV文件中
1.  var listOfRecords = new ListBuffer [Array [String]]()//此缓冲区保存我们的所有数据
2.  listOfRecords + = csvFields  //这会添加我们的架构/标题
3. for(i <-1至50){  listOfRecords + = Array(i.toString,nameList(random.nextInt(nameList.length)),massList(random.nextInt(massList.length))。toString(),widthList(random.nextInt(widthList.length))。toString() ,heightList(random.nextInt(heightList.length))。toString(),colorList(random.nextInt(colorList.length))。toString())} / /将数据添加到缓冲区的循环
数据
我在excel中使用了Vlookup函数来添加水果标签。
这段代码纯粹是随机生成数据的,因此在使用它之前我们需要非常小心。
创建机器学习模型
为了构建模型,我们将使用python的Jupyter IDE。
我在第一个CSV文件中添加了几行数据,以获得更准确的结果。
让我们开始,通过导入所需的库。
CSV Scala-导入
现在,最好将所有CSV文件和python文件都放在同一个文件夹中,以便我们轻松编码和组织代码以及python查找文件。现在,我们将读取CSV文件。
导入-CSV Scala
我们还可以使用seaborn的python库可视化数据,以更好地理解数据。我暂时已经跳过了。
让我们将数据分为训练和测试数据,
CSV Scala-拆分数据
拆分数据后,让我们检查一下可以使用的模型,我首先尝试使用决策树,因为我们的数据相对较少
CSV Scala-决策树
但是,我们可以清楚地看到此模型过度拟合,因此我们拒绝了。现在,让我们检查一下K最近邻居,
CSV Scala-KNN分类器
我们可以看到训练和测试集的准确性都非常好,因此我们可以使用此模型,因为它既不会过度拟合,也不会拟合不足。
让我们将数据拟合到KNN模型中,并检查最佳邻居值。
CSV Scala-模型评估
找到理想值之后,让我们看看模型的预测得分,
模型评估
这不是最好的,但是因为我们为该项目获取了一个小的数据集,所以这非常好,现在,我们将最终绘制项目的决策边界。
Python代码
支持向量机
并且,我们完成了!
结论
现在,我们已经了解了如何使用Scala和机器学习的基础知识来创建CSV文件!
题库
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:SCALA 机器学习 assignments assignment Academic

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-30 23:13