【Python】机器学习算法对电影进行分类

【Python】机器学习算法对电影进行分类

随着人工智能和机器学习技术的不断进步,它们在各个领域的应用也越来越广泛。其中,电影产业也不例外。本文将使用K近邻算法(KNN)、朴素贝叶斯算法(NB)、支持向量机(SVM)、决策树(DT)和逻辑回归(LR),并利用这些算法对一组电影进行类型预测。

'''
K近邻算法(KNN)
朴素贝叶斯算法(NB)
支持向量机(SVM)
决策树(DT)
逻辑回归(LR)
'''
import pandas as pd
from sklearn import neighbors
from sklearn.naive_bayes import GaussianNB
from sklearn.svm import SVC
from sklearn.tree import DecisionTreeClassifier
from sklearn.linear_model import LogisticRegression

# 训练数据集
films = pd.DataFrame(columns=['id', '打斗场景', '亲吻场景', '电影类型'])
films['id'] = [i for i in range(1,11)]
films['打斗场景'] = [100,123,341,234,124,32,45,62,12,4]
films['亲吻场景'] = [10,31,21,32,2,89,65,55,123,45]
films['电影类型'] = ['武打片','武打片','武打片','武打片','武打片','爱情片','爱情片','爱情片','爱情片','爱情片']
# 预测数据集
test = [[234,56], [67, 94], [125, 100], [20, 10]]

# KNN
knn = neighbors.KNeighborsClassifier()
X = films[['打斗场景', '亲吻场景']].values
Y = films['电影类型'].values
knn.fit(X,Y)
predict = knn.predict(test)
print('KNN预测的电影类型分别为:', predict)
# KNN预测的电影类型分别为: ['武打片' '爱情片' '爱情片' '爱情片']

# NB
nb = GaussianNB()
nb.fit(X,Y)
predict = nb.predict(test)
print('NB预测的电影类型分别为:', predict)
# NB预测的电影类型分别为: ['武打片' '爱情片' '爱情片' '武打片']

# SVM
svm = SVC()
svm.fit(X,Y)
predict = svm.predict(test)
print('SVM预测的电影类型分别为:', predict)
# SVM预测的电影类型分别为: ['武打片' '爱情片' '武打片' '爱情片']

# DT
dt = DecisionTreeClassifier()
dt.fit(X,Y)
predict = dt.predict(test)
print('DT预测的电影类型分别为:', predict)
# DT预测的电影类型分别为: ['武打片' '爱情片' '武打片' '爱情片']

# LR
lr = LogisticRegression()
lr.fit(X,Y)
predict = lr.predict(test)
print('LR预测的电影类型分别为:', predict)
# LR预测的电影类型分别为: ['武打片' '爱情片' '爱情片' '爱情片']
 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

strangequark

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值