python中用支持向量机的方法,依据电影在每一年的得分数据,进行高分和低分的分类 的具体代码
时间: 2024-02-12 08:08:23 浏览: 27
好的,以下是一个简单的代码示例,用于实现基于 SVM 的电影高低分分类:
```python
import pandas as pd
from sklearn import svm
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 读取数据
data = pd.read_csv('movie_scores.csv')
# 将高分标记为1,低分标记为-1
data['score'] = data['score'].apply(lambda x: 1 if x >= 7 else -1)
# 提取特征
data['year_diff'] = data['year'] - 2000
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(data[['year_diff']], data['score'], test_size=0.3, random_state=42)
# 创建 SVM 模型
clf = svm.SVC(kernel='linear', C=0.1)
# 训练模型
clf.fit(X_train, y_train)
# 预测测试集
y_pred = clf.predict(X_test)
# 模型评估
print('Accuracy:', accuracy_score(y_test, y_pred))
```
在该示例代码中,首先读取了包含电影名称、年份和得分的 CSV 文件,并将得分高于等于7分的电影标记为1,低于7分的电影标记为-1。然后,使用年份与2000年的差值作为特征输入到 SVM 模型中进行训练。最后,使用测试集对模型进行评估,计算模型的准确率。