2小时入门Python:带你体验编程的乐趣(四)

好了,接下来我们继续探讨更多的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在以下几个领域的应用:

  1. 机器学习:使用Scikit-learn库进行基础的机器学习建模训练,包括数据集的加载、模型与评估。
  2. Web开发:使用Flask框架简单创建Web应用,展示如何通过Flask处理路由、渲染模板以及处理表单数据。

Python是一门非常多才多艺的,不仅在数据科学、机器学习和网络开发等领域语言表现出色,而且在自动化脚本、网络爬虫、游戏开发等方面都有广泛的应用。未来,随着你对Python的深入学习,你将能够掌握更高级的技术,如编程、全局系统、深度学习等。

希望你继续保持学习热情,深入探索Python的更多应用!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值