数据分析与数据挖掘--HelloWorld

(1)数据集分析

      以sklearn库自带的数据集iris为例做一个数据分析与挖掘的helloworld程序。

iris数据集是Anderson’s Iris data set——安德森鸢尾花卉数据集。   可以通过Python查看数据集的信息。代码如下:

      from sklearnimport datasets

      dataset =datasets.load_iris()

      print(type(dataset)

      print(dataset.keys())

      print(dataset.target_names)

      print(dataset.feature_names)

      print(dataset.DESC)

运行结果

       从输出的结果看,load_iris返回的数据类型是sklean.utils.Bunch.字典的关键字有: 数据、描述、特征名称、文件名、结果集、结果名字。

       结果名称包含setosa, versicolor, virginica, 也就是山鸢尾、变色鸢尾还是维吉尼亚鸢尾(这三个名词都是花的品种)。

       数据特征名称(列名): sepal lengh(cm), sepal width(cm), petallength(cm), petal width(cm)。分别对应是花萼长度、花萼宽度、花瓣长度、花瓣宽度四个特征。

        在数据说明中,iris包含150个样本,每种花是50个, 以及数据集的其他信息。

(2)模型选择

        在iris数据集上将要进行数据分类实验。对于每一个样本有对应的人工标签分类,因此应该采用监督学习的方法。分类模型包含支持向量机、Knn算法和决策树算法等。

在这里我们使用的是支持向量机算法,

其代码结构如下

from sklearn import datasets

from sklearn import model_selection


dataset=datasets.load_iris() #load the datasets


data=pd.DataFrame(dataset.data,columns=dataset.feature_names) //change to padas DataFrame data structure.

target=dataset.target //results of each samples


x_train, x_test,y_train,y_test=model_selection.train_test_split(data, target, random_state=1,test_size=0.2) //datasets are divided into two part: training set and test set.


from sklearn import svm

supportV=svm.SVC(gamma='scale')  //support vector.

supportV.fit(x_train,y_train)

y_predict=supportV.predict(x_test)

print(y_predict)


基本过程:

(1)加载数据集,进行数据转化;

(2)数据集分割成测试集与验证集;

(3)选择模型算法。


(3)模型评价系统

      对于算法的评价,采用sklearn提供算法评价函数以及MSE函数。

from sklearn import metrics

print("SVC MSE:",metrics.mean_squared_error(y_test,y_predict))

print("SVC RMSE:",np.sqrt(metrics.mean_squared_error(y_test, y_predict)))

print('SVC:score(train):',supportV.score(x_train,y_train))

print('SVC:score(test):', supportV.score(x_test, y_test))

            在本次hello world程序中,只是初步了解数据分析和数据挖掘的一个简单程序,省略了数据探索、数据预处理、多个模型比较评价以及交叉验证等步骤。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容