大家好,欢迎来到IT知识分享网。
目录
一、Scikit是什么?
Scikit就是scikit-learn,是一个免费软件机器学习库。
https://scikit-learn.org/stable/https://scikit-learn.org/stable/
- 用于预测数据分析的简单高效的工具
- 每个人都可以访问,并可在各种环境中重复使用
- 基于NumPy、SciPy和matplotlib构建
- 开放源代码,商业可用-BSD许可证
二、用Scikit做一个简单房价预测例子
import numpy as np import pandas as pd from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error import matplotlib.pyplot as plt import matplotlib # 设置默认字体为中文字体,如黑体 matplotlib.rcParams['font.family'] = 'SimHei' # 假设的数据集 data = { '面积': [80, 100, 120, 140, 160], '卧室数量': [2, 3, 3, 4, 4], '楼层': [5, 10, 15, 20, 25], '房价(万元)': [50, 60, 70, 80, 90] } df = pd.DataFrame(data) # 划分数据集 X = df[['面积', '卧室数量', '楼层']] y = df['房价(万元)'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 训练模型 model = LinearRegression() model.fit(X_train, y_train) # 预测测试集 y_pred = model.predict(X_test) # 评估模型 mse = mean_squared_error(y_test, y_pred) # 打印均方误差 print(f"Mean Squared Error: {mse}") # 绘制训练数据散点图 plt.scatter(X_train['面积'], y_train, color='blue', label='Training Data') # 绘制测试数据散点图 plt.scatter(X_test['面积'], y_test, color='red', label='Test Data') # 绘制预测线 plt.plot(X_test['面积'], y_pred, color='green', label='Predictions', linewidth=5) # 添加图例和标题 plt.legend() plt.title('XX城市房价预测模型') plt.xlabel('面积') plt.ylabel('房价(万元)') # 预测新数据 new_data = [[150, 4, 22]] predicted_price = model.predict(new_data) print(f"预测新数据(面积150平米,4个卧室,22楼)的房价: {predicted_price[0]}") plt.scatter(new_data[0][0], predicted_price[0], color='yellow', label='预测数据') new_data = [[120, 3, 22]] predicted_price = model.predict(new_data) print(f"预测新数据(面积120平米,3个卧室,22楼)的房价: {predicted_price[0]}") plt.scatter(new_data[0][0], predicted_price[0], color='yellow', label='预测数据') new_data = [[80, 3, 22]] predicted_price = model.predict(new_data) print(f"预测新数据(面积80平米,2个卧室,22楼)的房价: {predicted_price[0]}") plt.scatter(new_data[0][0], predicted_price[0], color='yellow', label='预测数据') # 显示图表 plt.show()
三、sklearn知识点
sklearn
包含了各种分类、回归、聚类算法,并且接口统一,使用方便,是机器学习领域非常受欢迎的库之一。主要功能:
- 分类(Classification):
sklearn
提供了多种分类算法,如逻辑回归(Logistic Regression)、支持向量机(Support Vector Machines, SVM)、决策树(Decision Trees)、随机森林(Random Forests)、梯度提升(Gradient Boosting)等,用于解决分类问题。 - 回归(Regression):对于预测连续值的问题,
sklearn
提供了线性回归(Linear Regression)、岭回归(Ridge Regression)、套索回归(Lasso Regression)等回归算法。 - 聚类(Clustering):
sklearn
包含K-均值(K-Means)、层次聚类(Hierarchical Clustering)、DBSCAN等聚类算法,用于发现数据中的结构或组。 - 降维(Dimensionality Reduction):通过主成分分析(Principal Component Analysis, PCA)、t-SNE(t-Distributed Stochastic Neighbor Embedding)等方法,
sklearn
可以帮助减少数据集的维度,以便于可视化或提高算法效率。 - 模型选择和评估(Model Selection and Evaluation):
sklearn
提供了交叉验证(Cross-validation)、网格搜索(Grid Search)等工具,用于评估和调整模型性能,选择最佳参数。 - 预处理(Preprocessing):包括数据标准化(Standardization)、归一化(Normalization)、编码(Encoding,如独热编码One-Hot Encoding)等,以便机器学习算法能够更有效地工作。
- 特征提取(Feature Extraction):
sklearn
可以从原始数据中提取有用的特征,例如文本数据的词袋模型(Bag of Words)、TF-IDF(Term Frequency-Inverse Document Frequency)等。 - 数据可视化(Data Visualization):虽然
scikit-learn
本身不是专门的数据可视化库,但它与matplotlib
、seaborn
等可视化库可以很好地配合,用于展示数据和模型结果。
总的来说,scikit-learn
是一个非常全面且强大的机器学习库,适用于各种规模和复杂度的数据科学项目。
数据分析,智慧之源。用数据说话,让我们一起洞悉规律,发现机遇。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/122425.html