使用Spark解决机器学习的复杂案例加代码
时间: 2025-01-02 07:45:53 浏览: 4
Apache Spark是一个强大的开源大数据处理框架,特别适合大规模数据处理和机器学习任务。它支持并行计算,使得处理复杂的数据集变得更加高效。对于机器学习的复杂案例,例如深度学习模型训练,可以借助Spark MLlib库,这个库包含了各种预先实现的机器学习算法,如线性回归、决策树、随机森林、SVM等。
以下是一个简单的例子,展示了如何使用Spark MLlib进行文本分类(比如情感分析):
```python
from pyspark.ml.feature import Tokenizer, CountVectorizer
from pyspark.ml.classification import LogisticRegression
from pyspark.sql import SparkSession
# 创建SparkSession
spark = SparkSession.builder.appName("TextClassification").getOrCreate()
# 假设我们有一个DataFrame,名为"sentences", 包含两列:text(文本内容)和label(标签)
data = spark.read.format("csv").option("header", "true").load("your_data.csv")
# 数据预处理:分词和转换为向量表示
tokenizer = Tokenizer(inputCol="text", outputCol="words")
wordsData = tokenizer.transform(data)
vectorizer = CountVectorizer(inputCol="words", outputCol="features")
featuresData = vectorizer.fit(wordsData).transform(wordsData)
# 划分训练集和测试集
train_data, test_data = featuresData.randomSplit([0.7, 0.3])
# 模型训练
lr = LogisticRegression(featuresCol="features", labelCol="label")
lr_model = lr.fit(train_data)
# 预测和评估
predictions = lr_model.transform(test_data)
accuracy = predictions.filter(predictions["prediction"] == predictions["label"]).count() / test_data.count()
print(f"Accuracy: {accuracy}")
#
阅读全文