Differences between revisions 1 and 3 (spanning 2 versions)
Revision 1 as of 2023-04-28 02:05:03
Size: 2312
Editor: najizhu
Comment:
Revision 3 as of 2023-04-28 07:43:58
Size: 2312
Editor: najizhu
Comment:
No differences found!

import pptx from pptx.util import Inches from tkinter import * import pandas as pd from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import train_test_split

# 创建一个数据集用于记录用户反馈 dataset = pd.DataFrame(columns=['Title', 'Subtitle', 'Bullet1', 'Bullet2', 'Feedback'])

# 创建PPT文件 prs = pptx.Presentation() title_slide_layout = prs.slide_layouts[0] slide = prs.slides.add_slide(title_slide_layout) title = slide.shapes.title subtitle = slide.placeholders[1] title.text = "My PPT" subtitle.text = "Subtitle"

# 添加文本框和图片 bullet_slide_layout = prs.slide_layouts[1] slide = prs.slides.add_slide(bullet_slide_layout) shapes = slide.shapes

title_shape = shapes.title body_shape = shapes.placeholders[1]

title_shape.text = 'Bullet Slide'

tf = body_shape.text_frame tf.text = 'Bullet List'

p = tf.add_paragraph() p.text = 'Bullet 1' p.level = 1

p = tf.add_paragraph() p.text = 'Bullet 2' p.level = 2

img_path = 'image.jpg' left = top = Inches(1) pic = slide.shapes.add_picture(img_path, left, top)

# 设计交互界面 def create_ppt():

  • # 获取用户输入的PPT标题和文本 title_text = title_entry.get() subtitle_text = subtitle_entry.get() bullet1_text = bullet1_entry.get() bullet2_text = bullet2_entry.get() # 更新PPT文件 title.text = title_text subtitle.text = subtitle_text tf.paragraphs[0].text = bullet1_text tf.paragraphs[1].text = bullet2_text # 记录用户反馈 feedback = feedback_var.get() dataset.loc[len(dataset)] = [title_text, subtitle_text, bullet1_text, bullet2_text, feedback] # 保存PPT文件 prs.save('my_ppt.pptx')

# 训练模型 def train_model():

  • # 获取数据集中的特征和标签 X = dataset.drop(['Feedback'], axis=1) y = dataset['Feedback'] # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 创建决策树分类器并训练模型

    clf = DecisionTreeClassifier() clf.fit(X_train, y_train) # 计算模型在测试集上的准确率 accuracy = clf.score(X_test, y_test) accuracy_label.config(text="模型准确率:{:.2f}%".format