好了,接下来我们继续探讨更多的Python应用,主要讨论机器学习和Web开发这两个方向。
五、机器学习入门:使用Scikit-learn进行基础建模
Python的Scikit-learn库是机器学习中最常用的工具之一,它提供了丰富的算法和工具,适用于分类、回归、迭代等各种介绍机器学习任务。下面我们如何使用Scikit-learn进行简单的机器学习建模。
1. 安装Scikit-learn
pip install scikit-learn
2.数据集:使用Iris数据集
Scikit-learn提供了多个示例数据集,最常用的一个是鸢尾花(Iris)数据集。该数据集包含了透明不同类型的鸢尾花的样本数据,包括花萼和花瓣的长度和宽度。
from sklearn.datasets import load_iris
import pandas as pd
# 加载Iris数据集
data = load_iris()
# 将数据转换为DataFrame格式,方便查看
df = pd.DataFrame(data.data, columns=data.feature_names)
df['species'] = pd.Categorical.from_codes(data.target, data.target_names)
# 查看前五行数据
print(df.head())
3. 数据分割:训练集与测试集
通常,我们将数据分为训练集和测试集,用于训练模型和验证模型的表现。Scikit-learn提供了train_test_split函数来进行数据分割。
from sklearn.model_selection import train_test_split
# 数据和标签
X = data.data
y = data.target
# 按80%训练集,20%测试集进行划分
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
print(f"训练集样本数:{len(X_train)},测试集样本数:{len(X_test)}")
4. 训练模型:K近邻分类器(KNN)
K近邻算法(KNN)是一种常见的训练分类算法,我们可以用它来模型并进行预测。
from sklearn.neighbors import KNeighborsClassifier
# 初始化KNN分类器,设置邻居数为3
knn = KNeighborsClassifier(n_neighbors=3)
# 训练模型
knn.fit(X_train, y_train)
# 预测测试集的结果
y_pred = knn.predict(X_test)
# 输出预测结果与实际结果对比
print("预测结果:", y_pred)
print("实际结果:", y_test)
5. 模型评估:准确率
评估模型的性能是机器学习的关键步骤。我们可以通过准确率来评估分类模型的好坏。
from sklearn.metrics import accuracy_score
# 计算模型准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"模型准确率:{accuracy * 100:.2f}%")
6.进一步探索:调参与交叉验证
机器学习模型通常可以通过调整超参数来优化其性能。Scikit-learn还提供了交叉验证(cross-validation)功能来帮助选择最优的参数。
from sklearn.model_selection import cross_val_score
# 通过交叉验证评估KNN模型的表现
cv_scores = cross_val_score(knn, X, y, cv=5)
print(f"交叉验证的准确率:{cv_scores}")
print(f"平均准确率:{cv_scores.mean() * 100:.2f}%")
六、Web开发:Flask框架入门
Python不仅在数据科学和机器学习领域表现出色,在Web开发方面也有广泛的应用。Flask是一个轻量级的Web框架,它非常适合小型应用和快速创建原型开发。接下来,我们介绍如何使用Flask创建一个简单的Web应用。
1. 安装Flask
首先,安装Flask:
pip install Flask
2.创建Flask应用
Flask非常简单,创建一个应用程序只需要几行代码。我们创建一个简单的Web应用,响应用户的请求并返回“Hello, World!”。
from flask import Flask
# 创建Flask应用
app = Flask(__name__)
# 定义路由,响应根路径请求
@app.route('/')
def hello_world():
return "Hello, World!"
# 启动应用
if __name__ == '__main__':
app.run(debug=True)
运行该代码后,Flask 会启动一个本地服务器(通常在http://127.0.0.1:5000/),你可以通过浏览器访问,看到页面显示“Hello, World!”。
3.使用HTML模板渲染页面
Flask支持HTML模板的渲染,通常会不用Jinja2模板引擎。我们可以在Flask应用中使用模板来动态生成HTML页面。
首先,创建一个templates文件夹,并在其中创建一个HTML文件:
<!-- templates/index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Hello Flask</title>
</head>
<body>
<h1>Hello, {{ name }}!</h1>
</body>
</html>
然后,修改Flask应用,使用render_template渲染这个HTML模板。
from flask import render_template
@app.route('/hello/<name>')
def hello(name):
return render_template('index.html', name=name)
当您访问http://127.0.0.1:5000/hello/John时,浏览器将显示“Hello, John!”。
4. 处理表单数据
Flask还可以处理来自用户表单的数据。例如,我们可以创建一个简单的表单,用户输入姓名后提交,Flask显示一个欢迎消息。
首先,在templates文件夹中创建一个HTML表单:
<!-- templates/form.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Flask Form</title>
</head>
<body>
<form method="POST">
<label for="name">请输入姓名:</label>
<input type="text" id="name" name="name">
<button type="submit">提交</button>
</form>
</body>
</html>
然后在Flask应用中处理POST请求:
from flask import request
@app.route('/form', methods=['GET', 'POST'])
def form():
if request.method == 'POST':
name = request.form['name']
return f"你好,{name}!"
return render_template('form.html')
当你访问http://127.0.0.1:5000/form时,会显示一个输入框,用户输入姓名后提交,Flask 会返回“你好,{name}!”。
七、总结与展望
其中,我们已经了解了Python在以下几个领域的应用:
- 机器学习:使用
Scikit-learn库进行基础的机器学习建模训练,包括数据集的加载、模型与评估。 - Web开发:使用
Flask框架简单创建Web应用,展示如何通过Flask处理路由、渲染模板以及处理表单数据。
Python是一门非常多才多艺的,不仅在数据科学、机器学习和网络开发等领域语言表现出色,而且在自动化脚本、网络爬虫、游戏开发等方面都有广泛的应用。未来,随着你对Python的深入学习,你将能够掌握更高级的技术,如编程、全局系统、深度学习等。
希望你继续保持学习热情,深入探索Python的更多应用!
955

被折叠的 条评论
为什么被折叠?



